Cygwin-X Graphics Forwarding from a Linux Server to a Windows Workstation

I have been using Putty and Xwin to forward graphical programs to my Windows Workstation for a long time. Enabling compression in Putty makes the applications run pretty smoothly, but a while back, the folks behind Cygwin decided to stop supporting that feature by default. Why? Who knows. It’s the only reason I use Cygwin really, and perhaps there are better tools out there, but this is the one method I know.

Thing is, with a little tweaking, it still works. So here’s a little tutorial to help you continue to use this great feature. I’m going to use Windows 10 as my desktop example since it’s the current version of Windows in production and being sold, but this can be applied to (I believe) Windows Vista on up.

As with everything Windows, first thing is make sure you have ALL the updates installed. Including optional updates. Some of you might be like – no, you don’t need this, or you don’t need that, but realistically speaking, if you want to get most things to work, it’s a good idea to run all of them.

The software in this tutorial is all x64 based. If you’re not running 64bit by now, sorry, I can’t help those of you on 32bit platforms. I’d like to say the same about IPv6 but that’s in my ISP’s hands. No IPv6 support? Really? Still? Anyway…

I use ninite.com to install Putty, Winscp, and many other useful applications. No I don’t get anything from them for mentioning their site, it’s an extremely useful tool available to use.

Next download the latest Cygwin installer and launch it.

Here are the options I use:

    • Install from internet
    • Default install directory (c:\cygin64)
    • Default local package directory (in your Downloads folder)
    • Direct Connect
    • Mirror: I normally prefer Georgia Tech (Thanks!), but pick whichever you like (ftp://ftp.gtlib.gatech.edu)
    • Note it says gatech is not an official mirror anymore so I’ve changed (http://mirrors.kernel.org)
    • Select the X11 category, I just leave the defaults.
    • I will usually add openssh too.
    • If you need anything else for what you do, add those packages. I use rsync on windows to back up to a Linux server over SSH so I usually add that package as well.