Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Restartable X
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Desktop Environments
View previous topic :: View next topic  
Author Message
mounty1
l33t
l33t


Joined: 06 Jul 2006
Posts: 934
Location: Queensland

PostPosted: Wed Jun 19, 2013 2:22 am    Post subject: Restartable X Reply with quote

One of the advantages of RDP/VNC over X is that the session can be interrupted and re-started; that is, if the display machine goes down or the network is interrupted, the session remains and can be resumed once the problem is solved. An X session however is terminated. I wonder if a 'proxy X server' mechanism could fix that; it would buffer all traffic and retain state and if the session were interrupted, could resume it and (crucially) 'replay' all the drawing and state-setting traffic to the newly-connected 'real' display server. Maybe this already exists. Comments ?

Obviously, this is only of interest when the CPU machine is separate from the display machine. It is of no interest to the average laptop/desktop all in one set-up.
_________________
Michael Mounteney
Back to top
View user's profile Send private message
eccerr0r
Watchman
Watchman


Joined: 01 Jul 2004
Posts: 9601
Location: almost Mile High in the USA

PostPosted: Wed Jun 19, 2013 6:51 pm    Post subject: Reply with quote

How is that different from, say, running one VNC client per X client?

What are you trying to accomplish here that VNC/RDP does not already do?
_________________
Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching?
Back to top
View user's profile Send private message
mounty1
l33t
l33t


Joined: 06 Jul 2006
Posts: 934
Location: Queensland

PostPosted: Thu Jun 20, 2013 11:20 am    Post subject: Reply with quote

X is a superior protocol in the same way that stroke fonts are superior to raster. It's higher-level, minimises bandwidth usage and fully uses the resolution of the display device.
_________________
Michael Mounteney
Back to top
View user's profile Send private message
eccerr0r
Watchman
Watchman


Joined: 01 Jul 2004
Posts: 9601
Location: almost Mile High in the USA

PostPosted: Thu Jun 20, 2013 1:11 pm    Post subject: Reply with quote

But it does not have intermittent connectivity issues and depends on the X server to remember state.

Bandwidth minimization only is a slight win for text fonts and widget, but even that has some bandwidth limitations (have you ever tried running X11 over a slow but reliable link (try setting up a ppp link between two machines over serial port)? It's actually pretty bad - it's latency dependent (compression is pretty crappy) - I would not forward X over anything less than local straight Ethernet but I would VNC with 500Kb links.)

If you have xrandr support in VNC the target destination can be fully utilized too.
_________________
Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching?
Back to top
View user's profile Send private message
mounty1
l33t
l33t


Joined: 06 Jul 2006
Posts: 934
Location: Queensland

PostPosted: Thu Jun 20, 2013 8:19 pm    Post subject: Reply with quote

I didn't want to have a debate about X vs. RDP; I wanted to ask about an X proxy.
_________________
Michael Mounteney
Back to top
View user's profile Send private message
depontius
Advocate
Advocate


Joined: 05 May 2004
Posts: 3505

PostPosted: Fri Jun 21, 2013 12:22 pm    Post subject: Reply with quote

Long, long ago in this very galaxy there were 2 such efforts - lbx (lbxproxy) and dxpc.

A big part of the problem with remote X has nothing to do with what is being displayed, it's the "verbosity of state." The server and client keep exchanging all sorts of state information, over and over and over. Over ethernet it's not a big problem, but over a remote link it becomes horrible. One of the key aspects of both lbxproxy and dxpc was that they had state-caching, and managed to short-circuit most of that extra verbosity right in the proxy. In other words, X11 had its full conversation with the proxy, and the proxy had a more minimal conversation with the client.

I tried lbxproxy, but never got it working. It was developed as part of the X11 bundle, but was barely deployed, rarely used, and withered quickly.

I actually used dxpc a fair amount for a while. We had a TCP-only VPN to work, which wouldn't work for X11, which uses UDP. The solution was to use dxpc, which used a TCP link between the remote client and the proxy. It also gave the performance improvement because of its client caching and datastream compression. (Actually, dxpc split the X11 protocol into 4 classes and had separate acceleration methods for each class, such as caching, short-circuiting, and compression.)

From what I can tell, dxpc has withered too. It's in portage, and I tried it a while back, but it didn't work.

The logical heir to these proxies is NX, which admits to starting where dxpc left off. I've never actually tried NX, for several reasons. First, it's proprietary, and my employer has their own preferred remote-X solution, so they'll not pay for an alternative. Second, from what I've seen of NX, it seems to want to substitute more infrastructure than just the X11 link - special versions of ssh, etc. It's "intrusive". My employer's remote-X solution is very intrusive, as well. Third, there are free versions of NX, but if NX can be difficult and intrusive to set up, the free versions sound downright cryptic.

Maybe with time I could plow through all of this, but I've never really needed to invest it. I generally "settle" for VNC and x11vnc because they're very non-intrusive.
_________________
.sigs waste space and bandwidth
Back to top
View user's profile Send private message
mounty1
l33t
l33t


Joined: 06 Jul 2006
Posts: 934
Location: Queensland

PostPosted: Fri Jun 21, 2013 9:37 pm    Post subject: Reply with quote

Thanks for that very comprehensive reply. You confirmed my suspicion --- that although an X proxy might be simple in theory, there are many practical details which make it infeasible. In theory, all you have to do is cache and map the window ids., and their state. Then whenever the 'real' server reconnects, just get all the windows to repaint themselves, and set their states. But as you set out, the details make this lightweight and straightforward process extremely difficult to get right --- rather like Xnest in fact.
_________________
Michael Mounteney
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Desktop Environments All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum