services that depend on Xorg (such as ratpoison/xbmc)
should wait with starting until Xorg is ready for X11 connections
xorg-launch-helper is a simple solution. it starts and forks the
Xorg server and listens for a signal from Xorg. At this point, the
utility signals systemd READY through sd_notify(). At this point
systemd will start units that have an explicit ordering configured
to be after the xorg.service
...
Oct 10 12:03:36 openelec systemd[1]: Reached target Multi-User System.
Oct 10 12:03:36 openelec systemd[1]: Starting Xorg Server...
Oct 10 12:03:39 openelec systemd[1]: Started Xorg Server.
Oct 10 12:03:39 openelec systemd[1]: Starting Ratpoison Window Manager...
Oct 10 12:03:39 openelec systemd[1]: Started Ratpoison Window Manager.
Oct 10 12:03:39 openelec systemd[1]: Starting Graphical Interface.
Oct 10 12:03:39 openelec systemd[1]: Reached target Graphical Interface.
Oct 10 12:03:39 openelec systemd[1]: Starting XBMC user autostart script...
Oct 10 12:03:39 openelec systemd[1]: Started XBMC user autostart script.
Oct 10 12:03:39 openelec systemd[1]: Starting XBMC Media Center...
Oct 10 12:03:39 openelec systemd[1]: Started XBMC Media Center.
Oct 10 12:03:39 openelec systemd[1]: Starting XBMC Mediacenter Interface.
Oct 10 12:03:39 openelec systemd[1]: Reached target XBMC Mediacenter Interface.
Oct 10 12:03:39 openelec systemd[1]: Startup finished in 2.556s (kernel) + 5.194s (userspace) = 7.750s.
...