Since I upgraded from Ubuntu 18.04 to 19.10 my remote TCP-XWindows broke, and I need it for work.
I'm working on a really old currently-in-production system which uses old-style X11 TCP connections. It cannot use SSH X-forwarding. I need to make Ubuntu accept remote TCP connections (from an aging Solaris box).
This is closely related to How to make X.org listen to remote connections on port 6000?. However, I have done everything in the answers and the problem remains.
I need to be able to run a remote X-Windows application, e.g.:
xeyes -display 192.168.1.111:0.0
And have it appear on my local workstation. But what I get is (of course):
Error: Can't open display: 192.168.1.111:0.0
I have edited /etc/gdm3/custom.conf
, to contain:
[security]
DisallowTCP=false
[xdmcp]
ServerArguments=-listen tcp
I am definitely running gdm
, and not lightdm
.
I have also edited /etc/X11/xinit/xserverrc
, such that it now says:
exec /usr/bin/X -listen tcp "$@"
Although I expect that gdm
modifies this anyway.
I have issued the command xhost +remote_server_name
and xhost +
(in desperation).
I can see X11 listening on port 6001. (x11-1 is 6001 in /etc/services
… why is this not x11-0 / 6000?)
$ netstat -a | grep x11
tcp 0 0 0.0.0.0:x11-1 0.0.0.0:* LISTEN
tcp6 0 0 [::]:x11-1 [::]:* LISTEN
(and rebooted after these changes).
Has some "extra layer" of configuration been added in Ubuntu 19 to prevent X11 running in this manner?
EDIT: It seems like the processes are running OK:
2196 tty2 Ssl+ 0:00 /usr/lib/gdm3/gdm-x-session --register-session --run-script --allow-remote-connections cinnamon-session-cinnamon
2198 tty2 Sl+ 16:53 /usr/lib/xorg/Xorg vt2 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -listen tcp -background none -noreset -keeptty -verbose 3
EDIT2: Update for commenters
The old application is passed the display on the command-line, e.g.: --display 192.168.1.111:0.0
It then takes it upon itself to open further windows on the remote display.
I have tried xhost +
, it made no difference.
Best Answer
I am using Ubuntu 20.04. I could not connect to port 6000, despite all the options you are talking about.
What finally works is this hack:
and add
-listen tcp
to the Xorg command(s):Then save and exit the file and restart the user graphical interface:
and then check that port 6000 is open: