Discussion:
Keeping the X session alive upon broken connection
(too old to reply)
Andrei Alexandrescu (See Website For Email)
2005-03-02 04:01:20 UTC
Permalink
I am at the end of my wit after four crazy days of searching the net in
desperation.

(No, I am not Miriam Abacha and I don't want to transfer sixteen million
dollars into your account.)

After coming from the MS Windows connectivity world, where Remote
Desktop Connection allows me to remote only one entire desktop, I was
very pleased to see how my Linux machine is able to share either
separate windows or an entire desktop (or several of them!), in flexible
ways.

However, I was less than pleased when my connection broke and I noticed
that that meant instant death for *all* of my apps - the email I was
editing, emacs, everything! So I thought, I'm sure that's a common
problem that has been long solved. I first looked for a flag in the way
I start the server; then I looked for a utility; and before long, I was
desperately searching up and down the Net for a solution.

First, I was surprised that so few people have had this problem. I've
seen a few discussions on the Usenet about that, but not really like
"this is a known problem and here's how it's being fixed".

Second, I have found there are some solutions, none of which is entirely
satisfactory:

1. VNC server. The VNC server does exactly that - it creates a X server
on the remote machine, and then is able to share that for remote users.
When the remote user disconnects, the session stays there. So it's all
nice and dandy, but VNC has two problems compared to X:

a) It can't share individual windows, only full X desktops. Thus one
cannot use VNC-remoted windows managed on the user's machine.

b) It transports bits, not X commands, and as such it is slower
(transports the borders of all windows, the glyphs...) As such, X
transports less over the network because it stores (or caches) fonts
locally and it draws the borders on the user's machine.

2. xmove by Ethan Solomita.

http://public.planetmirror.com/pub/hpfreeware/X11/Networking/xmove-2.0b2/xmove-2.0b2.README.html

This program is part of the Debian distribution, and it seems to be
awfully close to what I need to do. I even managed to compile it on my
Linux distribution. However, the lack of documentation and examples
makes it impossible for me to get my setup running.

3. XMX by John Bazik.

http://www.cs.brown.edu/software/xmx/

This is an X multiplexer that can do many thing, among which (I believe)
resumption of sessions after broken connections. I couldn't make that
work to save my life.

4. SCO XVision with the Vision Resume feature, which is supposed to do
exactly what I want. I downloaded a trial version and couldn't get their
Vision Resume feature to work on my Cygin/X server.

===============

So, could anyone help me with that? Any chance of a simple, sensible
program that allows me to keep my X-Windows session alive, but "grayed
out" when I disconnect, so it becomes fresh again when I connect again?


Thanks in advance,

Andrei
Dan Espen
2005-03-02 14:14:45 UTC
Permalink
Post by Andrei Alexandrescu (See Website For Email)
I am at the end of my wit after four crazy days of searching the net in
desperation.
Either my news client is broken or you are multiposting.
If you are, please try not to.

See my other reply.
K.L. Oppenheim
2005-03-03 05:44:55 UTC
Permalink
Andrei Alexandrescu wrote:
|
| I was very pleased to see how my Linux machine is able to share
| either separate windows or an entire desktop (or several of them!),
| in flexible ways. However, I was less than pleased when my connection
| broke and I noticed that that meant instant death for *all* of my apps...


Re: "instant death"

Could your real problem be DHCP? That your IP address is
different after you reconnect; whereupon all those sessions
have no idea how to reconnect their endpoints, which are
uniquely identified using the IP address of both ends.

VNC, et al, provide a connection abstraction that works at a
level above TCP and IP and may be able to buffer the address
dislocation.
--
K.L.
Michel Bardiaux
2005-03-03 17:08:46 UTC
Permalink
Post by K.L. Oppenheim
|
| I was very pleased to see how my Linux machine is able to share
| either separate windows or an entire desktop (or several of them!),
| in flexible ways. However, I was less than pleased when my connection
| broke and I noticed that that meant instant death for *all* of my apps...
Re: "instant death"
Could your real problem be DHCP? That your IP address is
different after you reconnect; whereupon all those sessions
have no idea how to reconnect their endpoints, which are
uniquely identified using the IP address of both ends.
Not possible. The X11 protocol is simply *not* re-connectable because it
allows the server to act asynchronously. Even if you force synchronous
mode (which incurs a severe speed penalty), the current client libraries
simply dont keep track of what the server state should be, so they
would be unable to restore its state after a reconnect, so they dont
even try.
Post by K.L. Oppenheim
VNC, et al, provide a connection abstraction that works at a
level above TCP and IP and may be able to buffer the address
dislocation.
What the OP needs is an intermediate X server running on the *client*
machine. ISTR, xnest or xvfb.
--
Michel Bardiaux
Peaktime Belgium S.A. Bd. du Souverain, 191 B-1160 Bruxelles
Tel : +32 2 790.29.41
Continue reading on narkive:
Loading...