[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: