xorg-server: start via xorg-launch-helper

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.
...
This commit is contained in:
Stefan Saraev 2013-10-10 15:22:17 +03:00
parent 87fe896bf3
commit 582f10f168
2 changed files with 3 additions and 2 deletions

View File

@ -25,7 +25,7 @@ PKG_ARCH="any"
PKG_LICENSE="OSS"
PKG_SITE="http://www.X.org"
PKG_URL="http://xorg.freedesktop.org/archive/individual/xserver/$PKG_NAME-$PKG_VERSION.tar.bz2"
PKG_DEPENDS="libpciaccess libX11 libXfont libdrm openssl freetype pixman systemd"
PKG_DEPENDS="libpciaccess libX11 libXfont libdrm openssl freetype pixman systemd xorg-launch-helper"
PKG_BUILD_DEPENDS_TARGET="toolchain util-macros font-util fontsproto randrproto recordproto renderproto dri2proto fixesproto damageproto scrnsaverproto videoproto inputproto xf86dgaproto xf86vidmodeproto xf86driproto xf86miscproto glproto libpciaccess libX11 libXfont libxkbfile libdrm openssl freetype pixman fontsproto systemd"
PKG_PRIORITY="optional"
PKG_SECTION="x11/xserver"

View File

@ -6,9 +6,10 @@ After=multi-user.target
ConditionPathExists=/run/openelec/xorg-settings.conf
[Service]
Type=notify
EnvironmentFile=/run/openelec/xorg-settings.conf
EnvironmentFile=-/run/openelec/debug/xorg.conf
ExecStart=/usr/bin/Xorg vt01 $XORG_ARGS $XORG_DEBUG
ExecStart=/usr/bin/xorg-launch-helper vt01 $XORG_ARGS $XORG_DEBUG
Restart=always
RestartSec=2
StartLimitInterval=0