Important changes to screen_session script
Stéphane Graber <stgraber-GeWIH/[email protected]> Wed, 23 Dec 2009 00:52:49 -0500
| Newsgroups | gmane.linux.terminal-server.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi again,
I spent most of the evening implementing a few changes that I'll need to
have a smooth user experience in Ubuntu Lucid.
By default Lucid will ship Plymouth (Fedora's boot splash) and boot on
VT7 with the no-root X patch (-nr). That means you'll see the Ubuntu
boot splash and directly arrive in GDM without any display mode change
(no flicker).
To make that easier and make multiple X servers somewhat usable and nice
to look at, I reimplemented part of the VT switching code that we have
in screen_session.
Basically what it does now is:
- Check what's the current VT (using fgconsole, I hope everyone has it)
- Set a few variables that'll be useful in the code (CURTTY,
CURTTY_NUM, CURRENT_NUM)
- Check if the screen we want to start is on the current VT, if yes,
then simply start it without calling openvt.
- If it's not and the current VT has a defined screen, then start the
new screen on its own VT and make sure we don't switch to it.
- If it's not and no screen is defined for that VT (for example if we
are on VT1), then switch to the new VT as usual, then following the
above rules, we won't change VT again.
My test setup is:
SCREEN_07=rdesktop
SCREEN_08=ldm
SCREEN_09=rdesktop
That's on an Intel-based netbook with Lucid, when booting, I have a
flicker-less boot finishing by the Windows prompt on SCREEN_07.
If I switch to VT8, ldm will load and if I switch to VT9 a second
rdesktop will load.
In the past, I used to see SCREEN_07 starting, then automatically
switching to SCREEN_09 and finally SCREEN_08 would load. That means I'd
see my X change 3 times and end up on SCREEN_08. That was at least from
my point of view, not really something we want :)
For some reason X doesn't completely start in the background, so the
actual greeter (be that ldm or rdesktop) will only start when you first
switch to it.
Also, far from all hardware will let you start multiple X servers
without crashes (at least Intel works fine here).
I commited my current code, please feel free to look at it, improve and
test on your own distro and hardware. I'm pretty sure there's something
I missed and we'll need to change it a bit so it works for everyone.
--
Stéphane Graber
Ubuntu developer
http://www.ubuntu.com
------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev
_____________________________________________________________________
Ltsp-developer mailing list. To un-subscribe, or change prefs, goto:
https://lists.sourceforge.net/lists/listinfo/ltsp-developer
For additional LTSP help, try #ltsp channel on irc.freenode.net