18 нояб. 2013 г.

Запуск графических приложений на удаленной Linux-машине с помощью Putty и Xming (export display)

Суть задачи в следующем. Есть у нас сервер, на котором нету X-сервера, только консоль. А нам нужно, к промеру, установить Oracle Solaris Studio и запусктаь ее удаленно. Или какое-то другое приложение, работающее в GUI-режиме.

Для решения этой задачи выполняем следующее.

1. На сервере устанавливаем пакеты xauth и xterm. Например, для Oracle Linux (или другого RHEL):

yum install xauth xterm

2. Также, нужно проверить, включено ли X11 Forwarding в конфигурационном файле SSH-демона:

nano /etc/ssh/sshd_config

X11Forwarding yes

3. Eсли вы заходите с помощью Windows-машины, то вам необходимо установить Xming - X-эмулятор для форточек.  Ну и, собсно, сам Putty - ssh-клиент для Windows.


Установка Xming тривиальна, по типу далее, далее, далее. Только поставить галочку, что мы будем использовать его вместе с Putty. Сам Putty так же устанавливаем.

4. Запускаем Xming, он свернется в трей и после этого запускаем Putty и на вкладке Connection / SSH / X11 отмечаем галочку Enable X11 forwarding, а также дописываем в поле X display location значение localhost:0.


4. Далее подключаемся к удаленному серверу и запускаем наше приложение. Например, Solaris Studio:

/opt/oracle/solarisstudio12.3/bin/solstudio

Когда всё подгрузиться, вы увидите заветное окошко:


Для тех, кто работает в Linux-среде всё еще проще. Запускать приложения на удаленной машине можно, добавляя к подключению по ssh ключ -X.

Если нужно запустить графическое приложение на удаленной машине, не доступной с вашей рабочей, но доступной через третью машину, то на этой третьей машине необходимо сделать форвардинг 22го порта для ssh и 6010 порта (для дисплея localhost:0) TCP.