Re: Important changes to screen_session script

Gideon Romm <[email protected]> Wed, 23 Dec 2009 07:22:30 -0500
Newsgroups gmane.linux.terminal-server.devel
Message-ID <[email protected]>
Stephane,

Sounds great.  In my experience, when you DO use openvt for all
screens, X initializes on all screens.  If you do NOT use openvt, then
the first X to initialize (a race condition) steals the vt and the
others do not initialize until you switch to their vt.  The reason the
greeter will only start when you switch to it is because X has not yet
really initialized.

In any case, this is a good way to go IMHO.

-Gadi

On Wed, Dec 23, 2009 at 12:52 AM, Stéphane Graber <stgraber-GeWIH/[email protected]> wrote:
> 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
>

------------------------------------------------------------------------------
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