[SOLVED] LXDE выключение/монтирование и ошибка ConsoleKit

Добрый день.
После очередного обновления (не помню, к сожалению, какого, но месяц-два назад) пропали пукнты выключение/перезагрузка из меню LXDE и также при подключении внешних носителей получаю "Not Authorized".
Флаги consolekit и dbus

[ebuild   R    ] sys-apps/dbus-1.4.16  USE="X -debug -doc (-selinux) -static-libs -test" 0 kB
[ebuild   R    ] sys-auth/consolekit-0.4.5-r1  USE="pam policykit -debug -doc -test" 0 kB

rc-update show | grep consolekit

           consolekit |      default 

В качестве менеджера входа использую slim. login_cmd из /etc/slim.conf:

login_cmd           exec /bin/bash -login ~/.xinitrc %session

И, собственно, ~/.xinitrc

#!/bin/sh

#exec ck-launch-session startlxde
exec ck-launch-session dbus-launch startlxde

(раньше вполне хватало первого варианта, но вот сейчас пробовал второй, но безрезультатно)
Пользователь состоит в группе users и, собственно, соаздны следующие файлы со следующим содержанием
/etc/polkit-1/localauthority/10-user-mount.pkla

[Configurations]
Identity=unix-group:users
Action=org.freedesktop.udisks.filesystem-mount;org.freedesktop.udisks.filesystem-unmount-others;org.freedesktop.udisks.drive-eject;org.freedesktop.udisks.drive-detach
ResultAny=yes

/etc/polkit-1/localauthority/50-local.d/01-local-consolekit.pkla

[System Shutdown permissions for users]
Identity=unix-group:users
Action=org.freedesktop.consolekit.system.stop;org.freedesktop.consolekit.system.restart
ResultAny=yes
ResultInactive=no
ResultActive=no

/etc/polkit-1/localauthority/50-local.d/01-local-udisks.pkla

[Mount Permissions for users]
Action=org.freedesktop.udisks.filesystem-mount;org.freedesktop.udisks.drive-eject
ResultAny=yes
ResultInactive=no
ResultActive=no

/etc/polkit-1/localauthority/50-local.d/01-local-upower.pkla

[Suspend permissions for users]
Identity=unix-group:users
Action=org.freedesktop.upower.suspend
ResultAny=yes
ResultInactive=no
ResultActive=no

И, собственно, сама проблема.
При выполнении

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

В /var/log/messages падает

console-kit-daemon[1590]: GLib-GObject-CRITICAL: g_object_unref: assertion `G_IS_OBJECT (object)' failed

чего раньше не наблюдалось.
В довесок к этому нашёл пару недавних записей у Debian

http://us.generation-nt.com/answer/bug-597937-consolekit-power-management-error-org-freedesktop-consolekit-manager-notprivileged-not-authorized-help-200452551.html
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=597937

Но версий 0.4.1 сейчас в дереве нет и даунгрейд сделать проблематично...

Возможно ли решение проблемы? Куда можно копать в такой ситуации?

Попробуйте после входа в

Попробуйте после входа в систему перезапустить сервис consolekit. Останется ли проблема?

Я Gentoo & Funtoo

Да, проблема с пунктами

Да, проблема с пунктами выключения/включения пропала, спасибо!
Но сейчас всё же ещё осталась пробелма с подключением устройств.
Не подскажете в чём может быть причина такого поведения? (перезапуск consolekit)?
И также после перезапуска как-то опустел ck-list-sesstions.

/

DevDKN написал(а):
Да, проблема с пунктами выключения/включения пропала, спасибо!

А после перезагрузки не воспроизвелась?

:wq
--
Live free or die

DevDKN написал(а): Но всё же

DevDKN написал(а):
Но всё же пока не нашёл решения проблемы с перезапуском consolekit. Без перезапуска всё остаётся по-старому.

Я Gentoo & Funtoo

Путём гугления также была

Путём гугления также была решена проблема с монтированием.
Следующая строка

session optional pam_loginuid.so

была добавлена в /etc/pam.d/system-login перед

session		optional	pam_ck_connector.so

К сожалению не нашёл подробного описания этого модуля сейчас. Только стандартное http://linux.die.net/man/8/pam_loginuid . Но в любом случае, насколько я вижу, при логине запускать возможно. Будем дальше разбираться.
Также сейчас вернул старую запись в .xinitrc

exec ck-launch-session startlxde

Но всё же пока не нашёл решения проблемы с перезапуском consolekit. Без перезапуска всё остаётся по-старому.

.

DevDKN написал(а):
Но всё же пока не нашёл решения проблемы с перезапуском consolekit. Без перезапуска всё остаётся по-старому.

Тогда я бы поинтересовался /etc/init.d/consolekit status после перезагрузки и до ручного перезапуска.

:wq
--
Live free or die

В том то и дело,

В том то и дело, что

gentoo-laptop udev # /etc/init.d/consolekit status
 * status: started

...однако

lupo@gentoo-laptop ~ % dbus-send --system --print-reply --dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop
Error org.freedesktop.ConsoleKit.Manager.NotPrivileged: Not Authorized

P.S. Пока обхожусь «костылями» вроде sudo :(

Я Gentoo & Funtoo

Lupo Alberto написал(а): В

Lupo Alberto написал(а):
В том то и дело, что

gentoo-laptop udev # /etc/init.d/consolekit status
 * status: started

...однако

lupo@gentoo-laptop ~ % dbus-send --system --print-reply --dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop
Error org.freedesktop.ConsoleKit.Manager.NotPrivileged: Not Authorized

P.S. Пока обхожусь «костылями» вроде sudo :(

Для чего обходишься (список действий в студию!)?

Отдельно и сугубо доставляет тот факт, что не смотря на оное положение (состояние?) consolekit'а разрешения на управление питанием отрабатываются корректно.

:wq
--
Live free or die

Так где же оно корректно

Так где же оно корректно отрабатывается это управление питанием?
«Список действий» для выключения, перезагрузки, засыпания:

lupo@gentoo-laptop awesome % cat shutdown_dialog.sh
#!/bin/sh
ACTION=$(kdialog --radiolist "Опции выхода:" quit "Выйти" on halt "Выключить" off reboot "Перегрузить" off sleep "Усыпить" off)
if [ -n "${ACTION}" ];then
  case $ACTION in
  quit)
   # pkill awesome
  echo "awesome.quit()" | awesome-client
    ;;
  halt)
    sudo halt
#	dbus-send --system --print-reply --dest=org.freedesktop.ConsoleKit \
#	/org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop 
    ;;
  reboot)
    sudo reboot
#	dbus-send --system --print-reply --dest=org.freedesktop.ConsoleKit \
#	/org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart 
    ;;
  sleep)
    sudo pm-suspend
#	dbus-send --system --print-reply --dest=org.freedesktop.UPower \
#	/org/freedesktop/UPower org.freedesktop.UPower.Suspend 
    ;;
  esac
fi

Со сменными носителями справляюсь так — http://linuxforum.by/viewtopic.php?f=259&t=2769

Я Gentoo & Funtoo

/

Lupo Alberto написал(а):
Так где же оно корректно отрабатывается это управление питанием?

У меня, в XFce.
Работает, потому на разборки с деталями функционирования забил.

«Список действий» для выключения, перезагрузки, засыпания:

Lupo Alberto написал(а):
Со сменными носителями справляюсь так — http://linuxforum.by/viewtopic.php?f=259&t=2769

Предпочитаю классику (по варианту, описанному например у нашей Вики, правда как оно сочетается с awesome --- вопрос.
И да: файломенагерами в личной практике скорее не пользуюсь.

:wq
--
Live free or die

Вот же тема перемешалась

Вот же тема перемешалась :)
Вот вывод /etc/init.d/consolekit status сразу после старта системы.

/etc/init.d/consolekit status
 * status: started

Да и запущен он

root      1549     1  0 12:57 ?        00:00:00 /usr/sbin/console-kit-daemon

/

DevDKN написал(а):
Вот же тема перемешалась :)

Это ещё только начало. :)

DevDKN написал(а):
Вот вывод /etc/init.d/consolekit status сразу после старта системы.

/etc/init.d/consolekit status
 * status: started

Тогда оно очень сильно напоминает #405291 (там есть ссылки на пару схожих ошибок, рекомендую не лениться пользоваться поиском по багзилле и, если знания наглицкого позволяют --- то и рапортоваться).

ЗЫ: Возможно оффтопик, но вдруг: какое при этом используется ядро?

:wq
--
Live free or die

На первый взгляд

На первый взгляд действительно похоже, но потом автор пишет что

# /etc/init.d/consolekit status
 * status: stopped
# /etc/init.d/consolekit start
 * Starting ConsoleKit daemon ...
 * start-stop-daemon: /usr/sbin/console-kit-daemon is already running          
                         [ !! ]
 * ERROR: consolekit failed to start

Т.е. у него, по видимости, падал consolekit или не стартовал корректно.
Но спасибо за направление, сейчас буду искать.
Ядро сейчас используется 3.2.6. До этого использовалось 3.1.6 и проблема повторяется и с 3.2.6 и с 3.1.6. Не думаю что в этом проблема, т.к. раньше с 3.1.6 (до обновления) работало. Сейчас с 3.1.6 не работает. Все необходимые опции (AUDIT_SYSCALL, USB_SUSPEND, etc..) включены и проверены не один раз, что подтверждается тем что после перезапуска consolekit всё всё-таки работает как надо. Новое ядро было сконфигурировано с oldconfig.
В /var/log/messages и в /var/log/ConsoleKit/history.log ничего интересного нету.

А сколько сессий показывает

А сколько сессий показывает ck-list-sessions при одном (графическом) входе в систему?
Точнее можно вывод посмотреть?

.

С пылу с жару Сразу после перезагрузки:

Session3:
        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 = '2012-02-27T16:24:59.240645Z'
        login-session-id = '12'
Session2:
        unix-user = '1000'
        realname = '(null)'
        seat = 'Seat1'
        session-type = ''
        active = TRUE
        x11-display = ':0.0'
        x11-display-device = '/dev/tty7'
        display-device = ''
        remote-host-name = ''
        is-local = TRUE
        on-since = '2012-02-27T16:24:58.823022Z'
        login-session-id = '12'
Session1:
        unix-user = '1000'
        realname = '(null)'
        seat = 'Seat2'
        session-type = ''
        active = FALSE
        x11-display = ':0.0'
        x11-display-device = ''
        display-device = ''
        remote-host-name = ''
        is-local = TRUE
        on-since = '2012-02-27T16:24:58.591535Z'
        login-session-id = '12'

После рестарта consolekit вывод пустой.

Была похожая ситуация.

Была похожая ситуация. решилась уборкой ck-launch-session из .xinitrc
Возникла тогда, когда появился USE="consolekit" в пакете x11-misc/slim, похоже он сам научился сообщать consolekit-у о создании сессии, а вложенные сессии сбивают всю систему. Загвоздка в том, что появляется 2 сессии с
x11-display-device = '/dev/tty7'
но у одной
active = TRUE
а у другой
active = FALSE
при этом монтирование/управление питанием без авторизации разрешено только активным сессиям.

Такой же косяк был с монтированием флешек, решил так:

/etc/polkit-1/localauthority/50-local.d/10-local-udisks.pkla :
ResultActive=yes

и будет счастье :)... возможно :DDD

Я несу пингвина во имя луны! *WALL*

Спасибо! Монтирование

Спасибо! Монтирование заработало без рестарта ConsoleKit.
Интересно только как оно раньше-то работало...
Пока не могу проверить наличие включения/перезагрузки для пользователя, но думаю проблема также решилась.
В любом случае, спасибо всем!

Отредактировал аналогично

Отредактировал аналогично файлы
/etc/polkit-1/localauthority/50-local.d/01-local-consolekit.pkla
/etc/polkit-1/localauthority/50-local.d/01-local-upower.pkla
всё теперь включается-выключается ;)

Я Gentoo & Funtoo

ЧаВо?

DevDKN написал(а):
Спасибо! Монтирование заработало без рестарта ConsoleKit.
Интересно только как оно раньше-то работало...

http://gentoo.ru/content/chto-eto-znachit-solved-resheno

:wq
--
Live free or die

/

DevDKN написал(а):
Интересно только как оно раньше-то работало...

Если не рыть гугл в поисках рецепта, а остановиться и подумать, то выяснится, что корень проблемы кроется в том самом переписывании решения, найденного кем-то посредством прогрессивного метода перебора).

Грубо: в очередной версии изменилась логика отработки пересечения ResultAny с ResultInactive и ResultActive.
Если подумать ещё раз и самостоятельно, то (особенно с учётом обсуждения в данной теме) выяснится, что последние две строки (ResultInactive и ResultActive) без ущерба можно вынести.

:wq
--
Live free or die

.

alterious написал(а):
/etc/polkit-1/localauthority/50-local.d/10-local-udisks.pkla :
ResultActive=yes

и будет счастье :)... возможно :DDD

Так вот где собака порылась...

Благодарю за ключик поиска.

ЗЫ: Похоже на отвалившуюся отработку ResultAny=yes.

:wq
--
Live free or die

Сам долго от этого страдал))

Нашел откровенно методом антинаучного тыка))). Рад, что кому-то помогло :)

Я несу пингвина во имя луны! *WALL*

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

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