On 03/06/2014 09:57 PM, David C. Rankin wrote:
Slavek,
We need to check your and Francios setup. I think your are still using the init-script to launch tdm which invokes systemd-sysvcompat (/usr/bin/init) instead of pure-systemd. My goal is to have TDE function with pure-systemd.
Or at least in Francios case it is. With arch, you have tdm.service to user pure-systemd to manager tdm. The tdm.service file for Arch is:
$ cat ~/tde/pbpkg/tde-tdebase/tdm.service [Unit] Description=TDE Display Manager After=systemd-user-sessions.service
[Service] ExecStart=/opt/trinity/bin/tdm
[Install] Alias=display-manager.service
This is pure-systed. There is no wrapper script that ultimately launches some wrapper with "exec something".
In Francios setup on Mageia, that is exactly what happens. The Mageia service file is:
cat prefdm.service [Unit] Description=Display Manager After=livesys-late.service systemd-user-sessions.service
# On Mageia gdm/X11 is on tty1. We explicitly cancel the getty here to # avoid any races around that. # Do not stop plymouth, it is done in prefdm if required (or left to the dm) Conflicts=getty@tty1.service plymouth-quit.service After=getty@tty1.service plymouth-quit.service OnFailure=display-manager-failure.service
[Service] ExecStart=/etc/X11/prefdm -nodaemon Restart=always RestartSec=0 IgnoreSIGPIPE=no
That service file does not launch a display manager, it calls the wrapper script prefdm which essentially calls /etc/X11/lookupdm to get the name of the display manager via (45TDE and 45TDE.conf) and then does:
preferred=`/etc/X11/lookupdm "$dm"` [ -n "$preferred" ] && exec $preferred "$@" >/dev/null 2>&1 </dev/null
That isn't systemd -- that is systemd-sysvcompat. That setup just relies on getting "EXEC=/opt/trinity/bin/tdm" from 45TDE.conf and then launching it as an init script.
We need TDE to work with systemd.