Запуск приложений с GUI на удаленном Linux сервере

Некоторые специфические приложения под Linux не запускаются в чистом консольном режиме, и обязательно требуют для запуска наличие Desktop Environment. Но может возникнуть ситуация, когда подобную программу нужно запустить на удаленном сервере, хотя есть доступ лишь к удаленной консоли по SSH.

В протоколе SSH есть возможность запускать такие приложения на стороне удаленного сервера, а графику происовывать на локально запущенном X-Server, который в свою очередь формирует окно приложения на экране клиентского компьютера.

Теперь перейдем к практической части. Для начала подключимся к серверу по SSH, затем установим необходимые пакеты.

sudo apt-get install xauth

Теперь редактируем конфигурационный файл /etc/ssh/sshd_config.

sudo nano /etc/ssh/sshd_config

В файле необходимо изменить всего 3 параметра:

X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost no

Сохраняем файл Ctrl + O, затем перезапускаем SSH сервер.

sudo service ssh restart

На этом настройка сервера завершена, перейдем к настройке клиентского ПК.

Если Вы используете Linux, то достаточно добавить ключ -X при подключении по SSH, например:

Если Вы пользователь Windows, придется прибегнуть к установке X-сервера, отлично подойдет Xming.

Перед подключением, необходимо запустить сам Xming, для этого открываем утилиту XLaunch.

На первом этапе, выбираем стиль отображения удаленных окон. Затем выбираем тип сессии «Start no client», чтобы запустить только сам X-Server без удаленной сессии (ее мы запустим сами). На третьем экране можно дописать аргументы запуска Xming, включить поддержку буфера обмена, и т.д. На последнем экране можно сохранить данную конфигурацию, чтоб не выбирать все эти параметры при каждом запуске. После запуска, в системном трее будет висеть значок запущенного X-сервера.

Теперь осталось подключиться к серверу по SSH, с пробросом X-сессии. Для этого будем использовать PuTTY. Вписываем IP и порт или загружаем настройки из профиля.

Теперь переходим по пунктам Connection > SSH > X11. Отмечаем галочкой пункт Enable X11 Forwarding, прописываем адрес на котором прослушивается локальный X-сервер, а именно localhost:0.0

Все настроено, можно подключаться. Приложение с GUI запускается также как и любое консольное, просто вводом соответствующей команды, для примера можно запустить простенькие графические аналоговые часы — xclock.

xclock

Если появилось окно как на скриншоте выше, то все настроено правильно. Возможность запускать графические приложения удаленно может выручить в определенный момент, но постоянно использовать XForwarding не безопасно, по возможности отключайте ее в /etc/ssh/sshd_config, когда не пользуетесь.

ShiftHackZ

ShiftHackZ

Автор блога LocalHost // Blog. Интересуюсь компьютерными технологиями, системным администрированием и веб-разработкой. Днями напролет провожу время за своим компьютером и самосовершенствуюсь. Подробнее

Читайте также:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *