> If you ever end up stopping gnome-keyring from within a new session then its ExecStopPost kills the upstart session of this new one that we are starting up, *not* the previous one that it was started up under.
I assume you meant to say "gnome-session.service" here, not keyring (as its ExecStopPost is harmless). gnome-session is the session leader, so stopping it by definition means to end the current session.
I now cleaned up the transaction handling to avoid having to wait for "deactivating" units after *-session.target ends (both at the top of the script to clean up lingering sessions and the end to cleanly exit without prematurely stopping X).
> If you ever end up stopping gnome-keyring from within a new session then its ExecStopPost kills the upstart session of this new one that we are starting up, *not* the previous one that it was started up under.
I assume you meant to say "gnome- session. service" here, not keyring (as its ExecStopPost is harmless). gnome-session is the session leader, so stopping it by definition means to end the current session.
I now cleaned up the transaction handling to avoid having to wait for "deactivating" units after *-session.target ends (both at the top of the script to clean up lingering sessions and the end to cleanly exit without prematurely stopping X).