Session Management Clients

Session Management Clients

Grepping across all the modules in the desktop suite can sometimes reveal interesting information. I have a few posts planned about various things I have found this way. This time I have taken a look at the use of session management clients. The two options currently available are GnomeClient (from libgnome) and EggSMClient (code copied into all the modules using it).


  • evolution
  • gnome-media
  • gnome-panel
  • gok
  • vino
  • yelp


  • brasero
  • epiphany
  • evince
  • file-roller
  • gedit
  • gnome-games
  • gnome-session
  • gnome-terminal
  • gnome-utils
  • nautilus
  • seahorse
  • totem

An effort was made to get EggSMClient into GTK but unfortunately it looks like it is stranded in Hopefully we will get at real solution in GTK but until then it seems like the majority is considering EggSMClient as the lesser evil.


I am currently finishing my masters thesis and I have had to cut back on my GNOME hacking because of this. My last exam is scheduled to be on the 19th June and after that I should have some more free time on my hands again. I have a lot of GNOMEy plans and I can’t wait to get the time to hack on them again. More on this when I actually have the time to do it. I will also spend a lot of this free time job hunting which I rather much look forward to. Job interviews are probably going to be nervewrecking but I am still also very excited about it.

Today it is one week ago that I went to Gelschenkirchen with some friends to see AC/DC at Veltins Arena. The concert was awesome and also incredibly loud. They still rock very much and I absolutely loved it. If you have the chance to see them on their tour I recommend going.

7 thoughts on “Session Management Clients”

  1. A real solution for _what_ is the question, right? That’s what the GTK bug is stuck on. Meanwhile everyone’s just “doing session management” for some kind of random reason with some kind of random result. It’s never worked or been useful, ever, in GNOME’s entire lifetime.

    Registering to autostart is useful. Saving app state across app invocations (NOT per-session/at-session-save) is useful. Logout notification is useful.

    XSMP is not useful, it isn’t even _compatible_ with those other things that are useful.

  2. Sure. I deliberately omitted my own opinion about the usefulness of session saving[1]. I know that others find it useful and will leave it at that.

    My post was simply meant to draw attention to fact that while we wait for a real solution (whatever that might be) application developers are doing massive code copy/pasting to avoid regressing whatever they did before.

    The discussion about what this “real solution” is best to keep in the bug. Unfortunately it looks like it is going nowhere and we are left with the ton of suck that is the current situation.

    [1] I find session saving on a single computer useless. Adding something like session saving to an online service would open rocking use cases for those of us who use multiple computers/devices.

  3. Don’t forget there’s also a cut down XSMP implementation in Pidgin which I based on libGSMclient, a previous Havoc project which probably disappeared during the SVN -> GIT migration. It was added literally just to have Pidgin saved in the session and restarted.

    Something we’re interested in seeing working session management for is to allow background killing of applications to manage RAM and CPU usage – if apps properly implement session management to save their state without interaction and can be brought back *just like they were before*, you can close stuff which isn’t the foreground app and bring it back if the user switches to it, assuming sufficient collusion between your task switcher and session manager.

  4. I have been working on gnome-shell the last month and I implore you to think about session management in a light different than saving your desktop state between sessions.

    With gnome-shell one of the ideas being bounced around, although not accepted by everyone is being able to organize workspaces as activities. Create a new workspace and add some launchers to the gimp, inkscape, agave etc and save that as a template. Then you launch a new graphics activity which is a workspace that has all your pre-configured applications all setup. You start working on whatever your graphics task is, but then have to work on something else. You close you Graphics activity and move on. Late when you have some free time you then go back and relaunch the activity and through session-management ( state management would be a better name here ) Your windows are all restored and documents opened to what you were working on and you don’t have to waste any time getting back to what you were doing.

Leave a Reply

Your email address will not be published. Required fields are marked *