Настройка пересылки X11 через SSH в подсистеме Windows 10 для Linux?

3446
Cromulent

У меня есть Raspberry Pi 3 Model B +, подключенный к моей локальной сети, и я могу без проблем использовать SSH. Это действительно вызывает некоторые проблемы, так как все делается в командной строке.

То, что я действительно хотел бы сделать, это использовать пересылку X11 с помощью клиента SSH, который поставляется с Windows Subsystem для Linux. Я использую Windows 10 Pro с установленным обновлением 1803.

Мне просто интересно, как я могу использовать эту функцию? Если он не будет работать в Windows 10 изначально, то я всегда могу запустить виртуальную машину Linux для подключения к Raspberry Pi.

3

1 ответ на вопрос

3
baelx

Это определенно возможно, учитывая ваши текущие настройки. Обратите внимание, что у вас также есть возможность использовать Putty, но в любом случае вам понадобится запустить X-сервер на клиентском компьютере (ваша подсистема Windows для Linux - WSL). Модель клиент-сервер системы X Window - это отчасти то, что делает переадресацию X такой простой в использовании. Все, что вам нужно, это сервер x, работающий на хосте и клиенте.

Rapsberry Pi (Host) Конфиг

Во-первых, вам нужно будет выполнить небольшую настройку конфигурации вашего ssh-сервера на хост-компьютере (Raspberry Pi). Сначала найдите ваш файл sshd_config в каталоге etc. Вы можете запустить эти команды, войдя в Raspberry Pi (с учетной записью, поддерживающей sudo), либо напрямую подключившись к Pi, а затем открыв Терминал. Как только вы вошли, запустите команду:

cd /etc/ssh 

Сделайте резервную копию вашего конфигурационного файла sshd:

cp sshd_config sshd_config.ORIG 

Теперь откройте исходный файл в текстовом редакторе с помощью:

sudo nano sshd_config 

Вы можете выбрать любой текстовый редактор, с которым вам удобно ( см. Здесь ссылки на ярлыки текстового редактора nano). Это основной файл конфигурации для сервера ssh. Найдите и откомментируйте следующие строки:

X11Forwarding yes X11UseForwarding yes 

Сохранить и выйти. Теперь вам нужно перезапустить ssh-сервер вашего Pi с помощью:

sudo systemctl restart sshd 

Настройка Windows (клиента)

Вы сделали с вашим хозяином. Теперь все, что вам нужно сделать, это установить X-сервер для Windows. Есть несколько вариантов на выбор, но я бы пошел с Cygwin X, который вы можете скачать здесь . Установите его и после его запуска на вашем клиенте должно появиться небольшое окно, которое будет использоваться для отображения X-программы. Теперь вы можете проверить, что переадресация X происходит, вернувшись в свою оболочку WSL и выполнив простую команду:

xclock 

Простые часы должны появиться в окне, порожденном Cygwin. Вы можете остановить часы, вернувшись к своей оболочке WSL и нажав Ctrl + C. Если эта команда не распознается, вам может потребоваться сначала установить x11-графические приложения на хост-компьютере с помощью:

sudo apt-get install x11-apps 

Переадресация X теперь должна быть включена для вас, и теперь вы можете запускать большинство, если не все приложения вашего Rapsberry Pi из Windows.


Примечание по XDMCP, FreeNX

Возможно, вы захотите сделать еще один шаг вперед и настроить запуск всего «рабочего стола» с вашего Pi, а не просто приложение за приложением, что позволяет перенаправление X. Вот несколько общих опций, доступных для вас:

  • XDMCP: это самый простой в настройке, но общеизвестно небезопасный, и большинство властей рекомендуют, чтобы вы когда-либо запускали его в надежной проводной локальной сети (например, в домашней сети). Это может быть больше проблем, чем оно того стоит, но если вам интересно посмотреть на это, посмотрите эту ветку Rasp Pi для начальной настройки .
  • FreeNX: более безопасный, чем описанный выше вариант, и, вероятно, стоит потратить время на настройку, если вы хотите делать это регулярно и, возможно, из другой сети целиком. Вам нужно будет установить сервер FreeNX на хосте, а затем использовать другое программное обеспечение - NoMachine - на вашем клиенте Windows. Смотрите здесь для очень подробного руководства.