Bug#755359: [kdm] systemd seem to fail to start display-manager.service
Control: tags -1 -unreproducible
Control: tags -1 patch
Control: retitle -1 kdm: Please add a systemd service file
On 01/09/2015 08:14 PM, Francesco Muzio wrote:
> it means if you type the command
>
> # journalctl --no-pager | grep display-manager
>
> no output is printed ?
Ok, I actually understand now what your problem is. What you are seeing
there is a mere *warning* by the systemd generator for the display
manager unit that there is no service file for kdm present and that
systemd used different means like a sysvinit LSB script or similar
to start kdm.
root@vs76:~# journalctl --no-pager |grep display-manager
Jan 09 22:39:09 vs76 systemd[1]: Cannot add dependency job for unit
display-manager.service, ignoring: Unit display-manager.service failed
to load: No such file or directory.
root@vs76:~#
And, in fact, when you look at the output of "systemctl status
kdm.service", you see that systemd used the kdm sysvinit script
to start kdm which is indicated by the prefix "LSB:":
root@vs76:~# systemctl status kdm.service
● kdm.service - LSB: X display manager for KDE
Loaded: loaded (/etc/init.d/kdm)
Drop-In: /run/systemd/generator/kdm.service.d
└─50-kdm-$x-display-manager.conf
Active: active (running) since Fri 2015-01-09 22:39:10 CET; 31s ago
Process: 443 ExecStart=/etc/init.d/kdm start (code=exited,
status=0/SUCCESS)
CGroup: /system.slice/kdm.service
├─492 /usr/bin/kdm
├─497 /usr/bin/X :0 vt7 -br -nolisten tcp -auth
/var/run/xauth/A:0-a7npvc
├─716 -:0
└─717 /usr/lib/kde4/libexec/kdm_greet
Jan 09 22:39:10 vs76 kdm[443]: Starting K Display Manager: kdm.
Jan 09 22:39:11 vs76 kdm_greet[717]: Cannot load
/usr/share/kde4/apps/kdm/faces/.default.face: No such file...ctory
Hint: Some lines were ellipsized, use -l to show in full.
root@vs76:~#
This isn't an error or a serious bug, it's just an information, nothing
else. And to fix it, you can simply drop the attached service file
"kdm.service" into /lib/systemd/system. This is a service file I derived
from the kdm.service provided for kdm in Fedora. I tested it and it
works without any problems and the warning message in the journal
vanishes and "systemctl status kdm.service" lists a native systemd
service:
root@vs76:~# journalctl --no-pager |grep display-manager
root@vs76:~# systemctl status kdm.service
● kdm.service - KDE Display Manager
Loaded: loaded (/lib/systemd/system/kdm.service; enabled)
Drop-In: /run/systemd/generator/kdm.service.d
└─50-kdm-$x-display-manager.conf
Active: active (running) since Fri 2015-01-09 22:41:39 CET; 19s ago
Docs: man:kdm(1)
Process: 489 ExecStartPre=/bin/sh -c [ "$(cat
/etc/X11/default-display-manager 2>/dev/null)" = "/usr/bin/kdm" ]
(code=exited, status=0/SUCCESS)
Main PID: 497 (kdm)
CGroup: /system.slice/kdm.service
├─497 /usr/bin/kdm
├─520 /usr/bin/X :0 vt7 -br -nolisten tcp -auth
/var/run/xauth/A:0-rQr9Ab
├─710 -:0
└─711 /usr/lib/kde4/libexec/kdm_greet
Jan 09 22:41:40 vs76 kdm_greet[711]: Cannot load
/usr/share/kde4/apps/kdm/faces/.default.face: No such file...ctory
Hint: Some lines were ellipsized, use -l to show in full.
root@vs76:~#
So my initial approach to fix the issue was right, the service
file was just not correct. As a reference, I am attaching the service
files for lightdm and kdm which are shipped with Fedora. Note that the
kdm.service file from Fedora does *not* specify a BusName unlike the
one for lightdm. Adding a BusName would result in systemd
misinterpreting the exec status and leaving the activation state as
"Activating".
I will ask the release team for a possible pre-approval of a patched
kdm package.
Cheers,
Adrian
--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer - glaubitz@debian.org
`. `' Freie Universitaet Berlin - glaubitz@physik.fu-berlin.de
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
[Unit]
Description=KDE Display Manager
Documentation=man:kdm(1)
After=systemd-user-sessions.service
[Service]
ExecStartPre=/bin/sh -c '[ "$(cat /etc/X11/default-display-manager 2>/dev/null)" = "/usr/bin/kdm" ]'
ExecStart=/usr/bin/kdm
Restart=always
IgnoreSIGPIPE=no
[Unit]
Description=Light Display Manager
Documentation=man:lightdm(1)
Conflicts=getty@tty1.service
After=systemd-user-sessions.service getty@tty1.service plymouth-quit.service livesys-late.service
[Service]
ExecStart=/usr/sbin/lightdm
Restart=always
IgnoreSIGPIPE=no
BusName=org.freedesktop.DisplayManager
[Install]
Alias=display-manager.service
[Unit]
Description=The KDE login manager
Conflicts=getty@tty1.service
After=systemd-user-sessions.service getty@tty1.service plymouth-quit.service
Conflicts=plymouth-quit.service
[Service]
ExecStart=/usr/bin/kdm vt1
Restart=always
IgnoreSIGPIPE=no
[Install]
Alias=display-manager.service
Reply to: