From: Alexey Gladkov <legion@kernel.org>
To: make-initrd@lists.altlinux.org
Subject: Re: [make-initrd] I: ncurses experiment
Date: Sat, 17 Oct 2026 11:57:07 +0200
Message-ID: <atNGc-YxWYVCAb29@example.org> (raw)
In-Reply-To: <cb6c58f9-ce20-47af-a6be-7d56eb8389a9@gmail.com>
On Sat, Oct 17, 2026 at 01:22:06AM +0300, Leonid Krivoshein wrote:
> > Я несколько продвинулся в этом эксперименте. Я сделал плагины, чтобы
> > создавать достаточно сложные интерфейсы. Теперь у меня есть аналог
> > dialog(1) для некоторой совместимости.
> >
> > Я надеюсь попробовать сделать фичу для вывода диалогов через plainmouth.
> > Надеюсь найду время.
> >
>
> Пока в Сизиф не опакечено и нет примера-фичи, не очень понятно. По
> документации юскейс тоже не очень понятен. Сложно представить себе
> несогласованные скрипты из разных фич make-initrd, выводящие разные диалоги
> на единственный терминал, с нагромождением которых придётся разбираться
> пользователю.
Да, я знаю, что ты не понимаешь моей задумки :) Я написал для самоотчета и
для подписчиков, которых ещё не знаю. В друг кого-нибудь заинтересует.
Но твой bootchain-interactive делает тоже самое. Он рисует диалоги из
разных мест скрипта.
plainmouth сведёт всё на один экран и даст более удобный способ
реагировать на события в диалоге. Он не избавит от необходимости
синхронизации между скриптами.
Плюс, некоторые вещи ты просто не получишь от обычного dialog, но уже есть
в plainmouth вроде эвентов от изменения полей и возможности менять форму в
ответ на них.
Я постарался покрыть plainmouth тестами. Некоторые из них можно запускать
интерактивно.
> Кода для разделения единственного терминала /dev/console через tmux на
> разные сессии в качестве замены TTY сейчас в основной ветке не вижу, есть
> наброски в отдельных ветках, типа use-tmux [1].
>
> Как мы говорили раньше, хотелось бы замены bootchain-interactive [2] на
> уровне всего make-initrd. Конечно, с удобными диалогами, когда можно
> обходиться без параметров, которые и так легко вычислить.
>
> Мне понятна концепция "своя сессия на каждую фичу, у которой есть ввод
> данных от пользователя либо есть вывод прогресса длительно выполняющихся
> процессов". При пошаговой загрузке диалоги открываются последовательно. Для
> аварийной консоли rdshell -- свой сеанс, для вывода статусов демонов
> (/dev/console) -- свой, для общего лога демонов, если нужно, третий сеанс.
>
> Если какой-то фиче потребовалось вывести диалог ввода (например, пароль на
> LUKS), её tmux-сессия становится активной, а сразу после ввода фича может
> вернуть фокус ввода или это сделает make-initrd при завершении tmux-сессии
> этой фичи. В bootchain-interactive отложенная на 8 секунд активация
> диалогового TTY и немедленная, если возникает диалог ввода.
>
> Такой подход позволяет избежать ненужного мелькания чего-либо про
> загружаемые процессы, если это происходит довольно быстро. В то же время,
> ошибки или ввод данных требует немедленного внимания. Если внимание
> потребуется двум и более не связанным фичам, не вижу проблем передавать
> фокус в очерёдности, обратной поступлению запросов.
>
>
> Ссылки:
>
> 1. https://github.com/osboot/make-initrd/commit/817d9ed89f39a8ead233af9b3d5a5bfa170037b0
> 2. https://github.com/klark973/make-initrd-bootchain/blob/sisyphus/bootchain-interactive/README.md
>
>
> --
> WBR, Leonid Krivoshein.
>
> _______________________________________________
> Make-initrd mailing list
> Make-initrd@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/make-initrd
--
Rgrds, legion
prev parent reply other threads:[~2026-10-17 9:57 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-23 13:53 Alexey Gladkov
2026-10-16 14:20 ` Alexey Gladkov
2026-10-16 22:22 ` Leonid Krivoshein
2026-10-17 9:57 ` Alexey Gladkov [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=atNGc-YxWYVCAb29@example.org \
--to=legion@kernel.org \
--cc=make-initrd@lists.altlinux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Make-initrd development discussion
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/make-initrd/0 make-initrd/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 make-initrd make-initrd/ http://lore.altlinux.org/make-initrd \
make-initrd@lists.altlinux.org make-initrd@lists.altlinux.ru make-initrd@lists.altlinux.com
public-inbox-index make-initrd
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.make-initrd
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git