Ubuntu – How to launch a remote firefox window via SSH

firefoxssh

When I SSH to a remote box

$ ssh -X remotebox

then start firefox on the remote box

remotebox$ firefox

and I have firefox running on my local machine, a local firefox window will open. no firefox process is running on the remote box.

If firefox is not running on my local machine then a remote firefox window will open.

Why is it opening a local firefox window? How can i prevent that?


Here some more information of my local system.

Linux lesmana-laptop 2.6.32-24-generic #42-Ubuntu SMP Fri Aug 20 14:24:04 UTC 2010 i686 GNU/Linux

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 10.04.1 LTS
Release:    10.04
Codename:   lucid

DISPLAY=:0.0

Mozilla Firefox 3.6.8, Copyright (c) 1998 - 2010 mozilla.org

Information of remotebox.

Linux dxray 2.6.22.19-0.4-default #1 SMP 2009-08-14 02:09:16 +0200 x86_64 x86_64 x86_64 GNU/Linux

LSB Version:    core-2.0-noarch:core-3.0-noarch:core-2.0-x86_64:core-3.0-x86_64:desktop-3.1-amd64:desktop-3.1-noarch:graphics-2.0-amd64:graphics-2.0-noarch:graphics-3.1-amd64:graphics-3.1-noarch
Distributor ID: SUSE LINUX
Description:    openSUSE 10.3 (X86-64)
Release:    10.3
Codename:   n/a

DISPLAY=localhost:15.0

Mozilla Firefox 3.0.14, Copyright (c) 1998 - 2009 mozilla.org

The following command starts a remote firefox session with a remote firefox window.

remotebox$ firefox -no-remote

The following command produces a brief delay, then drops back to prompt and a local firefox window pops up. No firefox process running on the remotebox.

remotebox$ firefox

Information of remotebox2.

Linux marvin 2.6.31-22-generic #60-Ubuntu SMP Thu May 27 00:22:23 UTC 2010 i686 GNU/Linux

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 9.10
Release:    9.10
Codename:   karmic

DISPLAY=localhost:11.0

Mozilla Firefox 3.6.8, Copyright (c) 1998 - 2010 mozilla.org

The following command on remotebox2 starts a remote firefox session as expected.

remotebox2$ firefox

I do not know why firefox on remotebox2 starts a remote session instead of a local session.

Best Answer

besides firefox -no-remote another parameter is firefox -no-xshm which reveals the technique used to make it work.

X11 shared memory is an interprocess communication technique which can be used by all applications connected to a given x server session. It can be used to perform drag & drop, and other kind of desktop interaction.

It can be (and is) used also to implement "open once" applications, in order to reduce the footprint (or the number of windows).

Since the X11 protocol is network transparent the "shared memory" is extended also to remote X11 clients.

Related Question