[Решено] Ошибка 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-updatePS: выдержка 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
[ Legend : U - final flag setting for installation] [ : I - package is installed with flag ] [ Colors : set, unset ] * Found these USE flags for sys-auth/consolekit-1.1.2: U I + + acl : Add support for Access Control Lists - - cgroups : Use the kernel to track processes instead of the session cookie. - - debug : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces - - doc : Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally - - evdev : For handling VT switching with a session controller. + + pam : Add support for PAM (Pluggable Authentication Modules) - DANGEROUS to arbitrarily flip - - pm-utils : Adds support for suspend/resume using sys-power/pm-utils + + policykit : Use the PolicyKit framework (sys-auth/polkit) to get authorization for suspend/shutdown. - - test : Workaround to pull in packages needed to run with FEATURES=test. Portage-2.1.2 handles this internally, so don't set it in make.conf/package.use anymore + + udev : Enable virtual/udev integration (device discovery, power and storage device support, etc)equery u sys-auth/polkit
[ Legend : U - final flag setting for installation] [ : I - package is installed with flag ] [ Colors : set, unset ] * Found these USE flags for sys-auth/polkit-0.113: U I - - examples : Install examples, usually source code + + gtk : Add support for x11-libs/gtk+ (The GIMP Toolkit) + + introspection : Add support for GObject based introspection - - jit : Enable just-in-time compilation for improved performance. May prevent use of some PaX memory protection features in Gentoo Hardened. - - kde : Add support for KDE (K Desktop Environment) + + nls : Add Native Language Support (using gettext - GNU locale utilities) + + pam : Add support for PAM (Pluggable Authentication Modules) - DANGEROUS to arbitrarily flip - - systemd : Use sys-apps/systemd instead of sys-auth/consolekit for session tracking - - test : Workaround to pull in packages needed to run with FEATURES=test. Portage-2.1.2 handles this internally, so don't set it in make.conf/package.use anymorerc-update
binfmt | boot bootmisc | boot consolekit | default dbus | default devfs | sysinit dmesg | sysinit fsck | boot hostname | boot hwclock | boot keymaps | boot killprocs | shutdown kmod-static-nodes | sysinit local | default nonetwork localmount | boot loopback | boot modules | boot mount-ro | shutdown mtab | boot netmount | default nginx | default procfs | boot root | boot savecache | shutdown swap | boot sysctl | boot sysfs | sysinit sysklogd | default termencoding | boot udev | sysinit udev-trigger | sysinit urandom | boot wicd | defaultИксы запускаю через 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 -Ieix acpi -Ieselect profile listДалее посмотрим.
О том что сделано
Да, действительно, я руководствовался русскоязычной документацией.
Смотрю о udev и acpi.
eix *udev -I
[I] dev-libs/libgudev Available versions: 230-r1(0/0) 231(0/0)^t {introspection static-libs ABI_MIPS="n32 n64 o32" ABI_PPC="32 64" ABI_S390="32 64" ABI_X86="32 64 x32"} Installed versions: 231^t(08:13:56 22/07/17)(introspection -static-libs ABI_MIPS="-n32 -n64 -o32" ABI_PPC="-32 -64" ABI_S390="-32 -64" ABI_X86="64 -32 -x32") Homepage: https://wiki.gnome.org/Projects/libgudev Description: GObject bindings for libudev [I] sys-fs/eudev Available versions: 1.9-r2 1.10-r2 3.1.2 3.1.5 ~3.2.2 ~3.2.2-r1 **4.9999 **9999 {+blkid doc efi gudev +hwdb introspection +keymap +kmod +modutils +openrc (+)rule-generator selinux smack static-libs test ABI_MIPS="n32 n64 o32" ABI_PPC="32 64" ABI_S390="32 64" ABI_X86="32 64 x32"} Installed versions: 3.1.5(00:29:40 13/07/17)(hwdb introspection kmod -rule-generator -selinux -static-libs -test ABI_MIPS="-n32 -n64 -o32" ABI_PPC="-32 -64" ABI_S390="-32 -64" ABI_X86="64 -32 -x32") Homepage: https://github.com/gentoo/eudev Description: Linux dynamic and persistent device naming support (aka userspace devfs) [I] virtual/libgudev Available versions: 215-r3(0/0) 230(0/0) {introspection static-libs systemd ABI_MIPS="n32 n64 o32" ABI_PPC="32 64" ABI_S390="32 64" ABI_X86="32 64 x32"} Installed versions: 230(13:11:10 13/07/17)(introspection -static-libs ABI_MIPS="-n32 -n64 -o32" ABI_PPC="-32 -64" ABI_S390="-32 -64" ABI_X86="64 -32 -x32") Description: Virtual for libgudev providers [I] virtual/libudev Available versions: 215-r1(0/1) 232(0/1) {static-libs systemd ABI_MIPS="n32 n64 o32" ABI_PPC="32 64" ABI_S390="32 64" ABI_X86="32 64 x32"} Installed versions: 232(21:36:12 12/07/17)(-static-libs -systemd ABI_MIPS="-n32 -n64 -o32" ABI_PPC="-32 -64" ABI_S390="-32 -64" ABI_X86="64 -32 -x32") Description: Virtual for libudev providers [I] virtual/udev Available versions: 215 217 {systemd} Installed versions: 217(13:03:45 06/07/17)(-systemd) Description: Virtual to select between different udev daemon providers Found 5 matchesacpi изначально не был установлен, я его поставил
eix acpi -I
[I] sys-power/acpi Available versions: 1.6 ~1.7 ~1.7-r1 Installed versions: 1.6(15:49:18 28/07/17) Homepage: https://sourceforge.net/projects/acpiclient/ Description: Displays information about ACPI devicesСмотрю выбранный профиль:
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 активны.