SSH, server has feature called X11Forwarding. It specifies whether X11 forwarding is permitted or not. You need to set this parameter to yes. Once this is enabled, you will be able to run a graphical application on server and get applications display (window) on your desktop.
Server setup
For example, login on Linux/BSD system called server1.mydomain.com. Open /etc/ssh/sshd_config file using text editor:
# vi /etc/ssh/sshd_config
Find out parameter X11Forwarding and set it to yes:
X11Forwarding yes
Save file and exit to shell prompt. Restart sshd service under Debian Linux:
# /etc/init.d/ssh restart
Alternatively, if you are using Fedora / Red Hat Linux restart sshd:
# /etc/init.d/sshd restart
Desktop setup
Since X11 forwarding is enabled, just login from desktop system to server1.mydomain.com using ssh command:
desktop $ ssh -X user@server1.mydomain.com
Password:
server1 $
When you login using ssh command, you need to use -X flag to enable X11 forwarding. If you do not use -X flag forwarding it will not work and you will get an error that read as follows:
couldn't open display (null)
Once you are logged in to server1, if you type the X application command over ssh session, the application will run on server1 and display will appear on your desktop system. For example, run xeyes or open office program:
server1 $ xeyes &
server1 $ ooffice &
Within few seconds, you should get a graphical display on your desktop system.
You should follow me on twitter here or grab rss feed to keep track of new changes.
Featured Articles:
- 30 Handy Bash Shell Aliases For Linux / Unix / Mac OS X
- Top 30 Nmap Command Examples For Sys/Network Admins
- 25 PHP Security Best Practices For Sys Admins
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- Linux: 20 Iptables Examples For New SysAdmins
- Top 20 OpenSSH Server Best Security Practices
- Top 20 Nginx WebServer Best Security Practices
- 20 Examples: Make Sure Unix / Linux Configuration Files Are Free From Syntax Errors
- 15 Greatest Open Source Terminal Applications Of 2012

- My 10 UNIX Command Line Mistakes
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- The Novice Guide To Buying A Linux Laptop












{ 4 comments… read them below or add one }
Replace -X with -Y for a trusted/encrypted session :-j
Great article! Hoe would one achieve the same if there is another machine inbetween like this:
Desktop -> WRT54GL (OpenWrt) -> Server. I know there is a way one can forward packets via ssh, but how?
Thanks again.
Hi all,
can we make some changes in the sshd config file so that everytime we don’t have to specify -X or -Y option for opening a graphical interface??
in the file
/home//.ssh/config
you can add
Host ahost
ForwardX11 yes
to always enable for that host
or use
Host *
ForwardX11 yes
to always enable it