[Решено] Ошибка consolekit
Доброго времени.
Не могу разобраться с consolekit, пожалуйста прошу помощи, потому что моё разбирательство продолжается уже несколько дней и я осознал, что своим усилием мне это не победить. Пробовал неоднократно найти в поисковике, натыкался на схожие проблемы, но конкретного решения не увидел, или по-другому сказать просто не понял что я должен сделать. Перейду к делу.
Флаги consolekit, а также dbus, связанным с consolekit
sys-auth/consolekit-1.1.2 (acl kernel_linux pam policykit udev) sys-apps/dbus-1.10.18 (X abi_x86_32 abi_x86_64)
rc-update | grep consolekit
consolekit | default
rc-update | grep dbus
dbus | default
loginmanager отсутствует и устанавливать его не хочется. Мне привычнее набирать startx после логина под обычным пользователем.
Проблема в том, что не работают глобальные хоткеи, кроме того не активны такие кнопки в иксах как Shut Down, Restart. Сессия consolekit не запускается в иксах, мне стало интересно почему же это происходит и сам я разобраться не могу.
В ~/.xinitrc такая простая запись
exec startxfce4
/etc/init.d/consolekit status
* status: started
/etc/init.d/dbus status
* status: started
При всём при этом я понял, что сессия consolekit должна быть только одна (или нет?), но запускается она где-то не там где нужно, или я чего-то не понимаю совершенно?
ck-list-sessions
Session1: unix-user = '1000' realname = '(null)' seat = 'Seat1' session-type = 'unspecified' session-class = 'user' session-state = 'online' active = FALSE x11-display = '' x11-display-device = '' display-device = '/dev/tty1' remote-host-name = '' is-local = TRUE on-since = '2017-07-24T15:03:52.738622Z' login-session-id = '1' XDG_RUNTIME_DIR = '/var/run/user/1000' VTNr = '1'
В tty1, а не в tty7. Если наберу ck-launch-session в иксах, то она стартует, но их становится две. Еще если залогиниться без иксов, то вместо active = FALSE там TRUE, что вполне понятно. Хотелось бы увидеть некоторые советы, что же нужно делать в такой ситуации. Может быть мне вообще не нужны эти dbus'ы и consolekit'ы? Пожалуйста помогите. Если нужна какая-то дополнительная информация, я предоставлю.
- Для комментирования войдите или зарегистрируйтесь
Покажи ls -l /proc/1/exe
Покажи
SysA написал(а): Покажи ls -l
ls -l /proc/1/exe
с удовольствием показываю.
exec startxfce4 --with-ck-launch
А как же это: https://wiki.gentoo.org/wiki/Xfce/Guide/ru#.D0.97.D0.B0.D0.BF.D1.83.D1.81.D0.BA_Xfce
h4e написал(а): А как же это:
Я же сделал всё это. В rc-update consolekit я добавил как default. Я даже написал, что если я запускаю ck-launch-session то их становится две, вместо одной. Что соответствует добавлению в ~/.xinitrc > exec startxfce4 --with-ck-launch. Либо я в ручную это сделаю, либо через xinitrc, какая разница то? Сессии то две. Или так и должно быть? Одна FALSE другая TRUE? хоткеи все равно не работают при таком условии. Может быть подробнее расскажете, что я не понимаю?
.
По крайней мере подсмотреть логику в более популярных (интенсивно используемых) решениях (login manager) не просто можно, а нужно.
Уже достаточно давно явное указание сессий ConsoleKit ненужно. Работает и без него (причём он помнится ломает работоспособность).
Сессия в отладочном списке одна.
Всё что нужно работает.
Хотя… протокол тестирования в студию!
:wq
--
Live free or die
Сделал, по совету, добавил в
Сделал, по совету, добавил в ~/.xinitrc следующее:
Теперь стартую иксы, смотрю сессии командой ck-list-sessions, их теперь две:
Уважаемые gentoo'user'ы,
Уважаемые gentoo'user'ы, никто не ответил. Скажите пожалуйста, две сессии от consolekit это нормально? Я читал про этот consolekit, там сказано что должна быть только одна сессия для правильной работы (да или нет?). Кто что знает про этот consolekit, прошу Вас рассказать чтобы меня навело на мысль каким образом я буду действовать дальше.
Хоткеи начал настраивать руками, в файле ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml, это же можно сделать в Settings > Keyboard
Restart и ShutDown активны
А то что две сессии consolekit, это нормально? Что-то я не уверен.
всё пучком
Да всё у тебя нормально.
Ты же иксы через startx запускаешь?
Ну так первая сессия запущена в линукс-консоли (tty1), а вторая - иксы, смотри в выхлопе ck-list-sessions ключи x11-display и x11-display-device там где ключ active = TRUE
Одна сессия
У меня одна сессия. В .xinitrc такая строка:
exec ck-launch-session dbus-launch --sh-syntax --exit-with-session openbox-session
Можно глянуть, что покажет?
equery u sys-auth/consolekit
equery u sys-auth/polkit
И на закуску полностью:
rc-update
PS: выдержка ArchWiki Consolekit:
No display manager
If you are not using a display manager, but starting your window manager via the startx command, or from inittab.
If ConsoleKit is not working (ck-list-sessions command showing active = FALSE), you should start your window manager using the bash_profile method: Start X at login#bash profile.
equery & rc-update
Благодарю всех за ответы. Далее по запросам:
equery u sys-auth/consolekit
equery u sys-auth/polkit
rc-update
Иксы запускаю через startx, да. Никакого displaymanager'а нет.
Как это сделать, не подскажете?
До сих пор проблему не решил, просто не знаю с чего начать. В consolekit совсем не разбираюсь. Маны понять не могу, там не указывается моя проблема. Уж простите мою тупость.
Если добавить в .xinitrc такую строку
то иксы не запускаются (из-за --exit-with-session вероятно).
Все в порядке
Ни к чему так :). Все с чего-то начинают...
Далее по делу. Совсем упустил из виду, откуда вы брали информацию по установке xfce, не из русской ли Вики? Если да, то там не вся информация, в английской более развернуто (https://wiki.gentoo.org/wiki/Xfce).
Там есть такая инфа (это на счет не работающих кнопок Shut Down, Restart):
When experiencing authorization or permissions issues within xfce4 in a OpenRC profile (symptoms include being unable to open power manager and unable to suspend/hibernate) be sure the sys-auth/consolekit package has been merged with the pm-utils flag set.
И там же:
~/.xinitrc Starting xfce4 the right way when invoking startx
ck-launch-session dbus-launch --sh-syntax --exit-with-session xfce4-session
Установите пакет pm-utils, потом добавьте в ~/.xinitrc строку выше. Либо стартаните иксы startxfce4. Если не пойдет, то покажите еще пожалуйста:
eix *udev -I
eix acpi -I
eselect profile list
Далее посмотрим.
О том что сделано
Да, действительно, я руководствовался русскоязычной документацией.
Смотрю о udev и acpi.
eix *udev -I
acpi изначально не был установлен, я его поставил
eix acpi -I
Смотрю выбранный профиль:
eselect profile list
По поводу следующего:
то флаг pm-utils не стоял, хотя в .xinitrc при exec startxfce4 --with-ck-launch
эти кнопочки restart и shutdown и hibernate были активны, то есть сессия была TRUE, но их было две.
Пересобрал sys-auth/consolekit с флагом pm-utils.
А добавлял в /etc/portage/package.use/custom запись sys-auth/consolekit pm-utils
Что в итоге произошло:
В ~.xinitrc вписал следующее
Запускаю иксы: startxfce4
и вижу одну сессию consolekit, но она не активна: ck-list-sessions
Если вписать в ~.xinitrc
и стартануть иксы так: startx
то сессии две
Где-то я рядом, но что-то работает не правильно, поскольку сессия должна быть одна.
buriedalive
А ведь пользователь diko был прав с самого начала. Проверил у себя: если работаю только в графической оболочке, то сессия одна. Но! Если если параллельно запустить консоль (по CTRL-ALT-F*), то сессий будет столько, сколько открыто консолей. Т.к. вы запускаете графику отдельно, то и сессий соответственно две.
Так что с Consolekit у вас все в порядке. Если кнопки Shutdown, Reboot, Suspend и т.д. активны, то можно тему закрывать.
Активны кнопки
Кнопки Reboot, Shutdown активны.