Ubuntu – How to launch a GUI session on a remote Ubuntu Desktop via SSH from a non-GUI Linux shell

displaygnomesshUbuntux11

I am setting up a test environment, made up of various Linux boxes, and I have the need to launch an instance of Firefox on a remote machine via ssh.

The remote machine has Ubuntu Desktop (11) and Firefox installed.

The source machine is a Continuous Integration server and it creates an ssh session to the remote machine from a non-GUI environment. It then runs a script, which tries to launch Firefox on the remote machine.

However, since the ssh session is a from a non-GUI environment, there is no display.

Is it possible to have a headless X-windows display? i.e. a virtual display in the remote environment for Firefox to run in? What options do I have?

Best Answer

You need a gui for firefox. But you have a couple of options:

1) Run Xorg on your host and display firefox here (ssh -Y user@remotehost)

2) Start vncserver on remote hosts, and run firefox in there

3) If xorg is already running on remote hosts, just allow local Xorg connections (xhost +127.0.0.1) on remote hosts, and start firefox with one of the following commands (first one should work, if not, try the second one):

DISPLAY=":0" firefox 
DISPLAY=":0" firefox -no-remote