PuTTy is de facto SSH client on Windows to connect to Linux servers (actually PuTTy supports more protocols than just SSH-2 ).

It’s very popular as a command-line interface (CLI) for Linux server from Windows machine. But such CLI is not very compelling, especially with people who is slow at typing, or bad at English. There are some other cases when somebody wants to use GUI to interact with Linux server. With PuTTy alone you can not do that, even with the help with some apps like WinSCP or MTPuTTy.

But with XMing , you can have an X server in Windows now, and as long as the X11Forward feature of SSH is enabled on the Linux server, now you can invoke GUI of Linux from PuTTy command !

Without further adieu, here are the steps:

.

Config PuTTy to enable SSH X11Forwarding, with the correct display

+ Given you have a session config already (host, port, SSH)

+ now you can expand the ‘SSH’ tab from the ‘Category’ list -> Choose ‘X11′ from ‘SSH’ list -> Check ‘Enable X11 Forwarding‘

+ In the ‘X display location’ of X11 Forward, you can add either “localhost:0” or “localhost:0.0”

Start XMing server

+ Now you should have a shortcut icon to start XMing as server, which have similar command (Target) as below:

D:\USR\Xming\Xming.exe :0 -clipboard -multiwindow

If you do not have, you better create a shortcut for that (or you can run the command directly).

+ Another way is to use XLauncher in Xming installation folder, but you can temporarily skip that for now (it’s for advanced users).

+ After starting XMing, usually it will have a Taskbar icon (X) at the bottom-right corner. If you hover it you can see the $DISPLAY value (Xming Server:0.0 )

.

Start the PuTTy session with X11forward

+ Given you can login SSH with some account (username/password)

+ Now you can check the X display forward ability by using (/etc/ssh/sshd_config ), or xev command:

$ xlogo
$ xev

+ If you can see some graphics (from X server) well, you can go ahead and try some other applications with GUI, such as firefox or gedit, kate, etc … They will take some seconds to render the first time, though.

.

Troubleshooting

+ If you can not start the X applications, first is to check the X11 enability, then the X display location ($DISPLAY)

+ If still trouble, check the config of SSHd in Linux server (/etc/ssh/sshd_config ), should enable forwarding X11

X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes

+ If still trouble, check the config of SSH in Linux server (/etc/ssh/ssh_config ), should not block ForwardX11