How to make X.org listen to remote connections on port 6000?
(Here follows an almost verbatim copy of a self-answer from an identical question on serverfault which I'd forgotten about; askubuntu wasn't yet created).
Based on information found in this page about enabling XDCMP and the file /etc/gdm/gdm.schemas, I managed to create a /etc/gdm/custom.conf
file:
# /etc/gdm/custom.conf
[xdmcp]
[chooser]
[security]
DisallowTCP=false
[debug]
Take care with letter case: it won't work, if you write "disallowTCP=false"... I also changed the /etc/X11/xinit/xserverrc file to:
exec /usr/bin/X11/X
i.e. I removed the -nolisten tcp
options to the X executable. I don't know if I needed to. You might want to try avoiding this edit.
If you only change the xserverrc file, X will nevertheless start with "-nolisten TCP".
After that, all that is needed is a restart of the gdm process:
sudo service gdm restart
You can verify the success as:
tzot@tzot-laptop:/etc/X11
$ netstat -an | grep -F 6000
tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN
tcp6 0 0 :::6000 :::* LISTEN
Update
After an upgrade to 12.04, I had the same issue. This time, the culprit is the lightdm that the system uses. The file that needs to be updated is /etc/lightdm/lightdm.conf
and the required addition is a xserver-allow-tcp=true
in the [SeatDefaults]
section.
And afterwards, I also found that answer. :)
Synopsis
So, in 10.10 this still works: create /etc/gdm/custom.conf
with contents as specified above and restart gdm
.
This answer is related to Kubuntu 17.04 and 20.04 and I added it, because none of the other answers (related to gdm
or lightdm
) helped me. In my case sddm
was running. To check this, run for instance
ps -eal | grep sddm
If it is is running, processes sddm
and sddm-helper
are shown. In this case add a configuration file /etc/sddm.conf
with content
[X11]
ServerArguments=-listen tcp
for 20.04 or
[XDisplay]
ServerArguments=-listen tcp
for 17.04. After creation of this file reboot your system (may be a sddm
restart is sufficient). As a consequence
ps ax | grep sddm
shows the desired Xorg
option -listen tcp
and the X Server is ready for incoming connections (don't forget to add the remote host with xhost
).
Ubuntu 18.04 running as lubuntu 18.04 with lightdm 1.26.0, this is what I had to do (only took me a couple weeks to figure it all out). You have to create both /etc/lightdm/lightdm.conf
and /etc/lightdm.conf.d/50-xserver-command.conf
as follows:
sudo vi /etc/lightdm/lightdm.conf
:
[Seat:*]
xserver-allow-tcp=true
xserver-command=X -listen tcp
sudo vi /etc/lightdm/lightdm.conf.d/50-xserver-command.conf
:
[Seat:*]
xserver-command=X -core -listen tcp
This will cause lightdm to run Xorg with the following command line:
Xorg -listen tcp :0 -seat seat0 -auth /var/run/lightdm/root/:0 -listen tcp vt7
-novtswitch
This has "-listen tcp
" twice, but it doesn't hurt anything. If you don't have both files, one of the Xorg options will be "-nolisten tcp" which overrides the other "-listen tcp".
I finally found the clues to this here.
Then add: xhost +
to your .bashrc
Restart and check that Xorg is now listening on port 6000:
$ netstat -nal | grep 6000
tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN
tcp6 0 0 :::6000 :::* LISTEN
Enjoy...