Accessing Remote Linux Server Graphical Applications
from Your Desktop
Author: Jerone Young
Technical Reviewer: Chris Negus
Editor: Allison Pranger
08/20/12
OVERVIEW
Many administrators install full graphical desktops on their servers to allow for administration and installation
of third-party applications. However, this results in the installation of many services that are not needed for
their servers, causing potential performance loss.
This tech brief describes how to install a minimal server environment while still allowing for the use of
graphical applications through a client securely connected to your server over the network via SSH.
SETTING UP RED HAT ENTERPRISE LINUX SERVERS
A minimal install of Red Hat Enterprise Linux server will still allow you to export and use graphical
applications. However, before you start your server, will need certain packages installed to make X11
forwarding possible. You can add these as part of your kickstart configuration file or install them using yum.
For Red Hat Enterprise Linux 5 and Red Hat Enterprise Linux 6, ensure your server has the following
packages:
xorg-x11-xauth
xorg-x11-fonts-*
xorg-x11-utils
After you install these packages, no extra services will be running on your system. You will also not have a
graphical environment to use locally on the system. These packages give you the ability to export graphics
over SSH to your client machine.
This list has been compiled to best work with most applications. The xorg-x11-utils package is optional,
although many third-party installers will not run properly if they do not see some of the applications provided
by this package. Also, xorg-x11-fonts-* is optional if the X server running on the client has all the
desired fonts needed for the application to be used. However, it is recommended to install them on the
server to ensure applications work properly on all clients.
The next step is to check the configuration of the SSH service running on the server. By default, the SSH
server on Red Hat Enterprise Linux 5 and Red Hat Enterprise Linux 6 has variable X11 forwarding enabled
in file /etc/ssh/sshd_config through variable X11Forwarding yes. Ensure that this has not been
changed. If it has changed, set the variable to yes and restart the sshd. To do that, type:
# service sshd restart
Accessing Remote Linux Server Graphical Applications from Your Desktop | Jerone Young 1
SETTING UP THE CLIENT MACHINE
The client machine is your desktop or laptop running Red Hat Enterprise Linux Workstation or Desktop,
Microsoft Windows, or Apple OS X. This machine is where you will see and interact with the graphical
application running on your server.
SSH Client and X11 Server on Red Hat Enterprise Linux Workstation or Desktop
If you are running a Red Hat Enterprise Linux Workstation or Desktop, there is no extra configuration
required. You are already running an X11 server, and you should have the SSH client already installed.
SSH Client and X11 Server on Microsoft Windows
If you are running Microsoft Windows, you will need to install both an SSH client and an X11 server.
SSH Client
A free and commonly used SSH client for Windows is a program called PuTTY. PuTTY can be downloaded
and installed from the following site: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html.
Once on the site, browse to middle of the page for the Windows installer and install the following file:
X11 Server
A free X11 server commonly used for Windows is program called Xming. Xming can be downloaded and
installed from the following site: http://www.straightrunning.com/XmingNotes/.
Accessing Remote Linux Server Graphical Applications from Your Desktop | Jerone Young 2
Once on the site, browse to the middle of the page and click the link under the Public Domain Releases
section:
SSH Client and X11 Server on Apple OS X
Apple OS X Lion (v10.7) comes with both a X11 server and an SSH client, so no extra configuration is
required.
Apple OSX Mountain Lion (v10.8) no longer includes an X11 server. You will need to download XQuartz and
install it from the link provided in the Apple Knowledge Base article located at
http://support.apple.com/kb/HT5293.
CONNECT CLIENT TO SERVER
Connect Red Hat Enterprise Linux Workstation or Desktop
To use a Red Hat Enterprise Linux Workstation or Desktop to connect to your server, open a terminal and
launch the ssh command with the -X option:
$ ssh -X <user>@<server address>
For example:
Connect Microsoft Windows
To connect to the server using Microsoft Windows, you must first start the X11 server and then connect the
SSH client. The following procedure describes how to use the Xming X11 server in conjunction with the
Accessing Remote Linux Server Graphical Applications from Your Desktop | Jerone Young 3
PuTTY SSH client. If you use a different combination, refer to your documentation.
Begin by launching the X11 server. To launch Xming, navigate to Start Menu -> All Programs -> Xming ->
Xming.
This will start the Xming X11 server. A small X icon will be shown in the task tray normally located on the
lower left-hand side of the tool bar:
Next, properly connect the SSH client to the server. With PuTTY, you will need to set up a profile for your
server and enable X11 forwarding.
1. Create a profile for the server you will connect to.
2. Enable X11 forwarding for your new profile.
Accessing Remote Linux Server Graphical Applications from Your Desktop | Jerone Young 4
3. Save the changes to the new profile and connect to the server.
Accessing Remote Linux Server Graphical Applications from Your Desktop | Jerone Young 5
Connect Apple OS X
On Apple OS X Lion (v10.7), open Finder and go to into the Applications -> Utilities folder. Double-click on
the icon labeled X11. This will open a terminal window.
On Apple OSX Mountain Lion (v10.8), open Finder and go to into the Applications -> Utilities folder.
Double-click on the icon labeled XQuartz. This will open a terminal window.
In the terminal window, use the ssh command with the -X option to connect to the server:
$ ssh -X <user>@<server address>
For example:
TEST X11 FORWARDING OVER SSH CONNECTION
Once the client is connected to the server, you can test the connection by running a graphical application
from your SSH session. You should then see the graphical application appear on the desktop of your client.
One example application you can use to test is xclock. To install xclock on your server, run the following
commands:
# yum install xorg-x11-apps
# xclock
If X11 forwarding is working, the xclock window you launch from the remote server will open on your local
desktop. You can also test X11 forwarding using the command xeyes.
FORWARDING X11 GRAPHICS AFTER RUNNING SU COMMAND
Some third-party applications require that you su into a system user to run the graphical installer. When you
su into this user, this user does not immediately have the ability to forward graphics to your display. This
means that when you launch the graphical application once you su into this user, it will fail.
To enable the su user to be able to forward graphics through your current SSH session to your client,
perform the following steps each time you su into a user in a new SSH session:
1. Get an xauth key for the user by running the xauth command:
# xauth list ${DISPLAY#localhost}
For example:
[root@vm1 ~]# xauth list ${DISPLAY#localhost}
vm1/unix:10 MIT-MAGIC-COOKIE-1 ff32b870070d3b58998a4ebcbc4abf20
The xauth key to be used by the user is the entire line that is ouput by running the command above.
2. Next, su into the desired user.
3. Add xauth key to the user’s xauth using the xauth add <KEY> command. For example:
[root@vm1 ~]# su - oracle
Accessing Remote Linux Server Graphical Applications from Your Desktop | Jerone Young 6
$ xauth add vm1/unix:10 MIT-MAGIC-COOKIE-1 ff32b870070d3b58998a4ebcbc4abf20
The user can now run X11 graphical commands and the graphics will appear on the client desktop.
Accessing Remote Linux Server Graphical Applications from Your Desktop | Jerone Young 7
Copyright © 2012 Red Hat, Inc. “Red Hat,” Red Hat Linux, the Red Hat “Shadowman” logo, and the products
listed are trademarks of Red Hat, Inc., registered in the U.S. and other countries. Linux® is the registered
trademark of Linus Torvalds in the U.S. and other countries.
www.redhat.com