My home DSL link really is fast enough to make remote X acceptable

March 31, 2020

A few years ago I wrote about how my home internet link had gradually gotten fast enough that I could toy around with running even VMWare Workstation over remote X. At the time (and afterward) I thought that that was kind of nice in theory, but I never really tested how far this would go and how it would feel to significantly use remote X for real (even when I missed various aspects of remote X). Recently, world and local events have made for an extended period of working from home, which means that I now very much miss some aspects of my work X environment and have been strongly motivated to see if I can use them over remote X. Because I'm lazy, I've been doing all of this over basic SSH X forwarding (with compression turned on) instead of anything more advanced that would require more work on my part.

I was going to say that I started with things that are fundamentally text based, but that's not really true. Even X programs that render text are no longer 'text based' in the sense of sending only 'draw this character' requests to the server, because modern X fonts are rendered in the client and sent to the server as bitmaps. Given font anti-aliasing for LCD displays, they may not even be black and white bitmaps. Still, programs like exmh and sam only really do relatively simple graphics, and not necessarily very often. All of this runs well enough that I'm mostly happy to keep on using it instead of other options. Given past experiences I wasn't really surprised by this.

What I have recently been surprised with is running VMWare Workstation remotely from my office machine, because what I was doing (from remote) reached the point where I wanted to spin up a test virtual machine and we didn't build a virtual machine host designed for remote use before we left the office. Back several years ago in the original entry, I didn't try to seriously use VMWare Workstation to get real work done; now I have, and it works decently (certainly enough for me to be productive with it). It doesn't even seem to saturate my DSL link or suffer too much when other things are using the link.

Of course, running X remotely over a DSL link that's only medium fast doesn't measure up to running it over a 1G Ethernet network, much less the local machine. I can certainly feel the difference (mostly in latency and responsiveness). But it's much more usable than I might have expected, and I've had to change my work habits less than I feared.

(I'm not sure if using SSH's build in compression is a good idea in general these days, but on a quick experiment it appears to be drastically reducing the total data sent from the remote VMWare Workstation to my home machine.)

PS: There are more sophisticated ways of doing remote X than just 'ssh -X' that are said to perform better. If we keep on working remotely for long enough, I will probably wind up exploring some of them.

Comments on this page:

By Carsten at 2020-04-01 07:40:33:

My standard remote setup is a lightweight desktop session (lxqt, xfce etc.) inside x2go on a server at work.

The session has the bazillion terms and emacsesen I use, and I can comfortably log into the session from anywhere, including my work desktop machine, always getting the same view. Furthermore, everything is persistent, no matter how often the connection is broken/remade.

Even at the other end of the world, the x2go protocol (which is the NX protocol) is fast enough for graphical work with numpy and matplotlib.


If you install VMware Workstation on your home machine, you can use it to connect to the VMWare Workstation instance on your work machine (assuming the proper configuration, appropriate firewall rules, and so on) and manage VMs running there, including access to their consoles. I can't speak to the bandwidth utilization, performance, responsiveness, etc., as compared to X forwarding.

You may be able to do the same thing using VMware Remote Console (as opposed to installing Workstation) but I'm honestly not sure. It does work with remote ESXi hosts well enough but I've never tried to connect to a remote Workstation instance with it and I'm not sure if it is intended for that use case or not.

Of course, if X forwarding is working well enough for your needs, carry on!

Written on 31 March 2020.
« It's worth documenting the obvious (before it stops being obvious)
Why Linux bootloaders wind up being complicated »

Page tools: View Source, View Normal, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Tue Mar 31 21:45:26 2020
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.