Как я закрываю систему через сообщение ConsoleKit DBus как пользователь?

Консольный $TERM linux, [1], таким образом, можно создать тест, как так:

if [ "$TERM" = "linux" ]; then
...

Как Caleb отмечает, устанавливая СРОКИ переменной среды к типу терминала, который требуется эмулировать, не хорошая идея.

См. http://tldp.org/HOWTO/Text-Terminal-HOWTO-10.html#term_not_for_emulation для деталей

[1] Начиная с версии 1.3.2 ядра значение по умолчанию ядра для консоли является TERM=linux.

http://tldp.org/HOWTO/Keyboard-and-Console-HOWTO-11.html

4
21.01.2012, 18:53
3 ответа

Согласно этому отчету об ошибках Debian, это происходит из-за восходящего изменения в ConsoleKit между версиями 0.4.1 и 0.4.2. Поток содержит несколько предложений и обходных решений, одно из которых должно установить менеджера по оформлению (как GDM или lightdm), который говорит с ConsoleKit непосредственно.

2
27.01.2020, 20:56

При использовании consolekit> 0.4.1 (хрипящий и более новый), это больше не работает из поля. Для получения это работающий снова добавляет

session optional        pam_loginuid.so

кому: /etc/pam.d/common-session.

2
27.01.2020, 20:56

В моем случае:

  • Debian 8 amd64;
  • fluxbox;
  • startx (без DM).
  • установленных пакетов:
    • dbus
    • dbus-X11
    • consolekit
    • policykit-1
    • libpam-ck-connector

Это решение работает хорошо:

Создайте файл custom-actions.pkla со следующим содержимым:

sudo nano /var/lib/polkit-1/localauthority/50-local.d/custom-actions.pkla

Поместите его в файл.

[Actions for xbmc user]
Identity=unix-user:xbmc
Action=org.freedesktop.upower.*;org.freedesktop.consolekit.system.*;org.freedesk​top.udisks.*
ResultAny=yes
ResultInactive=no
ResultActive=yes
0
27.01.2020, 20:56

Теги

Похожие вопросы