On Tue, Oct 08, 2002 at 03:38:46PM +0700, Alexey Morozov wrote: > > > 1. запуск терминала (egid == utempter, gid == user_gid) > > > | > > > \_ 2. запуск pty-helper > > > 3. сброс привилегий в _gid_ (не в egid!). > > > 4. инициализация GTK+ и всяких прочих там виджетсетов/библиотек и > > > всего остального. > > Выполнение пункта 2 до пункта 4, скорее всего, потребует серьезного > > изменения в коде эмуляторов. > Хм... Очень странно. Это ж в ровности один вызов utempter_add_record? Дело в том, что нельзя c помощью utempter'а внести информацию о терминале, которого еще нет. А некоторые эмуляторы (i.e. screen) создают терминалы по мере надобности. > > > плюсы: достаточная простота реализации, минимизация изменений в > > > сравнении с vanilla sources. > > > минус: существуют проблемы с отслеживанием момента закрытия > > Сформулирую иначе: нет способа внести запись о закрытии терминала. > :-) > > > > Кстати, возможно, идея с долгоживущим utempter'ом или привилегированным > > > процессом его запускающим, возможно, заслуживает рассмотрения... > > Можно даже сервер сделать. :) > Ну, сервер не сервер... Долгоживущий процесс... Можно и сервер, с авторизацией через unix domain socket. Но это не меняет сути дела. -- ldv