Вопрос или проблема
Я долго боролся с Xming и PuTTY, и не могу заставить их работать; я включил пересылку X11 в PuTTY, обновил список xauth на клиентской стороне с помощью списка xauth на серверной стороне.
В настоящий момент я могу запустить xclock с клиентской машины на серверной, когда DISPLAY установлен на :0.0 (он показывает xclock на серверной машине), но я не могу запустить его локально на клиентской машине; другими словами, окно Xming вообще не появляется.
Я уже изменил DISPLAY на localhost:0.0, myip:0.0, но ничего не сработало. Когда я запускаю xclock (когда дисплей установлен на myip:0.0), он запускается (я не получаю ошибку “не могу найти дисплей”), но Xming все равно ничего не показывает.
P.S. В моем sshd_config есть следующие строки:
X11Forwarding yes
X11Displayoffset 10
X11UseLocalhost yes
Попробуйте сделать следующее:
- Сначала снимите любое значение переменной DISPLAY, так как это заставит PuTTY использовать это значение в качестве целевого дисплея.
- Запустите XLaunch (входит в комплект установщика Xming) с использованием дисплея по умолчанию (:0.0)
-
Затем запустите PuTTY как:
putty -X {user}@{host}
заменяя {user} и {host} на ваше имя пользователя и имя хоста или IP-адрес вашего удаленного компьютера.
- Запустите xeyes или любое другое x-приложение в консоли PuTTY.
Когда вы используете PuTTY с флагом -X, он автоматически создает мост между локальным дисплеем на удаленном компьютере и дисплеем :0.0 на локальном. Вы также можете использовать -X <display>
для использования нестандартного локального дисплея.
Флаг -X также может быть установлен в окне конфигурации PuTTY в разделе:
Connection -> SSH -> X11 -> Enable X11 Forwarding
Самый простой способ использовать X11 удаленно с Xming – это установить сервер Xming на вашем рабочем столе. Затем подключитесь к удаленному серверу с помощью вашего SSH-клиента (который поддерживает пересылку X11), после подключения установите переменную DISPLAY равной IP-адресу, с которого пришло соединение SSH, с добавлением :0 в конце, и экспортируйте переменную. Например:
DISPLAY=10.212.134.111:0
export DISPLAY
Затем запустите приложение X11 из командной строки.
Если вы хотите запустить приложение и продолжить использовать оболочку для других задач, добавьте & в конце команды, чтобы запустить его в фоновом режиме. Например:
xfce4-terminal &
.
Ответ или решение
Чтобы настроить локальное отображение с использованием Xming и PuTTY, необходимо учесть несколько важных шагов и настроек. X11 Forwarding позволяет запускать графические приложения с удаленного сервера на вашем локальном компьютере. Ниже приведены рекомендации, основанные на вашем описании проблемы.
Подготовка
-
Убедитесь, что Xming установлен и запущен:
- Запустите Xming (можно использовать XLaunch). При запуске используйте стандартные настройки (например, используйте :0.0 в качестве дисплея). Это создаст сервер X, который будет ожидать подключения.
-
Настройки PuTTY:
- Убедитесь, что в PuTTY включен X11 Forwarding. Для этого в настройках подключение перейдите в
Connection
→SSH
→X11
и выберите опциюEnable X11 Forwarding
. - Если вы предпочитаете, вы также можете запустить PuTTY с флагом
-X
из командной строки, используя:putty -X {user}@{host}
- Убедитесь, что в PuTTY включен X11 Forwarding. Для этого в настройках подключение перейдите в
Установите переменные окружения
- Настройка переменной DISPLAY:
- После подключения к удаленному серверу вам может потребоваться установить переменную окружения DISPLAY. Это можно сделать следующим образом:
unset DISPLAY export DISPLAY=localhost:0.0
- Также можно попробовать установить ее в IP-адрес вашего локального компьютера:
export DISPLAY=ваш_IP:0.0
- После подключения к удаленному серверу вам может потребоваться установить переменную окружения DISPLAY. Это можно сделать следующим образом:
Тестирование
- Запуск графических приложений:
- Запустите простое X11 приложение, например,
xclock
илиxeyes
, из вашей SSH-сессии. Убедитесь, что приложение запускается из команды:xclock &
- Знак
&
позволяет запустить приложение в фоновом режиме, оставляя вам доступ к командной строке.
- Запустите простое X11 приложение, например,
Проверка конфигурации на сервере
- Настройки SSH:
- В файле конфигурации
/etc/ssh/sshd_config
на вашем сервере убедитесь, что следующие строки присутствуют и не закомментированы:X11Forwarding yes X11DisplayOffset 10 X11UseLocalhost yes
- После изменения конфигурации SSH может понадобиться перезапустить службу SSH:
sudo systemctl restart sshd
- В файле конфигурации
Настройки безопасности
- Ограничения и проблемы доступа:
- Убедитесь, что ваш локальный брандмауэр или антивирусное программное обеспечение не блокирует соединения на порты, используемые X11.
- Если вы используете VPN или настройки NAT, проверьте их совместимость с X11 Forwarding.
Заключение
Следуя этим шагам, вы должны получить возможность отображать графические приложения с удаленного сервера на вашем локальном компьютере через Xming и PuTTY. Если возникают дополнительные сложности, рекомендуется проверить журналы ошибок на сервере и клиенте для получения более подробной информации о произошедших сбоях.