Бит новичка человечности, но я пытаюсь выполнить код от GitHub на сервере удаленно с помощью SSH и остановок кода при этом GTK-ПРЕДУПРЕЖДЕНИИ **: не может открыть дисплей:
Как решить эту ошибку? Я не думаю, что могу использовать сервер VNC, поскольку у меня нет корневых полномочий. Какой-либо другой способ получить доступ/разрешить к графическому интерфейсу сервера под управлением Ubuntu?
Спасибо!
Необходимо включить X11Forwarding в/etc/ssh/sshd_config и затем видеть то, что происходит.
Выборка из файла конфигурации:
X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
Надеюсь, это поможет.
Я могу придумать три способа.
Включить X11 через SSH
Как сказал gmt42 в своем ответе, вы можете включить SSH для туннелирования сообщений X11, тогда на вашем компьютере откроется окно(я), с которого вы инициировали SSH.
В большинстве случаев это делается с помощью параметра командной строки -X
. Теперь, если вы выполните man ssh
и выполните поиск по X11, вы увидите всевозможные варианты и даже несколько примеров о возможностях ssh и X11.
Запустите инструмент на сервере
Если вы знаете, что делаете, вы можете запустить приложение на сервере. Это означает, что окно не будет видно вам. Он будет виден на сервере. В большинстве случаев это работает, только если вы вошли в сеанс X11. (т.е.если кто-то еще вошел в систему или никто не вошел в систему, это, вероятно, не сработает)
Это делается установкой DISPLAY
перед запуском команды:
DISPLAY=:0 cmd
Это означает открытие экрана дисплея 0 на localhost
.
Настройка и запуск удаленного рабочего стола
В настройках Ubuntu есть "Общий экран" или что-то в этом роде. (У меня Ubuntu 18.04, так она пока называется). Это открывает, создает форму VPN, и вы можете подключиться к ней. Он использует порт 5900, и вам нужно настроить логин и пароль, чтобы разрешить доступ. Если у вас есть Ubuntu с обеих сторон, это должно быть очень просто. Я использовал Remmina, и он работал, как и ожидалось.
Вам придется открыть доступ к порту, если у вас есть брандмауэр. Это также можно сделать с помощью туннеля SSH (который, вероятно, не медленнее, но добавляет уровень защиты).