Remote x-server with ssh -X
Solution 1:
I assume that what you are trying to do is start a complete remote Gnome session displaying on your local machine. This fails because you already have a local session manager controlling your X server display.
Your options are:
Simply start individual remote applications using
ssh -X [email protected] xclock
-
Assuming XDMCP is enabled on the remote machine...
2a. Use
Xnest -query 192.168.1.107 -geometry 1024x768 :1
to start a remote login session in a local window.2b. Use
Xephyr :1 -screen 1024x768 -query 192.168.1.107
which is a better X server thanXnest
Also assuming XDMCP on the remote machine, configure your local machine to use the XDMCP chooser instead of the standard greeter on startup.
Enabling XDMCP is simply a case of putting
[xdmcp]
Enable=true
in /etc/gdm/custom.conf
and restarting gdm
or rebooting (assuming you are running gdm
).
If you only intend to run a few applications remotely, then option 1 is simplest and continues to use SSH encrypted traffic, which none of the others do (so they are best only used on a trusted local network).
If you need to so something more complicated, then 2b (Xephyr) is may be better, but I've usually found just using ssh -X ... &
for multiple remote applications to be adequate.
If you are doing everything remotely, i.e. the local machine is just a display server and doesn't do anything itself, then you need to look into using option 3, starting the XDMCP chooser instead of the standard login.
PS: As noted in the comments, both Xnest
and Xephyr
are applications which handle the X server protocol and put the entire session into a window. Xnest
uses the functions provided by the local X server while Xephyr
handles much more of the server protocol itself so is more robust. They may not be installed by default because the average user wouldn't use them.
PPS: After a little thought it's obvious how to encrypt a Xephyr
or Xnest
session...
ssh -X [email protected] Xephyr :1 -query localhost -screen 1280x1024