Как заставить X.org прослушивать удаленные соединения через порт 6000?

Это на 64-битном рабочем столе Ubuntu 10.10 (Maverick Meerkat).

Я хочу, чтобы мой X-сервер прослушивал удаленные соединения от клиентов на других машинах в локальной сети. Я знаю о ssh -X, и это не то, что я хочу. Я смутно помню, как менял что-то вроде TCPListen с no на yes, но я не помню, где это изменение должно применяться.

Меня интересует метод GUI или CLI.

Редактирование PS /etc/X11/xinit/xserverrc для удаления опции -nolisten tcp и перезагрузка не работает.

17
задан 12 April 2011 в 13:23

6 ответов

(Здесь следует почти дословной копии самоответа от идентичного вопроса на serverfault, о котором я забыл; askubuntu еще не был создан).

На основе информации, найденной на этой странице о включении XDCMP и файла/etc/gdm/gdm.schemas, мне удалось создать a /etc/gdm/custom.conf файл:

# /etc/gdm/custom.conf
[xdmcp]

[chooser]

[security]
DisallowTCP=false

[debug]

Заботьтесь с регистром: это не будет работать, если Вы запишете "disallowTCP=false"... Я также изменил/etc/X11/xinit/xserverrc файл на:

exec /usr/bin/X11/X

т.е. Я удалил -nolisten tcp опции к X исполняемым файлам. Я не знаю, если я должен был. Вы могли бы хотеть попытаться избежать этого редактирования.

Если Вы только измените xserverrc файл, то X, тем не менее, запустится с "-nolisten TCP".

После этого все, что необходимо, является перезапуском процесса gdm:

sudo service gdm restart

Можно проверить успех как:

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

Обновление

После обновления 12,04, у меня была та же проблема. На этот раз преступник является lightdm, который использует система. Файл, который должен быть обновлен, /etc/lightdm/lightdm.conf и необходимое дополнение является a xserver-allow-tcp=true в [SeatDefaults] раздел.

И впоследствии, я также нашел тот ответ.:)

Резюме

Так, в 10,10 это все еще работает: создать /etc/gdm/custom.conf с содержанием, как указано выше и перезапуском gdm.

16
ответ дан 12 April 2011 в 13:23

Этот ответ относится к Kubuntu 17.04, и я добавляю его, потому что ни один из других ответов (связанных с gdm или lightdm ) мне не помог. В моем случае sddm был запущен. Чтобы проверить это, запустите, например,

ps -eal | grep sddm

. Если он запущен, отображаются процессы sddm и sddm-helper. В этом случае добавьте файл конфигурации /etc/sddm.conf с содержимым

[XDisplay]
ServerArguments=-listen tcp

. После создания этого файла перезагрузите вашу систему (может потребоваться перезагрузка sddm). В результате

PS ax | grep sddm 

показывает желаемую опцию Xorg -listen tcp, и X-сервер готов к входящим соединениям (не забудьте добавить удаленный хост с xhost).

0
ответ дан 12 April 2011 в 13:23

Начиная с Ubuntu 18.04, я посмотрел на запущенные процессы и понял, что используемый менеджер дисплеев - это gdm3:

$ ps ax|grep dm
 1515 ?        Ssl    0:00 /usr/sbin/gdm3

Затем я отредактировал /etc/gdm3/custom.conf и добавил строку:

[security]
DisallowTCP=false

Как уже упоминалось, открытие порта 6000 небезопасно. Однако я использую это только в домашней сети, и порт защищен с помощью iptables для открытия только для моего основного ноутбука, все должно быть в порядке.

0
ответ дан 12 April 2011 в 13:23

Ubuntu 18.04, работающая как lubuntu 18.04 с lightdm 1.26.0, это - то, что я должен был сделать (только взял меня пара недель для понимания всего этого). Необходимо создать обоих /etc/lightdm/lightdm.conf и /etc/lightdm.conf.d/50-xserver-command.conf следующим образом:

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

Это заставит lightdm запускать Xorg со следующей командной строкой:

Xorg -listen tcp :0 -seat seat0 -auth /var/run/lightdm/root/:0 -listen tcp vt7  
   -novtswitch

Это имеет"-listen tcp"дважды, но это ничего не повреждает. Если у Вас не будет обоих файлов, то одна из опций Xorg будет "-nolisten tcp", который переопределяет другой "-слушают tcp". Я наконец нашел ключи к разгадке этого здесь.

Затем добавьте: xhost + к Вашему .bashrc

Перезапуск и проверка, что Xorg теперь слушает на порте 6000:

$ netstat -nal | grep 6000
tcp        0      0 0.0.0.0:6000            0.0.0.0:*               LISTEN     
tcp6       0      0 :::6000                 :::*                    LISTEN     

Приятного отдыха...

2
ответ дан 23 November 2019 в 02:21

Для Тонкого изменения опция xserver_arguments в /etc/slim.conf. И перезапустите свои X сессий.

1
ответ дан 23 November 2019 в 02:21

В Xubuntu 20.04, который использует lightdm, теперь он кажется чище. Достаточно просто добавить xserver-allow-tcp=true в раздел [Seat:*] файла /etc/lightdm/lightdm.conf.

1
ответ дан 19 July 2020 в 02:23

Другие вопросы по тегам:

Похожие вопросы: