[SOLVED] Xfce, polkit, перезагрузка, выключение и ждущий режим..

Собственно, неактивны в крысе кнопки выключить, перезагрузить, ждущий (xfce4-session-logout). В менеджере питания:

Цитата:
Разрешен перевод в ждущий режим: Нет
Разрешен перевод в спящий режим: Нет
Разрешено завершение работы: Нет

Битый час гуглю, копирую правила, перезапускаю - нет результата, хоть вешайся. В английский не умею, но в правила старался вчитываться. Одно из нагугленых в англонете правил было настроено для пользователей группы power - создавал, помещал туда юзверя.
Даже развернул бэкап арча, где все настроено из коробки, смотрел как там и пытался что-то сделать, но результата не дало.
С polkit ранее не сталкивался.
Рискнул cp -r ~/archbackup/usr/share/polkit*/actions/* /usr/share/polkit*/actions и кнопки в xfce4-session-logout заработали, но с запросом пароля. Естественно, после такого эксперимента все правила были восстановлены в дефолтный дефолт.
Теперь я вообще в ступоре. Настройки вернул дефолные, перезапустил иксы, кнопки в xfce4-session-logout продолжают работать, перекрестился, ребутнулся - опять работают. Это мне и нужно, но.. оно спрашивает пароль. + было бы хорошо решить:
$ xfce4-power-manager --dump | grep -i нет

Цитата:
Разрешен перевод в ждущий режим: Нет
Разрешен перевод в спящий режим: Нет
Разрешено завершение работы: Нет
Разрешено замедление жестких дисков: Нет

Обычно это связано с

Обычно это связано с проблемами у ConsoleKit. Если он не запущен - проблема. Если он запущен дважды - опять проблема. В своё время я знатно с этим помучился.
Стоит начать с проверки запущенных сессий. Команда ck-list-sessions выдаёт список всех сессий. В нём должна быть только одна сессия в состоянии ACTIVE.

Чем больше юзерфрендли, тем сложнее юзать.

Хмм.. $

Хмм..
$ ck-list-sessions

Session1:
unix-user = '1000'
realname = '(null)'
seat = 'Seat2'
session-type = ''
active = FALSE
x11-display = ':0.0'
x11-display-device = '/dev/tty7'
display-device = ''
remote-host-name = ''
is-local = FALSE
on-since = '2015-02-19T09:15:17.133523Z'
login-session-id = '2'

в ~/.xinitrc

exec ck-launch-session startxfce4

Sality написал(а):Хмм..$

Sality написал(а):
Хмм..
$ ck-list-sessions

Session1:
unix-user = '1000'
realname = '(null)'
seat = 'Seat2'
session-type = ''
active = FALSE
x11-display = ':0.0'
x11-display-device = '/dev/tty7'
display-device = ''
remote-host-name = ''
is-local = FALSE
on-since = '2015-02-19T09:15:17.133523Z'
login-session-id = '2'

У меня (всё работает):

$ ck-list-sessions
Session1:
	unix-user = '1001'
	realname = '(null)'
	seat = 'Seat1'
	session-type = 'x11'
	active = TRUE
	x11-display = ':0.0'
	x11-display-device = '/dev/tty7'
	display-device = ''
	remote-host-name = ''
	is-local = TRUE
	on-since = '2015-02-19T05:54:44.960217Z'
	login-session-id = '2'

И вообще к Вике (хоть там картинки и того… утрачены): http://gentoo-wiki.gentoo.ru/wiki/Активируем_кнопки_выключения_и_перезагрузки_в_Xfce4

ЗЫ: У меня в последнем приближении специальных правил не потребовалось. Почему работает без них — не копал.

:wq
--
Live free or die

А у меня после добавления

А у меня после добавления policykit и сonsolekit в глобальные флаги появились 2 сессии - 1 рабочая, вторая нет.
На файл /etc/polkit-1/localauthority/50-local.d/40-power.pkla никакой реакции ((

Session1:
	unix-user = '1000'
	realname = '(null)'
	seat = 'Seat1'
	session-type = 'x11'
	active = TRUE
	x11-display = ':0.0'
	x11-display-device = '/dev/tty7'
	display-device = ''
	remote-host-name = ''
	is-local = TRUE
	on-since = '2015-02-19T19:37:20.789289Z'
	login-session-id = '2'
Session2:
	unix-user = '1000'
	realname = '(null)'
	seat = 'Seat1'
	session-type = ''
	active = FALSE
	x11-display = ':0.0'
	x11-display-device = '/dev/tty7'
	display-device = ''
	remote-host-name = ''
	is-local = TRUE
	on-since = '2015-02-19T19:37:20.989706Z'
	login-session-id = '2'

/

Sality написал(а):
А у меня после добавления policykit и сonsolekit в глобальные флаги появились 2 сессии - 1 рабочая, вторая нет.

По моим наблюдениям — признак правильной конфигурации системы, но неправильного запуска DE.
Твоим сценарием (вызов consolekit из ~/.xinitrc) никогда не пользовался.
У меня оно исторически (когда я при необходимости запускал иксы из ручками) задавалось иначе:
/etc/env.d/90xsession:
XSESSION="Xfce4"
Насколько оно нужно в общем случае — не исследовал.

Sality написал(а):
На файл /etc/polkit-1/localauthority/50-local.d/40-power.pkla никакой реакции ((

Логично. Я же писал, что в последнем приближении у меня всё работало и без него.
И, кстати, твой пользователь записан в группу, которой даются разрешения в этом файле правил?
Или может ты его переписал на конкретно твоего пользователя?

:wq
--
Live free or die

Да, пользователь был добавлен

Да, пользователь был добавлен в группу users.

С новыми версиями XFCE

С новыми версиями XFCE ck-launch-session уже не нужно. Она только вредит. startxfce4 знает о consolekit и запускает сессию.

Чем больше юзерфрендли, тем сложнее юзать.

Спасибо, теперь у меня

Спасибо, теперь у меня запускается одна и рабочая сессия.
$ ck-list-sessions

Session1:
	unix-user = '1000'
	realname = '(null)'
	seat = 'Seat1'
	session-type = 'x11'
	active = TRUE
	x11-display = ':0.0'
	x11-display-device = '/dev/tty7'
	display-device = ''
	remote-host-name = ''
	is-local = TRUE
	on-since = '2015-02-20T10:31:14.274985Z'
	login-session-id = '2'

/

Sality написал(а):
Рискнул cp -r ~/archbackup/usr/share/polkit*/actions/* /usr/share/polkit*/actions и кнопки в xfce4-session-logout заработали, но с запросом пароля.

ЕретикЪ?
http://gentoo.ru/node/14443

:wq
--
Live free or die

Это был эксперимент от

Это был эксперимент от безысходности. После все было сброшено на дефолт. Вы бы знали, сколько я тогда в гугле провел и правил перепробовал (перекопировал).
И так, теперь у меня запускается одна, рабочая сессия. Правила типа

[Local restart]
Identity=unix-group:users
Action=org.freedesktop.consolekit.system.restart
ResultAny=yes

В файле /etc/polkit-1/localauthority/50-local.d/40-power.pkla не срабатывают. Хотя пользователь присутствует в группе.
Подскажите, пожалуйста, что мне сделать дальше.

/

Sality написал(а):
Это был эксперимент от безысходности. После все было сброшено на дефолт. Вы бы знали, сколько я тогда в гугле провел и правил перепробовал (перекопировал).
И так, теперь у меня запускается одна, рабочая сессия. Правила типа

[Local restart]
Identity=unix-group:users
Action=org.freedesktop.consolekit.system.restart
ResultAny=yes

В файле /etc/polkit-1/localauthority/50-local.d/40-power.pkla не срабатывают. Хотя пользователь присутствует в группе.
Подскажите, пожалуйста, что мне сделать дальше.

Говорят же, что в современных реалиях оно вероятно не нужно…

dbus запущен?

:wq
--
Live free or die

Кнопки ребута и выключения в

Кнопки ребута и выключения в xfce4-session-logout заработали (помогла перекомпиляция нескольких пакетов). А вот менеджер питания xfce не имеет прав на ждущий, спящий режимы.. запрашивает пароль рута.

С этим разобрался. Осталось

С этим разобрался. Правила нужно было создавать для upower. Осталось разобраться, как сделать чтобы не запрашивался пароль при входе в эти режимы.

Господа! Вопрос решен

Господа! Вопрос решен полностью (вроде).
echo "xfce-extra/xfce4-power-manager ~x86" >> /etc/portage/package.keywords && emerge -1 xfce4-power-manager
+ добавить после заверщающего action > /usr/share/polkit-1/org.xfce.power.policy
что-то тут непонятное с тегами. залил на pastebin.
description и message наверняка кривые написал. В английский то не умею. Поправьте, если не лень :)
Теперь подумываю о глобальном ~x86. Всем участникам данной темы большое спасибо. Надеюсь и я помог :)

Позже еще понадобилось

Позже еще понадобилось пересобрать xfce4-session с флагом upower, после чего автоматически добавились правила для policykit.
Типичные ошибки новичка :) Теперь все работает на 100%

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".