LINUX.ORG.RU

Не могу победить выключение dbus+consolekit

 , ,


0

1

Доброй ночи. Пытаюсь на свежеустановленой системе прикрутить выключение через сабж банальной командой:

dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop

Вываливает что нет полномочий.

Error org.freedesktop.DBus.Error.Spawn.ExecFailed: Failed to execute program org.freedesktop.ConsoleKit: Permission denied

Юзер состоит в группах: users,audio,video,plugdev

★★★

org.freedesktop.ConsoleKit: Permission denied

Юзер состоит в группах: users,audio,video,plugdev

Сам спросил, сам ответил. Чего ещё надо-то?

r3lgar ★★★★★
()
Ответ на: комментарий от xaTa

На второй машине юзер состоит в тех же группах, и все работает.

Кури в сторону polkit. Возможно, на машине, где это работает, правила написаны иначе.

Конкретно с consolekit не помогу — у меня systemd, но всё упирается в политики, это очевидно.

r3lgar ★★★★★
()
Ответ на: комментарий от r3lgar

Ни polkit ни consolekit не запущены и сами запускаться не хотят.

main@nc10 ~ $ pkaction
Error getting authority: Error initializing authority: Error calling StartServiceByName for org.freedesktop.PolicyKit1: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ExecFailed: Failed to execute program org.freedesktop.PolicyKit1: Permission denied

Пробую запусть вручную consolekit все начинает подвисать пока не вырубиш его.

При загрузке, до старта иксов в лог валится:

Nov 24 23:53:05 nc10 dbus[3825]: [system] Activated service 'org.freedesktop.ConsoleKit' failed: Failed to execute program org.freedesktop.ConsoleKit: Permission denied

Ну а потом уже такого характера:

Nov 25 01:03:59 nc10 ck-launch-session[4132]: error connecting to ConsoleKit
Nov 25 01:03:59 nc10 dbus[3824]: [system] Activating service name='org.freedesktop.UPower' (using servicehelper)
Nov 25 01:03:59 nc10 dbus[3824]: [system] Activated service 'org.freedesktop.UPower' failed: Failed to execute program org.freedesktop.UPower: Permission denied
Nov 25 01:03:59 nc10 mate-session[4132]: libupower-glib-WARNING: Couldn't connect to proxy: Ошибка вызова StartServiceByName для org.freedesktop.UPower: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ExecFailed: Failed to execute program org.freedesktop.UPower: Permission denied
Nov 25 01:03:59 nc10 mate-session[4132]: WARNING: Could not connect to ConsoleKit: Could not get owner of name 'org.freedesktop.ConsoleKit': no such name
Nov 25 01:03:59 nc10 mate-session[4132]: WARNING: Could not connect to ConsoleKit: Could not get owner of name 'org.freedesktop.ConsoleKit': no such name
Nov 25 01:03:59 nc10 mate-session[4132]: WARNING: Unable to find provider '' of required component 'dock'
Nov 25 01:04:00 nc10 dbus[3824]: [system] Activating service name='org.freedesktop.UDisks2' (using servicehelper)
Nov 25 01:04:00 nc10 dbus[3824]: [system] Activated service 'org.freedesktop.UDisks2' failed: Failed to execute program org.freedesktop.UDisks2: Permission denied
Nov 25 01:04:01 nc10 gnome-keyring-daemon[4162]: The Secret Service was already initialized
Nov 25 01:04:01 nc10 gnome-keyring-daemon[4162]: The SSH agent was already initialized
Nov 25 01:04:01 nc10 gnome-keyring-daemon[4162]: The PKCS#11 component was already initialized
Nov 25 01:04:01 nc10 dbus[3824]: [system] Activating service name='org.freedesktop.PolicyKit1' (using servicehelper)
Nov 25 01:04:01 nc10 dbus[3824]: [system] Activated service 'org.freedesktop.PolicyKit1' failed: Failed to execute program org.freedesktop.PolicyKit1: Permission denied
xaTa ★★★
() автор топика
Ответ на: комментарий от r3lgar

Самое стандартное, то что есть на другой машине.

cat /etc/polkit-1/rules.d/50-default.rules
/* -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- */

// DO NOT EDIT THIS FILE, it will be overwritten on update
//
// Default rules for polkit
//
// See the polkit(8) man page for more information
// about configuring polkit.

polkit.addAdminRule(function(action, subject) {
    return ["unix-user:0"];
});

и

cat /usr/share/polkit-1/rules.d/org.gtk.vfs.file-operations.rules
polkit.addRule(function(action, subject) {
        if ((action.id == "org.gtk.vfs.file-operations-helper") &&
            subject.local &&
            subject.active &&
            subject.isInGroup ("wheel")) {
            return polkit.Result.YES;
        }
});
xaTa ★★★
() автор топика
Ответ на: комментарий от xaTa

Вроде всё нормально (дефолт), но не знаю, пригодно ли это для consolekit.

Как у тебя запускается сессия? Если xinit, то смотри в /etc/X11/xinit/xinitrc.d/, там должно быть что-то про dbus и consolekit. В этих скриптах я не разбирался, но там bash. Менять там ничего не надо — заменит при обновлении, можно разве что создать свой скрипт, но он только дополнит, но не заменит логику; подсмотри там логику и копай дальше.

Вообще, я подозреваю, что у тебя что-то не так с DBUS_SESSION_BUS_ADDRESS, но подробнее не подскажу, стоит кастануть кого-то по dbus (добавь тег).

r3lgar ★★★★★
()
Ответ на: комментарий от r3lgar

Мне кажется тут дело не сессии...Тоесть это до запуска иксов с сессиями.

При загрузке, до старта иксов в лог валится:

Nov 24 23:53:05 nc10 dbus[3825]: [system] Activated service 'org.freedesktop.ConsoleKit' failed: Failed to execute program org.freedesktop.ConsoleKit: Permission denied

xaTa ★★★
() автор топика
Последнее исправление: xaTa (всего исправлений: 1)
Ответ на: комментарий от xaTa

Мне кажется тут дело не сессии...Тоесть это до запуска иксов с сессиями.

Иксы обычно поднимаются рутом (DM) или от юзера через suid с поднятием привилегий. DBus-сервер тоже должен подниматься от рута, так как PolicyKit иначе не сможет прочитать свои политики (/etc/polkit-1/rules.d имеет drwx------). ConsoleKit наверняка тоже имеет свои ограничения.

Пользовательская сессия dbus может не иметь отношение к твоей проблеме, но оно может быть с пустым адресом, и тогда через dbus ты никуда не достучишься.

r3lgar ★★★★★
()
Ответ на: комментарий от r3lgar

Решил это накатив вчерашний stage4. Ума не приложу почему не работало. Во всяком случае спасибо.

xaTa ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.