terminal services prototype
James Laska
jlaska at redhat.com
Fri Jun 4 13:52:53 UTC 2004
Nice work!
I've been looking for something like this ever since I came across
`screen`. A few quick questions:
- How should physical console logins and logins over VNC for the same
user at the same time be handled? Should both be accessing the same VNC
session? I notice that if I login on VNC, and attempt to login on the
physical console...the session is not shared. This results in
gnome-session and gconf getting confused. One session seems to get the
*locks* for gnome-settings-daemon and uses the configured theme? While
the other session defaults to the stock GNOME icon set and theme. I
believe this is already a known issue with running multiple
gnome-sessions at the same time.
- The VNC session will not be able to do hardware acceleration?
- Launching desktop screensaver preferences shows:
xscreensaver-demo is running as "root" on "myserver". But the
xscreensaver managing display ":1.0" is running as user "nobody" on host
"myserver". Since they are different users they won't be
reading/writing the same ~/.xscreensaver file, so xscreensaver-demo
isn't going to work right.
- The window title for the VNC session is: "VNC: x11". Probably want
something more descriptive like the user name, or the host?
- Perhaps a way to list *active* VNC sessions? The modified gdm doesn't
appear to add entries to utmp/wtmp. Once you login, perhaps you are
prompted with a dialog like:
"There is already an active desktop running for $USER from $HOST. Would
you like to create a new desktop, or join one from the list below?"
- Should the gdm xdmcp configuration settings hold true for the remote
VNC gdm mode also? Meaning, if you set the gdm theme to be the
"old-style" greeter for remote consoles...
Great work!
-jlaska
On Thu, 2004-06-03 at 13:11, Mark McLoughlin wrote:
> Hey,
> Caolán and I have been working on prototyping a VNC based terminal
> services system which also allows hot-desking.
>
> The idea is that we allow GDM to accept VNC connections, spawn a VNC
> server for each new connection and display a login screen. The user then
> authenticates through the login screen as normal and GDM starts a new
> session on the VNC server. However, if you then close your VNC client,
> the session doesn't go away. GDM continues to manage that session.
>
> You may then go to a different terminal, the server will spawn off a
> new VNC server with a login screen through which you log in. However,
> once you log in, GDM detects that you already have a session running and
> switches you to your original session rather than starting a new
> session.
>
> You could imagine terminals which are very similar to LTSP terminals,
> but instead of starting an X server which queries the server for a login
> using XDMCP, it starts a fullscreen vncviewer which connects to the
> server.
>
> We've reached a stage where we can demo the basic idea, so here's the
> results:
>
> 1) On a test machine which will act as the terminal server, install
> the "gdm" and "vnc-server" packages from:
>
> http://people.redhat.com/markmc/terminal-services-demo
>
> Note: there are packages built against both FC2 and rawhide.
>
> 2) Punch port 5900 through the firewall on the server - i.e.
> system-config-securitylevel, Other ports, "5900:tcp"
>
> 3) Reboot for good luck.
>
> 4) From another machine, vncviewer -FullScreen -FullColor myserver
>
> 5) Log in as normal, play around, start a few apps.
>
> 6) Close vncviewer (F8, Exit viewer)
>
> 7) Start vncviewer as in (4)
>
> 8) Log in as normal, you should be immediately switched back to your
> original session.
>
> Caveats:
>
> + You don't want install these packages on a machine which you need to
> stay working. We're making no stability/security guarantees
> whatsoever yet.
>
> + The VNC protocol stream is unencrypted. When you type in your
> password to the login screen its going across the network in plain
> text. Don't test this on an untrusted network. We'll be making all
> this work using the SSL extension used in Vino[1].
>
> + Right now, the client will be encoding the pixels using the "raw"
> encoding. No compression, so it'll be slow. We'll be fixing that
> soon too.
>
> Cheers,
> Mark.
>
> [1] - http://www.gnome.org/~markmc/blog/05022004
>
More information about the Fedora-desktop-list
mailing list