> I'm not sure why xdm should behave differently under systemd. After all, > it only ships a SysV init script atm.
if "service xdm restart" is run directly by systemd rather than within the session, it would not kill itself and would keep working. And trying to run the /etc/init.d/xdm script with a shell if systemd is in use does not work, because it goes through systemd anyway. It was one of the arguments of systemd superiority in the first place.