Как отключить nolisten tcp для X-сервера
С целью усиления безопасности во многих дистрибутивах по умолчанию Иксы запускаются с параметром --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 ...