diff options
Diffstat (limited to 'data/org.gnome.Shell@x11.service.in')
-rw-r--r-- | data/org.gnome.Shell@x11.service.in | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/data/org.gnome.Shell@x11.service.in b/data/org.gnome.Shell@x11.service.in new file mode 100644 index 0000000..078d87a --- /dev/null +++ b/data/org.gnome.Shell@x11.service.in @@ -0,0 +1,42 @@ +[Unit] +Description=GNOME Shell on X11 +# On X11, try to show the GNOME Session Failed screen +OnFailure=org.gnome.Shell-disable-extensions.service gnome-session-failed.target +OnFailureJobMode=replace +CollectMode=inactive-or-failed +RefuseManualStart=on +RefuseManualStop=on + +After=gnome-session-manager.target + +Requisite=gnome-session-initialized.target +PartOf=gnome-session-initialized.target +Before=gnome-session-initialized.target + +# Limit startup frequency more than the default +StartLimitIntervalSec=15s +StartLimitBurst=3 + +[Service] +Slice=session.slice +Type=notify +# NOTE: This can be replaced with ConditionEnvironment=XDG_SESSION_TYPE=%I in +# the [Unit] section with systemd >= 246. Also, the current solution is +# kind of painful as systemd had a bug where it retries the condition. +# Only start if the template instance matches the session type. +ExecCondition=/bin/sh -c 'test "$XDG_SESSION_TYPE" = "%I" || exit 2' +ExecStart=@bindir@/gnome-shell +# Exit code 1 means we are probably *not* dealing with an extension failure +SuccessExitStatus=1 + +# On X11 we do not need to unset any variables + +# On X11 we want to restart on-success (Alt+F2 + r) and on-failure. +Restart=always +# Do not wait before restarting the shell +RestartSec=0ms +# Kill any stubborn child processes after this long +TimeoutStopSec=5 + +# Lower down gnome-shell's OOM score to avoid being killed by OOM-killer too early +OOMScoreAdjust=-1000 |