Re: The future of session management in GNOME
- From: Brian Nitz <Brian Nitz Sun COM>
- To: Ray Strode <halfline gmail com>
- Cc: Dan Winship <danw novell com>, desktop-devel-list gnome org
- Subject: Re: The future of session management in GNOME
- Date: Wed, 13 Sep 2006 14:59:06 +0100
Ray Strode wrote:
* XSMP does a number of useful session-managey things (logout
notification, logout cancellation, specifying apps that
should be restarted right away if they crash, specifying
commands to run at logout, etc) which we currently have no
other way of doing, so we'd be forced to reinvent half of
XSMP if we ditched it.
So at this point I'm sort of of the opinion that logout cancellation
isn't really useful.
Then you'd need to decide whether application state and overwrite all
open documents, or throw everything away or somehow allow the user to
individually decide (by cancelling logout!)
An alternative would be to save a snapshot of current state and current
open documents into a versioning filesystem and offer the user a choice
of which state to restore upon login. Until versioning filesystems
become more common, this would be complicated and I'm not sure there is
a clear way to present the snapshot restore options on login. Maybe
something like OSX's time machine.
I've been thinking about a few other things which may fit into "the
future of session management."
Why do we ever log out?
1) For security (A good screensaver will give you
this.)
2) To switch users (Sun Ray does this, but couldn't gdm
also eventually provide fast user switching without logout?)
3) Reset application environment states (Improvements to the
session management GUI could reduce the need for logout here)
4) Free up resources. ???
Reason 4 is especially interesting for multiuser systems, especially
thin clients. It might be interesting for embedded uses of GNOME
(laptop/child, maemo...) to reduce resources when user isn't looking.
Currently, when I pull my card out, it appears that I'm "logged out",
but the GNOME applications, applets, anything with dynamic content is
refreshing, polling, consuming CPU, memory and network bandwidth even
though the session is no longer attached to a keyboard and monitor.
Would it be possible to:
Have session manager tell (galago?) "I'm not here" when user selects
"logout/switch user" or a session card is removed.
Have embedded and other devs detect "I'm not here" from keyboard
timeout, suspend switch, closed lid...
Use this presence information to tell applications/applets with
dynamic content and UI polling to hibernate for a while.
Make sure screen saver and session manager (and a user selectable
set of applications) are immune to this "hibernate" signal.
It's just an idea. Just let me know if it's cracked or if it sparks off
a better idea. I like the fact that I never have to log out and it
takes 0.5 seconds to get back to work in the morning. And I love the
fact that I can take my session home with me and continue work there in
0.5 seconds. Is the "eternal portable gnome session" paradigm workable?
So I'm volunteering to do all of this:
* Write up a more detailed proposal than the above
* Propose extensions to fdo autostart spec, and a spec
covering the XSMP extensions and clarifications. (Hopefully
the XSMP stuff could also go into the autostart spec.)
* Finish/rewrite msm, add a migration path from gnome-session,
propose for 2.18 (or maybe 2.20)
* Reimplement GnomeClient as GtkClient, propose for gtk
2.something.
awesome.
Does this make sense or does someone want to put forth a stronger
argument for killing XSMP?
I don't have a strong argument against it, but I don't see what it
really buys us. Apps either don't support it, or support it very
minimally. I wouldn't say it's that well understood, either. It's
pretty ambiguous in places.
Having said that, I would love to see some improvements on this front,
and I'm sure you'll come up with something reasonable.
What (I think) XSMP does buy us is some session restore compatibility
with applications from KDE, CDE and other desktops.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]