Re: logind при sysvinit: permission denied на suspend / hibernate
Dmitry Alexandrov -> debian-russian @ Tue, 14 Oct 2014 05:06:24 +0400:
DA> Взялся тут обновлять Джесси на своем ноутбуке — все, что накопилося за последние где-то полгода. И обновил, внезапно, вроде бы без проблем, кроме одной — systemd’шный logind с какой-то зависимостью приехал, притом что собственно инитом остался sysvinit-core.
DA> В результате от этого, во-первых, потеряли силу настройки KDE’шного Power Manager’a: какие кнопки питания чем управляют и т. п., а в частности по закрытию крышки машинка стала засыпать (suspend). Но это все поправимо в /etc/systemd/logind.conf
DA> А вот во-вторых пункты «Suspend» и «Hibernate» пропали изо всех пользовательских интерфейсов: и KMenu, из KRunner’а и т. д.
DA> Как видно отсюда:
DA> $ qdbus --system org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager.Suspend true
DA> Error: org.freedesktop.DBus.Error.AccessDenied
DA> Permission denied
DA> logind считает, что пользователю не хватает прав. Если это приказать от имени рута, то все прекрасно засыпает.
DA> Однако, если я правильно понимаю, что такое есть Policy Kit, то по:
DA> $ pkaction --action-id org.freedesktop.login1.suspend --verbose
DA> org.freedesktop.login1.suspend:
DA> description: Suspend the system
DA> message: Authentication is required for suspending the system.
DA> vendor: The systemd Project
DA> vendor_url: http://www.freedesktop.org/wiki/Software/systemd
DA> icon:
DA> implicit any: auth_admin_keep
DA> implicit inactive: auth_admin_keep
DA> implicit active: yes
DA> видно (active: yes), что права у меня должны быть.
DA> Это выдача pkaction’а основана на конфиге /usr/share/polkit-1/actions/org.freedesktop.login1.policy, который таки из systemd, но никаких оснований ему не иметь силы, когда инитом sysvinit, я не вижу.
DA> Установка systemd (т. е. пакета systemd-sysv) как инитa эту проблему решает — все права и пункты меню появляются, но вырисовывается другая, более серьезная — процесс ухода в спячку (hibernate) просто не завершается корректно — машинка виснет до степени, что помогает только аварийное обесточивание. Да и не хочу я инит пока менять вовсе — наверняка, еще проблемы вылезут.
DA> Этот же вопрос был мною задал пару дней назад на ЛОРе [0], но без конечного успеха.
DA> Уповаю теперь на ваши советы — что тут можно сделать, чтоб было, как должно быть. Всякие простые решения — типа pm-suspend / pm-hibernate через sudo без пароля — понятны, но хотелось бы как положено.
А если предложить apt'у снести systemd-logind и посмотреть, какие варианты он предложит в качестве замены? Первым делом, вероятно, он предложит снести то, что его потянуло (заодно и узнаем, что именно, может, оно и не нужно), а если попросить другие варианты, может, и замену предложит?
Reply to: