Menu

#578 LXDM is unable to start a systemd user-session

open
dgod.osa
lxdm (80)
5
2014-08-18
2013-04-11
No

Encountered this while trying to setup XFCE to run as a session under systemd --user. Added a file in /usr/share/xsessions describing that session:

`cat /usr/share/xsessions/xfce-systemd.desktop`
[Desktop Entry]
Version=1.0
Name=Xfce Systemd Session
Name[en_GB]=Xfce Systemd Session
Comment=Use this session to run Xfce under Systemd as your desktop environment
Comment[en_GB]=Use this session to run Xfce under Systemd as your desktop environment
Exec=/bin/systemd --user
Icon=
Type=Application

However, when trying to login to that session, LXDM simply falls back to the login screen after (less than) a second, with no relevant information in the system journal except:

Apr 11 14:57:01 gerber lxdm-binary[2215]: pam_unix(lxdm:session): session opened for user macgyver by (uid=0)
Apr 11 14:57:01 gerber systemd-logind[494]: New session 4 of user macgyver.
Apr 11 14:57:01 gerber systemd-logind[494]: Linked /tmp/.X11-unix/X0 to /run/user/1000/X11-display.
Apr 11 14:57:01 gerber lxdm-binary[2215]: pam_unix(lxdm:session): session closed for user macgyver

With LXDM running on tty7, when logged in to tty1 as that user, running
export DISPLAY=:0.0
systemd --user
will correctly start the session "next to" LXDM on the X server. That is, the session starts, and I can still view LXDM as a window within XFCE.

Furthermore, lightDM is also able to start the session as expected in this setup. Thus, the problem appears to be with LXDM.

I'm on arch linux, i386, with lxdm 0.4.1, xfce 4.10.0 and systemd 200.

The systemd setup is as follows (snipped irrelevant lines):

macgyver@gerber /etc/systemd/user $ ls -lRa
lrwxrwxrwx 1 root root 30 Apr 10 19:55 default.target -> /etc/systemd/user/xfce4.target
-rw-r--r-- 1 root root 148 Apr 11 14:09 xfce4-session.service
-rw-r--r-- 1 root root 92 Apr 10 19:51 xfce4.target
drwxr-xr-x 2 root root 4096 Apr 11 14:09 xfce4.target.wants

./xfce4.target.wants:
lrwxrwxrwx 1 root root 24 Apr 10 19:55 xfce4-session.service -> ../xfce4-session.service

macgyver@gerber /etc/systemd/user $ cat xfce4.target
[Unit]
Description=The Xfce 4.x Desktop Environment
Requires=dbus.socket
AllowIsolate=true

macgyver@gerber /etc/systemd/user $ cat xfce4-session.service
[Unit]
Description=Xfce4 Session Manager

[Service]
Type=simple
ExecStart=/usr/bin/startxfce4
Restart=on-failure

[Install]
WantedBy=xfce4.target

macgyver@gerber /usr/lib/systemd/user $ cat dbus.socket
[Unit]
Description=D-Bus System Message Bus Socket

[Socket]
ListenStream=%t/dbus/user_bus_socket

As you can see I'm currently still using the "normal" xfce startup scripts, since at this point I'm not sure if I can abandon their setup directives entirely, this is a first attempt at getting this to work.

I found bug 3537520, https://sourceforge.net/tracker/index.php?func=detail&aid=3537520&group_id=180858&atid=894869 , but my normal XFCE-session does appear to get a seat, and my /etc/pam.d/lxdm has the entry "-session optional pam_systemd.so", so this appears to be unrelated.

Discussion

  • dgod.osa

    dgod.osa - 2013-04-22

    too complex.
    first you should ensure /bin/systemd is there.
    then try to run xterm first.

     

Log in to post a comment.