How do I work with GUI tools over a remote server?

You can use X11 forwarding over SSH; make sure the option

X11Forwarding yes

is enabled in /etc/ssh/sshd_config on the remote server, and either enable X11 forwarding by hand with

ssh -X remoteserver

or add a line saying

ForwardX11 yes

to the relevant host entry in ~/.ssh/config

Of course, that requires a working X display at the local end, so if you're using Windows you're going to have to install something like XMing, then set up X11 forwarding in PuTTY as demonstrated in these references:

  • Using PuTTY and Xming to Connect to CSE
  • X11 Forwarding using Xming and PuTTY
  • Use Linux over Windows with Xming, here or here

ETA: Reading again and seeing your clarifications in the comments, FTP might suit your needs even better, as it will let you 'mount' SFTP folders as if they're regular network drives.  See here, here, here (for Windows XP/7/Vista), or here (for Windows 8).


Shadur covered how to enable X. Note that the /etc/ssh/sshd_config is at the server end, and the ~/.ssh/config is at the client end, so we are in general talking about two different machines. X forwarding will display your remote application on the local X display. So the two configs have to tell the remote and the local to allow this operation to happen, respectively.

As to whether you should use X, it depends. You need to consider (at least) the following factors.

  • What kind of bandwidth do you have? What is its speed? Is it metered? Is there a cap? If you have a very fast connection to the net and no restrictions, that X is more usable, otherwise it can be very slow. Bear in mind that in general X is a network hog; it is not bandwidth optimized (or whatever the right phrase is).

  • What tools are you planning to use over X? Are there non-gui replacements/equivalents? If you give examples of the kinds of tools you are thinking of using, people could suggest alternatives if available. Also be aware that some well known tools come in both gui and commandline/console form. Eg. emacs, aptitude, reportbug.

In general my recommendation is to use command line (apt, wget, rsync) or curses applications (like aptitude or mc) if they are available and do what you need. Such apps aren't necessarily worse than X apps; some of these are fine applications. Eg. The software of John Davis, eg jed and slrn, both console apps, show his distinctive aesthetic, and are works of art. BTW, running a X server on a Windows client to connect to a Linux server is an option, though not a particularly good one.

If you have a local linux server, then the bandwidth issues go away, and X is a much more viable option.


I have found freenx and nxclient to be a very high-performance remote desktop solution, far better than vnc or X11. I would give that a try.