Изобретаю свой велосипед, вот, и не понимаю ничего.
Дистр - Gentoo. В /etc/apci/default.sh я написал свою функцию блокировки
всех экранов:
lock_all_x_displays() {
ps -eo euser,cmd | /usr/bin/perl -e \
'my $command = "/usr/kde/3.5/bin/kdesktop_lock --forcelock"; \
my %displays = (); map { \
$displays{$4} = $1 if m/^\s*(\S+)\s+(\/usr\/bin\/)?xinit(\s+.*\s+|\s+)(:\d+)(\s+|$)/ \
} <>; \
`su -l -c "DISPLAY=$_ $command" $displays{$_}` for (keys %displays);'
}
Вызывается оно на события "lid" и "sleep" (закрытие крышки и нажатие
кнопки засыпания).
Экран, конечно, блокирует, но kdesktop_lock сходит с ума и говорит что
"Cannot unlock the session because the authentication system failed to work;
you must kill kdesktop_lock (pid NNNNN) manually."
Права у kcheckpass, как я пониман, правильные, -rws--x--x, root:root.
Если вместо $command делаю "xmessage $(whoami)" то получаю root
и это несмотря на то, что я явно просил $displays{$_} (и там
мой обычный пользователь, от которого запущен xinit, я проверял).
Пользователь, заблокировавший экран, по утвержению kdesktop_lock,
впрочем, обычный, не root.
Если сказать $command от рута, тогда разблокируется нормально, но
просит, соответственно, пароль root (т.к. сессию заблокировал он),
что мне не нравится.
Вопрос - это что вообще такое за поведение и в какую сторону курить?
sudo пробовал, все полностью аналогично. Все что я хочу - прикинуться
собой (тем, от кого я пустил xinit для каждого сервера) и
заблокировать экраны. В идеале, конечно, еще и консоли, если есть
залогиненные, но пока что черт с ними. Конечная цель - одна кнопка
когда я ухожу (или закрытие крышки) и я могу не думать о том, кто
там около моей машинки шатается.
ЗЫ. Да, запускает все Qingy, никакого kdm нету. Используется
несколько разных WM/DE (просто пока не реализован выбор $command
между xscreensaver-command --lock и kdesktop_lock) и, иногда,
несколько X-серверов, почему и изобретаю свои фокусы. Если есть
решение без велосипеда (нет, менять условия "несколько WM" и
"несколько серверов" нельзя), то с радостью бы выслушал. Таблеток
от паранойи не надо, я спрошу у доктора сам.
Заранее спасибо есть у кого есть какие идеи или советы.
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум не включается монитор после выхода из standby или suspend (2014)
- Форум kdesktop_lock (2004)
- Форум kdesktop_lock (2004)
- Форум Acpid events (2007)
- Форум acpid freebsd (2003)
- Форум Чудеса (2006)
- Форум Чудеса (2005)
- Форум Чудеса... (2005)
- Форум openSUSE, acpid, ноутбук (2012)
- Форум ACPID выключает сервер. (2012)