Page MenuHomePhabricator

E18 With Systemd User Session
Updated 453 Days AgoPublic

Enlightenment and EFL from git does support systemd user session to automatically setup your session.

Benefit of using systemd user session at this moment :

  • No need for a session manager if you just want autologging
  • More reliable setup thanks to a better monitoring from systemd
  • Remove the need to use enlightenment_start

Long term possible improvement :

  • Start efm, batget, tempget with socket activation
  • Integrate with logind to handle power management more nicely

More general information on systemd user session :

As a prerequirement, you need a working systemd environment. Setup step :

  • add this line to /etc/pam.d/login and /etc/pam.d/system-auth:
session    required    pam_systemd.so
git clone git://github.com/sofar/xorg-launch-helper.git
cd xorg-launch-helper
./autogen.sh && ./configure --prefix=/usr && make && sudo make install
git clone git://github.com/sofar/user-session-units.git
cd user-session-units
./autogen.sh && ./configure --prefix=/usr && make && sudo make install
  • you can also install ssh-agent.service unit on your system. Usually all units provided by the system are located in /usr/lib/systemd/user. User defined one are in ~/.config/systemd/user/.
  • Once the configuration is done you can now enable your user session for autologin as root (where 1000 is your user id) :
ln -sf /usr/lib/systemd/system/user-session@.service \
     /etc/systemd/system/graphical.target.wants/user-session@1000.service
  • Disable your preferred session manager and restart. The user session should now run, but not be really useful. Log in a console and type :
$ export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/dbus/user_bus_socket
$ systemctl --user enable e18.service
$ systemctl --user enable ssh-agent.service
$ systemctl --user start e18.service

Enlightenment should now start from systemd user session automatically at every boot.

Last Author
beber
Last Edited
Sep 19 2017, 4:32 PM
Projects
None
Subscribers
None