Q. How do I tunnel X Windows Securely over SSH? I'd like to run X program on my remote Linux server and get back display to Laptop computer connected by high speed internet?
A. A tunneling protocol is a network protocol which encapsulates a payload protocol, acting as a payload protocol. Reasons to tunnel include carrying a payload over an incompatible delivery network, or to provide a secure path through an untrusted network.
SSH is frequently used to tunnel insecure traffic over the Internet in a secure way. Simply type the following command:
$ ssh -X user@server.corp.com
$ ssh -X user@202.54.1.2
You can requests compression of all data to improve up user experience (good for a low speed link such as wan link) using -c option:
$ ssh -c -X user@202.54.1.2
Once logged in type any X windows program name such as:
$ xeys &
$ oowriter &
To start kde type:
$ startkde &
To start default desktop type:
$ startx
Featured Articles:
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- My 10 UNIX Command Line Mistakes
- Linux: 20 Iptables Examples For New SysAdmins

- 25 PHP Security Best Practices For Sys Admins
- The Novice Guide To Buying A Linux Laptop
- 10 Greatest Open Source Software Of 2009
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- Top 20 OpenSSH Server Best Security Practices
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Linux Video Editor Software
Facebook it - Tweet it - Print it -


{ 4 comments… read them below or add one }
I can help to say that at least for me, FreeNX from NoMachine has been easy and reliable. I use it a lot from a windows PC and a MacOSX. Configuring a HTTP Proxy is very simple too
To run qemu to start a virtual machine, on a remote host you need to use the command ssh -Y instead of -X, ssh -X results in an error message without starting an remote virtual machine.
-Y Enables trusted X11 forwarding. Trusted X11 forwardings are not subjected to the X11 SECURITY extension controls.
When the sshd server is configured with “X11Forwarding no”, try the following to run remote x xlients:
1. xhost +localhost
2. ssh -R 6000:192.168.2.1:6000 test@ahost
3. On remote ahost export DISPLAY=127.0.0.1:0.0
Here’s an article about
how this “X tunneling” is really working
(for those of you who care how stuff works under the hood).
I agree, NX is totally awesome – amazingly fast.
On a related note, if you’re trying to help out a relative with their computer, I just tried out Co-Pilot which surprisingly “just worked”. It’s not really an alternative to NX, but way better for this remote-assist case.
ssh -C = compression
ssh -c = cipher