Я хочу запустить приложение с графическим интерфейсом на удаленной машине, к которой у меня есть доступ только по ssh. Мне не нужно или не хочется видеть окно графического интерфейса. (Я знаю, что мог бы использовать что-то вроде ssh -C -X remote_server
если бы хотел, чтобы графический интерфейс был на моем клиенте.)
Я знаю, что X работает на удаленной машине, поскольку ps
показывает это:
root ... /usr/bin/Xorg :0 -br -audit 0 -auth /var/gdm/:0.Xauth -nolisten tcp vt7
Я установил DISPLAY=:0.0
но затем я получаю «Xlib: connection to»: 0.0 "отказано сервером", когда я пытаюсь его использовать.
В Get remote x display работает в Linux без туннелирования ssh, а Xserver не работает, если только DISPLAY = 0.0. Я вижу совет использовать gdmsetup, чтобы позволить X прослушивать TCP. Но gdmsetup - это приложение с графическим интерфейсом! И попытка запустить его через ssh -X не сработала («X11-соединение отклонено из-за неправильной аутентификации»).
Итак, есть ли текстовый файл, который я могу отредактировать, чтобы удалить -nolisten
? И после его редактирования как безопасно перезапустить X удаленно? (На этом компьютере запущены другие функции, поэтому запрос перезагрузки возможен, но нежелателен.) Если нет, должен ли gdmsetup работать через ssh, и я должен продолжать в этом направлении?
ОБНОВЛЕНИЕ: я должен был сделать сессию ssh -X
как root (ssh как обычный пользователь, затем sudo или su, не работает.) Итак, я сделал редактирование с помощью gdmsetup. Затем я перезапустил X с помощью gdm-restart
. Я также сделал xhost +
из этой сессии ssh -X. Строка ps больше не отображает часть -nolisten tcp
. Но все равно не повезло, подключившись к нему, либо DISPLAY=:0
либо DISPLAY=localhost:0
ОБНОВЛЕНИЕ № 2: Я только что заметил причину, по которой xauth +
не помог (когда это было сделано через ssh -X
) в том, что он изменил мою клиентскую машину, а не удаленный сервер! К сожалению. Хорошая работа, я был внутри брандмауэра! (Я думаю, что причина, по которой это произошло, была связана с переменной среды XAUTHORITY, см. Ответ Кугар.)