LINUX.ORG.RU

Нет пунктов «Suspend» и «Hibernate» в меню, хотя сами по себе ожидание и спячка работают.

 , , ,


2

3

Добрых суток уважаемым лоровцам.

Обновил я тут на своем ПК Дебиан ГНУ/Линукс Джесси, причем основательно — более двух тысяч пакетов, что накопились за полгода, т. е. почти все, что было установлено.

Первое, на что напоролся — из ка-дэ-ешного меню (а значит и из krunner’а) пропали пункты «Leave › Suspend» и «Leave › Hibernate», хотя сами функции, если приказать прямо: # pm-suspend и # pm-hibernate соответственно, прекрасно работают.

Подскажите, пожалуйста, где начинать копать?

★★★★★
Ответ на: комментарий от KivApple

Да, действительно, нет прав:

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

# qdbus --system org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager.Suspend true
# # успешно засуспендился

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

Как их правильно дать, навскидку не подскажете?

Zmicier ★★★★★
() автор топика

Да, если это имеет значение, то инит — по прежнему sysv, хотя умолчанием уже, по идее, должен быть systemd. Попробовать сменить?

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

Заменил sysvinit-core на systemd-sysv. Права разрешились, в меню пункты появились, но при уходе в спячку на диск машинка теперь не выключается — причем можно обесточить ее аварийно — и проснется она после такого корректно, но это не дело.

Пойду копать дальше.

Zmicier ★★★★★
() автор топика

Чистоты эксперимента для, попробовал третий возможный инит — upstart — система вовсе не загрузилася, встала после запуска демона D-Bus’а.

Zmicier ★★★★★
() автор топика

В общем, я ничего не понимаю. Согласно вот этому права у пользователя есть:

$ 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

по факту же: Permission denied.

Да, этот конфиг (/usr/share/polkit-1/actions/org.freedesktop.login1.policy) из systemd, но он же есть в системе даже когда инитом sysvinit.

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

Увы, но в Дебиане нет (и, насколько я знаю, никогда не было) группы power. Простое ее создание и добавление в нее пользователя, разумеется, никакого эффекта не дает.

Есть группа powerdev, но и включение в нее ничего не меняет.

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

О! Спасибо, а уже думал здесь ветка утонула, посему счел возможным переформулировать вопрос и задать его в debian-russian@lists.debian.org.

Пока дошел до того, что если вручную составить такое правило для Полиси-кита:

# cat /etc/polkit-1/localauthority/50-local.d/logind.pkla 
[Power Management]
Identity=unix-group:powerdev
Action=org.freedesktop.login1.*
ResultAny=yes
ResultInactive=yes
ResultActive=yes

(группа powerdev выбрана по смыслу, можно, наверное, было просто всем разрешить), то $ qdbus --system org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager.Suspend true работает, но в в ка-дэ-ешных интерфейсах (меню, KRunner) все-равно пунктов нет.

В общем-то уже, наверное, можно писать багрепорт, но хотелось сначала понять: то, что в /usr/share/polkit-1/actions/org.freedesktop.login1.policyorg.freedesktop.login1.suspend, а по факту метод есть только org.freedesktop.login1.Manager.Suspend — это в порядке вещей? Если же нет, то почему при systemd-sysvinit это работает?

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

Итак, обновил cgmanager до 0.33-2 — и хрен там. Т. е. $ qdbus --system org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager.CanSuspend теперь возвращает yes $ qdbus --system org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager.Suspend true машинку суспендит (нет, я не забыл удалить /etc/polkit-1/localauthority/50-local.d/logind.pkla), но Кедам от этого ни жарко, ни холодно — в меню «Leave» пунктов пунктов «Suspend» и «Hibernate» все-равно нет.

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

В каком смысле «отключено»? Я его не отключал, но оно не работает (с sysvinit-core), с systemd-sysv работает.

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

У кед есть свои службы. Настриваются в параметрах системы.

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