On Thursday 30 January 2003 05:21 pm, Buchan Milne wrote:
> Timothy R. Butler wrote:
>> I'd like to propose an idea that I think could easily be implemented by
>> 9.1 final and would be really great. I mean, wonderful. Most of you
>> probably know the term "Fast user switching" from the Windows XP
>> marketingspeak. Most of you also know that GNU/Linux is fully capable of
>> doing the same thing.
> Of course, we have had this much longer than XP, but the
> point-and-clickers (the one's who would currently not be able to fix
> their mouse with MCC if their mouse wasn't working) would think XP had
> it first, because XP has a GUI for it.
What we have is different. There is no security, for example. Someone could
wander in, switch to their own screen and be working on it when you came
back, and if you assumed you had logged out they would then be likely to have
an opportunity to go through your stuff.
What would be needed to work around this are a text-mode tool and
modifications to the screensavers (in KDE and xscreensaver).
The screensaver mod would detect the X instance losing focus and immediately
throw the screensaver into a mode where it locked the session until it again
achieved focus, then whoever focussed on the session would need to know the
user's password to be able to get past the screensaver.
Likewise the text console mod would blank the console when it lost focus, and
demand a password before unblanking when focus returned.
One useful advanced feature of these mods would be to not do this if focus
arrived from an unlocked session owned by the same user. Another would be the
option of starting a new session as a different user, or by identifying
yourself as an administrator.
A feature I would like to see in screensavers is awareness of power
management, so that when the screen was suspended or powered down, the
screensaver just displayed black and stopped chewing CPU cycles (SIGSTP?).
The next step beyond this is complete session management, like Sun's, where
your X session goes through a virtual X server which is basically just a
router. You can then park a session somewhere, which routes it to a 'null' X
server (bit-bucket), wander off to another screen (potentially on the same
box) and unpark the session from the other box.
A *really*cool* option for this would be multiple independent sessions for the
same user, that is, when you log in you get the option of starting a new
session, unparking a parked session, or `snatching' an active session from
another screen.
For the penultimate in coolosity, wire the consoles and/or `screen' program
into the same logic. To see just how cool this would be in real life,
consider this scenario:
You are called away from work to a customer site at the wrong end
of a modem. You ssh in to work, which sees no DISPLAY envar so does
not offer you anything graphical. You start a new session, but you
could have taken over one of your Konsole windows if it had been
useful. You start a new console session fix a bug, compile the result
and push it to your updates server, where this and other clients can
easily fetch it. Test, iterate. The day ends, you go home and log in.
Your home machine `knows' about your work machine so it offers you
sessions on that as well as a new one. You `snatch' your work
session, glance at your MRTG graphs, scroll back through a few of
your IRC sessions, note that the customer needs an extra piece, so
scp it from your home machine to the FTP server at work. Because the
inbound scp is not a terminal, it automatically gets a new text
session. You start another compile at work, open a new session at
home and get into some seriously relaxing bzfragging.
Challenge an XP user to do that (-: even using VNC it would be clumsy and
slow, if it could be done, and using VNC on an XP box is illegal :-)
I'd be surprised if the `X router' didn't already exist somewhere.
Cheers; Leon