Для работы приложений, использующих графический интерфейс (GUI), необходим запуск на рабочей станции пользователя сервера X Window (в терминологии X Window это именно сервер, а клиентом является приложение с графическим интерфейсом; в этом есть своя логика - 'клиент' рисует на 'сервере'). Подробное описание технологии есть, например, на сайте Википедии. Операционные системы Unix-семейства как правило уже имеют X-server в своем составе, для семейства Microsoft Windows предлагается использовать бесплатные программы Xming или VcXsrv. Также можно использовать Cygwin/X или MobaXterm, но работа с этими пакетами здесь описана не будет.
Следует помнить, что в случае медленного соединения протокол X Window будет работать с существенными задержками, делающими его использование некомфортным.
При подключении к интерфейсному серверу кластера из операционных систем Unix-семейства может потребоваться добавлять команде ssh
ключ -X
:
ssh -X логин@имя_сервера
Последовательность действий в операционных системах семейства Windows:
-
Установить. Если программа putty уже установлена, переключить при установке с 'Normal putty link ssh client' на 'Don`t install an SSH client'.
Запустить программу: Start → Programm → Xming → Xming (для задания дополнительных параметров запускать XLaunch). В трее появится иконка в виде буквы 'X'.
Запустить pageant, загрузить ключ.
Запустить putty, выбрать сохраненную ранее ssh-сессию, нажать кнопку Load.
Слева переключиться на 'Connections → SSH → X11', справа поставить галочку на 'Enable X11 forwarding'.
Вернуться слева в 'Session' и сохранить изменившиеся настройки сессии.
Нажать 'Open' и подключиться к интерфейсному серверу.
В ssh сессии запустить приложение, требующее графический интерфейс. Через несколько секунд на Вашей рабочей станции должно появиться новое окно, содержащее графическое изображение, создаваемое приложением. SSH сессия при этом останется заблокированной программой - чтобы это избежать, надо запустить приложение в фоновом режиме, добавив через пробел символ 'амперсанд':
xclock &
Описанная выше последовательность действий приведёт к запуску приложения на интерфейсном сервере, не предназначенном для выполнения ресурсоёмких задач. Для реальных задач необходимо запускать приложение на узлах кластера, для чего должен использоваться интерактивный режим PBS:
Получить интерактивный доступ к узлу кластера, дополнительно указав параметр '
-X', например, так (значения select и walltime должны соответствовать той задаче, что будет в последствии выполняться; возможно, потребуется монопольное занятие узла):
qsub -I -X -l select=1:ncpus=1:mem=2000m,walltime=0:30:0
В полученной сессии запустить приложение, требующее
GUI.
В случае получения сообщений '
Error: Can't open display:' следует проверить и на интерфейсном сервере и на узле вывод команды
echo $DISPLAY
он должен быть примерно такого вида:
localhost:14.0
Если же вывод пустой - значит, туннелирования X11 нет.