diff options
Diffstat (limited to '')
-rw-r--r-- | data/org.gnome.Shell@x11.service.in | 39 |
1 files changed, 39 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..a70f249 --- /dev/null +++ b/data/org.gnome.Shell@x11.service.in @@ -0,0 +1,39 @@ +[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 +# with systemd >= 245. 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 |