DISPLAY =
. Если существует, удаленный хост
попытается отобразить графический интерфейс пользователя на своем собственном порте дисплея; export DISPLAY = 127.0.0.1: 0.0
в {{ 1}} ~ / .bashrc
. Эта переменная DISPLAY
должна соответствовать Xming
, которая запускается
на клиентском компьютере. Затем просто подключитесь к хосту с помощью флага -X
и получите бесплатный доступ ко всем программам с графическим интерфейсом пользователя на удаленной машине!
Что пошло не так в длинном описании ниже:
DISPLAY
на удаленном хосте. Это излишество, так как сбивает с толку, как должны были отображаться графические интерфейсы.
DISPLAY
на хосте, решило мою проблему. Я настроил Linux Mint на получение X11Forwarding, указав следующее в / etc / ssh / sshd_config
, но у меня проблемы с доступом к серверу с использованием Ubuntu 18.04.1 LTS, размещенного как WSL на Windows 10.
X11Forwarding yes
X11UseLocalhost no
AllowAgentForwarding yes
X11DisplayOffset 10
AddressFamily inet
Тем не менее, после входа в систему Linux Mint с помощью ssh -Y address_of_remote_server
я не могу запускать никакие программы с графическим интерфейсом пользователя.Следующие сообщения об ошибках возникают при попытке запустить gvim
во время сеанса SSH:
Однако я могу запустить gvim
, объединив команды, например: ssh -Y address_of_remote_server gvim
. Никакой ошибки не было. Посоветуйте, какой параметр нужно изменить, чтобы я мог открывать программы с графическим интерфейсом во время сеансов SSH.
Подробнее:
127.0.0.1:0.0
(таким образом, настройка выполняется и на удаленной машине). экспорт DISPLAY = 127.0.0.1: 0.0
также; команда ssh + (gvim)
не работала без части 127.0.0.1
. -X
я должен был выбрать показ демонстрации с использованием флага -X
. В моем случае подключение SSH-соединений с использованием -X
и -Y
идентично. Оба они установили переменную $ DISPLAY
:
Точно так же объединение оператора соединения с командой gvim
дает мне живое окно Gvim. И я получаю следующую ошибку, сначала подключившись, а затем выполнив команду gvim
:
На клиентском компьютере в ~ / .ssh / config
, я установил:
host 10.0.0.168
ForwardX11 yes
Port 22990 #This is a fake port.
User llinfeng
PubKeyAuthentication yes
IdentitiesOnly yes
IdentityFile ~/.ssh/MyRSA_Key
Тем не менее, я не могу запускать какие-либо программы с графическим интерфейсом после входа в сеанс SSH.Опять же, запуск комбинированных команд дает полностью функциональный графический интерфейс ( ssh -X 10.0.0.168 gvim
создаст окно GVIM.)
Вы не можете вынудить клиент включить X11Forwarding
путем помещения записи в любого sshd_config
файл, но вместо этого должен включить ForwardX11
на клиентской машине, и для ssh
нет sshd
. X11Forwarding
потребности, которые будут включены на сервере, но это не означает, что он осуществляется.
Можно сделать это путем редактирования Вашего ~/.ssh/config
для пользователя и добавления записи Хоста для Вашего удаленного сервера:
Host theserver
Hostname 192.168.1.1
User username
ForwardX11 yes
PubKeyAuthentication yes
IdentityFile ~/.ssh/some_key
IdentitiesOnly yes
Теперь можно работать $ ssh theserver
и ForwardX11
будет активно. Когда Вы используете -X/-Y
флаг, Вы активируетесь ForwardX11
на клиенте, то же как путем установки конфигурации. Так или иначе необходимо будет включить ForwardX11
на клиенте, и не рекомендуется сделать это в масштабе всей системы для всех хостов, но вместо этого выборочно для каждого хоста.
Не смешивайте с DISPLAY
и позвольте Вашему клиенту и системе настраивать все. Вы, вероятно, пытались зафиксировать материал и добавили, что, но удаляют его и пытаются просто использовать -X
/-Y
флаг, или настраивающий для Передачи X11 для определенного хоста, или с флагом во времени выполнения.
Можно читать больше о последствиях безопасности X11, Передающего здесь и в другом месте.
Ответ так же прост как соединение с флагом-X:
ssh -X me@myserver
Это должно установить надлежащие переменные дисплея для Вас. Вы видите то, что значение похоже на это:
echo $DISPLAY
Когда я ssh в мой хост, я получаю это значение для ДИСПЛЕЯ:
localhost:10.0
У Вас может быть больше в файле конфигурации Вашего сервера, чем Вам нужно. Все, что я имею в моем, следующее:
SendEnv LANG LC_*
HashKnownHosts yes
GSSAPIAuthentication yes
GSSAPIDelegateCredentials no
Попытайтесь обрезать свой ssh файл конфигурации вниз к этим простым значениям.
Кроме того,-p 22 является ненужным, поскольку порт 22 является значением по умолчанию для ssh.
Здесь существует больше информации: Exchange Стека: Передайте X
Наконец, много может быть усвоено из страниц справочника:
man ssh