Jhair Tocancipa Triana jhair.tocancipa at gmail.com
Fri Apr 14 14:15:59 UTC 2006

Laura Conrad writes:

> I have a desktop machine running Debian Sid (named serpent), and a
> laptop (named recorder) with an ubuntu install (originally breezy,
> dist-upgraded to dapper).

> I start X on serpent and issue the command xhost
> +recorder.  I then do "ssh -X recorder", and in that window type
> "export DISPLAY=serpent:0.0".  I would then expect to be able to type
> "emacs" and have it come up on the serpent display.  But instead, I
> get:

>         lconrad at recorder:~$ emacs: Cannot connect to X server serpent:0.0.
> Check the DISPLAY environment variable or use `-d'.
> Also use the `xhost' program to verify that it is set to permit
> connections from your machine.

Normally, with the -X option you shouldn't set the DISPLAY environment
variable on the remote machine[1].

The following setup works for me (remote machine is a SuSE box in this

user at remote:~> xhost
access control enabled, only authorized clients can connect

user at local:~> ssh -X -l user remote
user at remote:~> emacs

And emacs is displayed correctly in local...

[1] $ man ssh
    X11 and TCP forwarding
      If the ForwardX11 variable is set to ``yes'' (or see the description of
      the -X and -x options described later) and the user is using X11 (the
      DISPLAY environment variable is set), the connection to the X11 display
      is automatically forwarded to the remote side in such a way that any X11
      programs started from the shell (or command) will go through the
      encrypted channel, and the connection to the real X server will be made
      from the local machine.  The user should not manually set DISPLAY.  For-
      warding of X11 connections can be configured on the command line or in
      configuration files.


More information about the ubuntu-users mailing list