Это на 64-битном рабочем столе Ubuntu 10.10 (Maverick Meerkat).
Я хочу, чтобы мой X-сервер прослушивал удаленные соединения от клиентов на других машинах в локальной сети. Я знаю о ssh -X
, и это не то, что я хочу. Я смутно помню, как менял что-то вроде TCPListen
с no
на yes
, но я не помню, где это изменение должно применяться.
Меня интересует метод GUI или CLI.
Редактирование PS /etc/X11/xinit/xserverrc
для удаления опции -nolisten tcp
и перезагрузка не работает.
(Здесь следует почти дословной копии самоответа от идентичного вопроса на 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
.
Этот ответ относится к 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
).
Начиная с Ubuntu 18.04, я посмотрел на запущенные процессы и понял, что используемый менеджер дисплеев - это gdm3:
$ ps ax|grep dm
1515 ? Ssl 0:00 /usr/sbin/gdm3
Затем я отредактировал /etc/gdm3/custom.conf и добавил строку:
[security]
DisallowTCP=false
Как уже упоминалось, открытие порта 6000 небезопасно. Однако я использую это только в домашней сети, и порт защищен с помощью iptables для открытия только для моего основного ноутбука, все должно быть в порядке.
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
Приятного отдыха...
Для Тонкого изменения опция xserver_arguments
в /etc/slim.conf
. И перезапустите свои X сессий.
В Xubuntu 20.04, который использует lightdm
, теперь он кажется чище. Достаточно просто добавить xserver-allow-tcp=true
в раздел [Seat:*]
файла /etc/lightdm/lightdm.conf
.