Глава 17. Удалённое отображение приложений RHEL9 (переадресация X11)

В своей предыдущей главе мы рассмотрели как отображать рабочий стол RHEL9 удалённого компьютера целиком. Хотя это и работает хорошо когда вам требуется это может выглядеть отображать удалённо весь рабочий стол, это может выглядеть "стрельбой из пушки по воробьям" когда вы желаете отображать отдельное приложение. Таким образом, данная глава рассмотрит отображение индивидуальных приложений удалённой системы.

Требования для удалённого отображения приложений RHEL9

Для запуска приложения в одной системе RHEL9 и её отображения в другой имеется пара предварительных требований. Прежде всего, та система, в которой это приложение должно отображаться, должна работать в качестве X сервера. Когда это система основана Linux или UNIX с исполняемой средой рабочего стола, это не проблема. Тем не менее, когда система работает под управлением Windows или macOS, вам необходимо установить X сервер прежде чем вы сможете отображать приложение из удалённой системы. Для этой цели доступен ряд коммерческих и бесплатных серверов X на основе Windows и поиск в Интернете должен снабдить вас перечнем вариантов.

Во- вторых, та система, в которой подлежит исполнению данное приложение (в противовес системе, в которой это приложение отображается) должна быть настроена на доступ через SSH. Подробности относительно настройки SSH в системе RHEL9 можно найти в Главе 15, Настройка в RHEL9 аутентификации на основе ключей SSH. Эта система также должна исполнять вместо Wayland X Window System от X.org. Чтобы включить систему X.org, отредактируйте имеющийся файл /etc/gdm/custom.conf и снимите комментарий со строки WaylandEnable как отражено ниже и перезапустите эту систему.


# Uncomment the line below to force the login screen to use Xorg
WaylandEnable=false
 	   

Наконец, SSH должен быть настроен на разрешение переадресацию (forwarding) X11. Это достигается добавлением в конфигурацию SSH данной системы приводимой далее директивы, согласно которой и происходит переадресация. По умолчанию, в RHEL9, файл /etc/sshd_config содержит директиву на включение всех файлов конфигурации, содержащихся в каталоге /etc/ssh/sshd_config.d:


Include /etc/ssh/sshd_config.d/*.conf
 	   

Файл с названием 50-redhat.conf будет создан во вновь установленной системе в папке /etc/ssh/sshd_config.d. Измените этот файл и убедитесь что свойство X11Forwarding разрешено следующим образом:


X11Forwarding yes
 	   

После внесения данного изменения сохраните данный файл и перезапустите соответствующую службу SSH:


# systemctl restart sshd
		

После соблюдения перечисленных условий станет возможным удалённое отображение приложения рабочего стола на основе X.

Удалённое отображение приложений RHEL9

Самый первый шаг при удалённом отображении некого приложения состоит в переходе к той системе, в которой данное приложение должно отображаться. В этой системе установите SSH соединение к необходимой удалённой системе так, чтобы у вас имелось приглашение на ввод команд. Этого можно достичь запустив команду ssh. При использовании команды ssh нам потребуется воспользоваться флагом -X чтобы сообщить оболочке что мы планируем выполнять обмен через туннель поверх данного соединения:


$ ssh -X user@hostname
		

В приведённой выше команде user это имя пользователя для применения при регистрации в соответствующей удалённой системе,а hostname это имя хоста или IP адрес такой удалённой системы. Введите свой пароль в приглашении на ввод и, после регистрации, выполните следующую команду чтобы увидеть настройки DISPLAY:


$ echo $DISPLAY
		

Эта команда должна вывести нечто похожее на:


localhost:10.0
		

Чтобы отобразить приложение, запустите его из приглашения но ввод командной строки, например:


$ gedit
		

После исполнения приведённой выше команды в вашей удалённой системе должен запуститься инструмент gedit, но отображение интерфейса пользователя происходит в локальной системе.

Доверенная переадресация X11

Когда файл /etc/ssh/sshd_config.d/50-redhat.conf в удалённой системе содержит приводимую ниже строку, тогда имеется возможность доверенной переадресации X11:


ForwardX11Trusted yes
 	   

Доверенная переадресация слегка быстрее переадресации без доверия, однако менее безопасна так как она не обязывает исполнение контроля безопасности X11. При доверенной переадресации X11 необходим флаг -Y:


$ ssh -Y user@hostname
		

Сжатая переадресация X11

Для улучшения производительности, при использовании более медленных соединений, данные X11 могут сжиматься с применением флага ssh -C:


$ ssh -X -C user@hostname
		

Удалённое отображение прикладных приложений RHEL9 в Windows

Для отображения основанных на RHEL9 прикладных приложений в Windows, в такой системе Windows должны быть установлены клиент SSH и X сервер. Сам предмет установки и применения клиента PuTTY в Windows ранее был рассмотрен в этой книге в Главе 15, Настройка в RHEL9 аутентификации на основе ключей SSH. Отсылаем вас к этой главе если вы ещё не установили PuTTY в своей системе Windows.

Относительно сервера X доступен ряд вариантов, хотя популярным вариантом выбора предстаёт VcXsrv, который бесплатно доступен со следующей URL.

После того как X сервер VcXsrv был установлен, на вашем рабочем столе появится приложение с названием XLaunch и в меню Start (Пуск). Запустите XLaunch и выберите вариант отображения (наиболее гибким выступает вариант со Множеством окон - Multiple windows - который позволяет каждому прикладному приложению клиента появляться в собственном окне):

 

Рисунок 17-1


 

Кликните по кнопке Next для продолжения с остающимися экранами, принимая настройки конфигурации по умолчанию. На заключительном экране кликните кнопку Finish для запуска сервера X. Если появится диалог Windows Defender, кликните по соответствующей кнопке чтобы разрешить доступ к выбранным сетевым средам.

После запуска XLaunch появится в панели задач и выйти из него можно кликом правой кнопки по его иконке с последующем выбором варианта меню Exit...:

 

Рисунок 17-2


 

Обладая установленным и исполняемым сервером X, запустите PuTTY и, либо введите сведения для соединения с необходимым удалённым хостом, либо загрузите ранее сохранённый профиль сеанса. Прежде чем установить такое соединение, тем не менее, требуется включить переадресацию X11. Таким образом, внутри главного окна PuTTY отмотайте вниз варианты в панели слева, раскройте раздел SSH, и выберите варианты X11, как это отображено на Рисунке 17-3:

 

Рисунок 17-3


 

Включите флаговую кнопку Enable X11, выделенную на Рисунке 17-4, вернитесь к экрану сеансов и откройте необходимое соединение (заблаговременно сохранив этот сеанс, если вы планируете им пользоваться снова):

 

Рисунок 17-4


 

При помощи данного сеанса PuTTY зарегистрируйтесь в системе RHEL9 и запустите прикладное приложение рабочего стола. После краткой задержки в вашем окне рабочего стола Windows появится это прикладное приложение в его собственном окне. Все открываемые этим прикладным приложением диалоги появляются в отдельных окнах в точности так, как если бы это был рабочий стол GNOME RHEL9. Рисунок 17-5, к примеру, показывает отображаемое в окне системы Windows 11 средство nm-connection-editor RHEL9:

 

Рисунок 17-5


 

Заключение

Для тех случаев, когда в противоположность доступу ко всему рабочему столу требуется удалённый доступ к индивидуальным приложениям рабочего стола RHEL9, переадресация X11 предоставляет обладающее малым весом решение для удалённого отображения графических приложений. Та система, в которой должны появляться эти приложения, должна исполнять среду рабочего стола на основе системы X Window (такой как GNOME) или обладать установленным и выполняемым сервером X. После того как в соответствующем удалённом сервере разрешена переадресация X11 и установлено из локальной системы безопасное соединение SSH с параметром переадресации X11, в таком локальном X сервере может удалённо отображаться большинство приложений.