When using "systemctl stop xdm", xdm does not terminate until waiting for 90s. After that it cannot be started again because of an orphan /var/run/xdm.pid. I could fix this by creating the following overides: --- ~ # cat /etc/systemd/system/xdm.service.d/override.conf [Serivce] PIDFile=/var/run/xdm.pid KillMode=process --- With these settings, xdm start/stop appears to work fine.
(In reply to Gerrit Kühn from comment #0) > When using "systemctl stop xdm", xdm does not terminate until waiting for > 90s. After that it cannot be started again because of an orphan > /var/run/xdm.pid. > I could fix this by creating the following overides: > > --- > ~ # cat /etc/systemd/system/xdm.service.d/override.conf > [Serivce] > PIDFile=/var/run/xdm.pid > KillMode=process > --- > > > With these settings, xdm start/stop appears to work fine. I just noticed that the above is not enough to get around all hangs. This one appears the be required additionally: --- ExecStop=/bin/kill -s TERM $MAINPID --- Actually, all this should be default, so I don't really understand what systemd is doing here. There must be some kind of strange race condition. Anyway, I have stopped/started xdm for a dozen times now manually, and this appears to work for me now in a stable manner.
I don't think any of these changes make sense. We need to determine a root cause before we go messing with settings in the unit file.
It works fine for me. Please provide the output from "emerge --info x11-apps/xdm".