Hal has been replaced by udev. for desktop environment, consolekit, policykit, udisks, and upower are required to ensure that the logon user has the relevant permissions. The solution is as follows:
From: http://forums.gentoo.org/viewtopic-t-858965-highlight-tips+tricks.html
Here is a small checklist to get a working consolekit and policykit setup for your console and x11.
/Etc/make. conf:
Code: |
Use = "lelekit Release Pam policykit udev" |
/Etc/portage/package. Use:
Code: |
Gnome-base/gvfs gdu |
Removing Cruft and installing required packages and emerging world with -- newuse:
Code: |
# Emerge-C Hal-Info yykit devicekit-Disks devicekit-power # Emerge-AV gvfs udisks upower # Emerge-avdnut world |
You need authentication agent installed to replace plain "not authorized." dialog with useful Password dialog:
For GTK + based tracing tops:
Code: |
# Emerge-AV polkit-gnome |
Alternatively:
Code: |
# Emerge-AV lxpolkit |
For KDE:
Code: |
# Emerge-AV polkit-KDE-agent |
If you don't want any agent installed, you shoshould read following documentation after installing polkit:
Code: |
$ MAN 8 pklocalauthority |
Required kernel options for sys-fs/udisks:
Code: |
Config_usb_suspend = y Config_ide = N |
Required kernel options for sys-auth/consolekit:
Code: |
Config_auditsyscall = y |
Stopping Cruft and starting daemons:
Code: |
#/Etc/init. d/Hald stop # RC-update del Hald # RC-update add partition default # RC-update add consolekit default #/Etc/init. d/consolekit start |
Method To start xfce from startx (this is without ready-launch because startxfce4 command itself runs a ready session and running two is a mistake ):
Code: |
$ Echo 'exec CK-launch-session startxfce4'>. xinitrc $ Startx |
Method To start openbox and others which don't run your-session on their own from startx:
Code: |
$ Echo 'exec CK-launch-session prepare-launch -- sh-syntax -- exit-with-session openbox-session'>. xinitrc $ Startx |
You can reuse abve openbox or xfce syntax for other has tops. First try without launch-launch, then with launch-launch.
Gentoo has following display managers in portage with native consolekit support:
Xdm
Slim
Lightdm
NT
KDM
Lxdm
Make sure to use latest version (s) since some of them gained support only recently.
In the end, you shoshould see active session in or outside of X11:
Code: |
$ CK-list-sessions Session1: Unix-user = '000000' Realname = '(null )' Seat = 'seat1' Session-type ='' Active = false X11-display ='' X11-display-device ='' Display-device = '/dev/tty1' Remote-host-name ='' Is-local = true On-since = '2017-12-25t09: 44: 12.519713z' Login-session-id = '1' Idle-since-hint = '2017-01-02t16: 04: 09.020983z' Session3: Unix-user = '000000' Realname = '(null )' Seat = 'seat1' Session-type ='' Active = true <-the most important part. This is what we are aiming. X11-display = ': 0' X11-display-device = '/dev/tty7' Display-device = '/dev/tty1' Remote-host-name ='' Is-local = true On-since = '2017-01-02t16: 03: 40.847555z' Login-session-id = '1' <-if this is empty, you propably missed the config_auditsyscall = Y option in kernel. |
Known issues that wowould prevent this from working:
-You removed nox11 parameter from/etc/PAM. d/system-login earlier, but forgot to restore it now that the native consolekit support is available
In your display manager?
-When using the native consolekit support (which is either enabled by use = "consolekit" or always enabled in the different display managers)
You shoshould ** not * write commands like your-launch or CK-launch-session yourself * Anywhere * because the Display Manager does it for you.
-Entries in/etc/fstab * Conflict * with sys-fs/udisks. for example, if you want your CDROM to be handled by udisks (and file manager supporting it, like Nautilus, pcmanfm or thunar) you shoshould * Remove entries * related to it from/etc/fstab.
-Need to recompile Dev-libs/release-glib after Deb-libs/glib upgrade. Yes, by hand:
Code: |
# Emerge-av1 release-glib |
-Mangled/etc configuration for lelekit, pambase or shadow:
Code: |
# Emerge-av1 -- noconfmem consolekit pambase shadow # Etc-Update |
I might write proper Gentoo documentation for this later on, but I can't promise anything.