Как отключить nolisten tcp для X-сервера

Материал из База знаний Etersoft
Перейти к навигацииПерейти к поиску

С целью усиления безопасности во многих дистрибутивах по умолчанию Иксы запускаются с параметром --nolisten tcp, что препятствует дальнейшему подключению к X-серверу с других машин. Удалённое подключение может быть нужно в случае организации терминального сервера в локальной сети, либо для удалённых программ, требующих прямого подключения к Икс-серверу.

Начиная с версии Xorg 1.17 опция "-nolisten tcp" является активированной по-умолчанию, поэтому в теле процесса не указывается (вывод ps aux), но продолжает действовать. Отсюда и изменение в самих настройках.

Как проверить: В строке запуска X-сервера на машине не должен фигурировать параметр -nolisten tcp:

$ ps ax | grep X
  25410 tty1     Ssl+ 398:12 X :0 -seat seat0 -auth /var/run/lightdm/root/:0 -listen tcp


Глобально

В системе могут быть установлены глобальные настройки. Кроме того есть и настройки менеджеров входа (о них ниже)

В ALT Linux

Проверьте, что в /etc/sysconfig/xserver закомментирована строка NOLISTEN=tcp


В Ubuntu 10.04

В файле /etc/X11/xinit/xserverrc закомментировать или удалить -nolisten tcp.


Настройки менеджера входа

Простейший способ определить запущенный менеджер входа:

ps ax | grep dm

и в выводе смотреть, gdm или kdm. Этот совет бесполезен в ALTLinux, так как выведет rundm, который является универсальной оберткой для всех и всего. Впрочем, вспомогательные процессы все же видны. Господа, правьте все конфиги, если устанавливали более одного dm.

Для GDM и MDM

  • При использовании GDM установите DisallowTCP=false в секции security файла /etc/X11/gdm/custom.conf (расположение файла может отличаться в зависимости от системы).
  • Через графическое приложение gdmsetup/mdmsetup (спросит пароль root'а): вкладка "Безопасность" -> кнопка (в правом нижнем углу) "Настроить Х сервер" -> поочередно выбирая "Серверы:" добавить параметр "-listen tcp" в поле "Команды:"

Вообще говоря, данные настройки тоже должны храниться в файле /etc/X11/gdm/custom.conf (туда их и помещает gdmsetup/mdmsetup). Однако занесение их вручную не применялось впоследствии. Возможно, устарел сам файл и применение gdmsetup/mdmsetup исправило ситуацию, либо требуется перенос всей секции [server-*]. Поэтому применение графической программы настройки предпочтительно.

Для KDM

В KDE4 в конфигурационном файле KDM по умолчанию установлено

ServerArgsLocal=-nolisten tcp

Из этой строки следует убрать параметр -nolisten tcp

Файл располагается в /etc/X11/kdm4/kdmrc или /etc/kdm4/kdmrc.

lightdm

Для lightdm нужно в файле /etc/lightdm/lightdm.conf в секцию [Seat:*] добавить строчку:

xserver-allow-tcp=true

sddm

В файл /etc/X11/sddm/sddm.conf добавить в секцию [X11]

[X11] 
... 
ServerArguments=-listen tcp
...

Ссылки