Thanks for the detailed information, every bit helps. This is a tricky one to figure out. First off, did you get this from /usr/lib/indicator-session/gtk-logout-helper --logout ? I see gnome-session[2984]: DEBUG(+): GsmManager: sending query-end-session to clients (logout mode: no confirmation) and wonder why there was no confirmation. Also, are you using the latest PPA or Onieric beta? Taking your log without the Dash first: On logout, gnome-session sends the "QueryEndSession" signal to every app to ask if they're ok with quitting now, and waits for a reply. unity-2d-{panel,launcher} gets this and sends a reply, which should declare that it's ok. gnome-session[2984]: DEBUG(+): GsmDBusClient: sending QueryEndSession signal to :1.21 unity-2d-launcher: [DEBUG] void GnomeSessionClient::queryEndSession(): unity-2d-launcher: [DEBUG] bool GnomeSessionClientPrivate::sendEndSessionResponse(): gnome-session[2984]: DEBUG(+): GsmManager: adding client to query clients: /org/gnome/SessionManager/Client6 Instead it appears to be sending the opposite, that it is busy: gnome-session[2984]: DEBUG(+): GsmManager: Inhibitor app:unity-2d-panel client:/org/gnome/SessionManager/Client5 bus-name: reason:Questo programma sta bloccando la terminazione della sessione. which gnome-session-manager considers an "Inhibitor" of logout - used in the "The apps are blocking logout" dialog. I'm surprised that it is doing this. Anyway, eventually unity-2d-{panel,launcher} say that they're ok with quitting (is-ok=1): gnome-session[2984]: DEBUG(+): GsmXSMPClient: Client '0x9a7f590 [unity-2d-launcher 1022e5226e5dbeea9131841391225066900000029840038]' received InteractDone(cancel_shutdown = False) gnome-session[2984]: DEBUG(+): GsmManager: Response from end session request: is-ok=1 do-last=0 cancel=0 reason= the Inhibitor is removed, and the QueryEndSession phase completes. Next the EndSession phase begins, when apps are all told to quit. gnome-session[2984]: DEBUG(+): GsmXSMPClient: Client '0x9a7f590 [unity-2d-launcher 1022e5226e5dbeea9131841391225066900000029840038]' received SaveYourselfDone(success = True) gnome-session[2984]: DEBUG(+): GsmManager: Response from end session request: is-ok=1 do-last=0 cancel=0 reason= We again confirm that we're ok to quit (above output), and start the shutdown. In order to shutdown in a way that gnome-session is aware of, we stay alive long enough to receive the EndSession signal: unity-2d-panel: [DEBUG] void GnomeSessionClient::waitForEndSession(): Application is about to quit, waiting for gnome-session to call us back unity-2d-panel: [DEBUG] void GnomeSessionClient::endSession(): unity-2d-panel: [DEBUG] bool GnomeSessionClientPrivate::sendEndSessionResponse(): which it must do within 3 seconds, or we quit anyway with an error (not in your log, so good). Note that gnome-session is designed to kill any program after 10 seconds if it doesn't reply. That could explain the wait. Yet I still see at the very end of your log (mine too): unity-2d-launcher: [WARNING] Gdk: unity-2d-launcher: Fatal IO error 0 (Successo) on X server :0. I believe this message comes from a thread which monitors keypresses (for the Super key & other shortcuts). I suspect that this thread isn't exiting on quit, stopping the launcher from exiting cleanly. Your with-dash output looks pretty consistent with what I expect. I'm still digging. This is my progress so far, I thought you'd like to know :)