[Unit] Description=Shutdown running GNOME Session # Allow exit.target to start even if this unit is started with replace-irreversibly. # All (weak) dependencies need to do the same. Services also need to ensure they # are in the root slice by setting Slice=-.slice. DefaultDependencies=no Conflicts=graphical-session.target graphical-session-pre.target After=graphical-session.target graphical-session-pre.target # Add explicit conflicts/after lines for gnome-session targets, technically # this should not be needed, but is an extra safety measure. Conflicts=gnome-session.target gnome-session-manager.target After=gnome-session.target gnome-session-manager.target Conflicts=gnome-session-pre.target gnome-session-initialized.target gnome-session-failed.target After=gnome-session-pre.target gnome-session-initialized.target gnome-session-failed.target # We need to make sure this unit is stopped; primarily so that the tree of # units that we created is completely cleaned. # Note that this can also be improved by reversing the conflicts above and # not listing them in the shutdown unit. StopWhenUnneeded=true # We trigger a restart of DBus after reaching the shutdown target this # is a workaround so that DBus services that do not connect to the # display server are shut down after log-out. # This should be removed when the relevant services add a # PartOf=graphical-session.target # Historic bug: https://bugzilla.gnome.org/show_bug.cgi?id=764029 Wants=gnome-session-restart-dbus.service Before=gnome-session-restart-dbus.service