Я помню, что в версиях человечности приблизительно 9,04 были возможны отключить пользователя, чтобы завершить работу (и возможно приостановить также) система, если был другой зарегистрированный пользователь. Что-то как policykit или подобный.
Действительно ли возможно сделать в 11,04?
Спасибо
править:
если кому-то будет нужно (для собственного риска), то мало изменения в/usr/lib/pm-utils/bin/pm-action позволит пользователю приостанавливать машину, если он будет только зарегистрированным пользователем или когда пользователь будет работать, sudo пополудни - приостанавливают. Вероятно, не лучшая часть кода, но на данный момент работает.
diff -r 805887c5c0f6 pm-action
--- a/pm-action Wed Jun 29 23:32:01 2011 +0200
+++ b/pm-action Wed Jun 29 23:37:23 2011 +0200
@@ -47,6 +47,14 @@
exit 1
fi
+if [ "$(id -u )" == 0 -o `w -h | cut -f 1 -d " " | sort | uniq | wc -l` -eq 1 ]; then
+ echo "either youre root or root isnt here and youre only user, continuing" 1>&2
+ else
+ echo "Not suspending, root is here or there is more users" 1>&2
+ exit 2
+ fi
+
+
remove_suspend_lock()
{
release_lock "${STASHNAME}.lock"
Вопрос все еще стоит, действительно ли возможно запретить завершение работы или приостановить, когда существует больше чем один зарегистрированный пользователь (не переписывая пополудни - приостанавливают или останавливаются (или другой взлом))?
Обновление (благодаря enzotib):
Файлы, которые я перечислил в исходном ответе, не должны быть отредактированы, поскольку обновление пакета может перезаписать Ваши изменения.
PolicyKit должен вместо этого быть настроен с помощью конфигурационных файлов, помещенных в /var/lib/polkit-1/localauthority/
, как детализировано в pklocalauthority
страница руководства.
Исходный ответ:
С депрекацией HAL в этом теперь управляют /usr/share/polkit-1/actions/org.freedesktop.consolekit.policy
Набор allow_active
в двух разделах действия, показанных ниже no
(они установлены на auth_admin_keep
по умолчанию):
<action id="org.freedesktop.consolekit.system.stop-multiple-users">
<description>Stop the system when multiple users are logged in</description>
<message>System policy prevents stopping the system when other users are logged in</message>
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>no</allow_active>
</defaults>
</action>
...
<action id="org.freedesktop.consolekit.system.restart-multiple-users">
<description>Restart the system when multiple users are logged in</description>
<message>System policy prevents restarting the system when other users are logged in</message>
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>no</allow_active>
</defaults>
</action>