[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

logind при sysvinit: permission denied на suspend / hibernate



Добрых суток уважаемым дебиановодам.

Взялся тут обновлять Джесси на своем ноутбуке — все, что накопилося за последние где-то полгода. И обновил, внезапно, вроде бы без проблем, кроме одной — systemd’шный logind с какой-то зависимостью приехал, притом что собственно инитом остался sysvinit-core.

В результате от этого, во-первых, потеряли силу настройки KDE’шного Power Manager’a: какие кнопки питания чем управляют и т. п., а в частности по закрытию крышки машинка стала засыпать (suspend). Но это все поправимо в /etc/systemd/logind.conf

А вот во-вторых пункты «Suspend» и «Hibernate» пропали изо всех пользовательских интерфейсов: и KMenu, из KRunner’а и т. д.

Как видно отсюда:

$ qdbus --system org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager.Suspend true
Error: org.freedesktop.DBus.Error.AccessDenied
Permission denied

logind считает, что пользователю не хватает прав. Если это приказать от имени рута, то все прекрасно засыпает.

Однако, если я правильно понимаю, что такое есть Policy Kit, то по:

$ pkaction --action-id org.freedesktop.login1.suspend --verbose
org.freedesktop.login1.suspend:
  description:       Suspend the system
  message:           Authentication is required for suspending the system.
  vendor:            The systemd Project
  vendor_url:        http://www.freedesktop.org/wiki/Software/systemd
  icon:              
  implicit any:      auth_admin_keep
  implicit inactive: auth_admin_keep
  implicit active:   yes

видно (active: yes), что права у меня должны быть.

Это выдача pkaction’а основана на конфиге /usr/share/polkit-1/actions/org.freedesktop.login1.policy, который таки из systemd, но никаких оснований ему не иметь силы, когда инитом sysvinit, я не вижу.

Установка systemd (т. е. пакета systemd-sysv) как инитa эту проблему решает — все права и пункты меню появляются, но вырисовывается другая, более серьезная — процесс ухода в спячку (hibernate) просто не завершается корректно — машинка виснет до степени, что помогает только аварийное обесточивание. Да и не хочу я инит пока менять вовсе — наверняка, еще проблемы вылезут.

Этот же вопрос был мною задал пару дней назад на ЛОРе [0], но без конечного успеха.

Уповаю теперь на ваши советы — что тут можно сделать, чтоб было, как должно быть. Всякие простые решения — типа pm-suspend / pm-hibernate через sudo без пароля — понятны, но хотелось бы как положено.

[0]: https://www.linux.org.ru/forum/desktop/10927875

--
Дмитрий.


Reply to: