This is a very short statement of joy in that I found something I thought of being very complicated – actually turned out to be done quite easy.
We have a multitude of clients with a multitude of infrastructures. Then there is home office and still a Corona pandemic (according to individual voices..?), so all in all, one does not always have a Linux system at hand when working on a Linux project.
SSH access is usually easy, but if you need graphical UIs, that would be a problem, because the X Window System (X11) that is commonplace for the graphical display of Linux and the standard ssh client allows X11 forwarding via the command line option
ssh -X out of the box.
Now Windows is a different story, but it turns out that the right tools… just exist. This is the short version:
- There is the Xming Public Domain version (last release in 2016) which you can get from e.g. here and is straightforward to install. This plays the role of a X Server, e.g. a software-side display that can receive data via ssh.
- After the straighinstallation, call XLaunch to setup
- The “Multiple Windows” option is fine, as is using “Display number 0”. I then opted to “start no client” and ignored the other options.
- I already use PuTTY for everything else (including SSH tunnels to various remote networks), and while this has a somewhat objectionable user interface, one can manage. If you have an existing session, make sure to select that first, then click Load, then adjust the settings as follows.
- go to Connection > SSH > X11
- Enable X11 Forwarding
- in “X display location”, enter “localhost:0” if you chose “Display number 0” in step 3. Or choose accordingly.
- You might now save (or don’t) and open the connection.
I was more than surprised just to be able to start any gui application on our client’s remote machine and seeing the result.
Sure you might get a few seconds delay, but compared to the hassle I expected – this was a walk in the park.
A big shoutout to the creators of Xming and PuTTY, well deserved.