Skip to content


Удалённый запуск GUI-программ

Возникла задача - установить на удалённый Linux-сервер с CentOS 6.2 (далее по тексту будет фигурировать под именем remote.server.com) антивирус Eset NOD32. Linux-версия данного продукта имеется, но, к сожалению, установщик представляет собой бинарный файл с GUI, основанным на GTK. На сервере, естественно, никаких X-Window System нет и не планируется. Следовательно, нам нужно как-то изловчиться, чтобы графика софтины отрисовывалась на нашей рабочей машинке с монитором, а сама софтина при этом была запущена на удалённом сервере. Последовательность решения задачи следующая:

ssh-x11-forwarding

Запуск GUI-программ на удалённом сервере без монитора

1. Устанавливаем на сервер пакет xorg-x11-xauth.
2. Переносим Magic-Cookie с localhost-а на сервер с помощью команды:

$ xauth extract - $DISPLAY | ssh remote.server.com 'xauth merge -'
xauth:  creating new authority file /home/avz/.Xauthority

3. Проверяем, что на сервере в конфиге sshd разрешён X11-Forwarding, если нет – меняем значение на "yes" и перезапускаем ssh-демон:

# grep X11Forwarding /etc/ssh/sshd_config
X11Forwarding yes

4. Открываем новую SSH-сессию с ключиком -X и запускаем в ней нужную команду, которая работает с графикой:

ssh -X remote.server.com /home/avz/eset_nod32av_64bit_en.linux

С этого момента программа для взаимодействия с оператором использует монитор, клавиатуру и мышь localhost-а, а другие аппаратные ресурсы (файловую систему, сеть, процессор, память и т.д.) – сервера. Конкретно в моём случае это позволило установить и сконфигурировать антивирус, что было бы невозможно одним только command-line-ом.

Если на localhost-е стоит windows, то аналогичного эффекта можно добиться с помощью Putty и Xming.

P.S. Есть у меня подозрение, что пункт 2 не совсем обязательный, но без него у меня почему-то не работало на одном сервере. А вот на другом - работало и без пункта 2.

Полезные ссылки по теме:

Posted in *nix, Howto.

Tagged with .


One Response

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. Petrovsky says

    Есть еще xvfb - X Virtual Frame Buffer - тулза для запуска GUI-приложений на headless-серверах. В CentOS пакет называется xorg-x11-server-Xvfb.

    Хоть и немного из другой оперы, но тоже по теме.

You must be logged in to post a comment.