Использование оконной системы X Window
Для работы приложений, использующих графический интерфейс (GUI), необходим запуск на рабочей станции пользователя сервера X Window (в терминологии X Window это именно сервер, а клиентом является приложение с графическим интерфейсом; в этом есть своя логика - 'клиент' рисует на 'сервере'). Подробное описание технологии есть, например, на сайте Википедии. Операционные системы Unix-семейства как правило уже имеют X-server в своем составе, для семейства Microsoft Windows предлагается использовать бесплатные программы Xming или VcXsrv. Также можно использовать Cygwin/X или MobaXterm, но работа с этими пакетами здесь описана не будет.
Следует помнить, что в случае медленного соединения протокол X Window будет работать с существенными задержками, делающими его использование некомфортным.
При подключении к интерфейсному серверу кластера из операционных систем Unix-семейства может потребоваться добавлять команде ssh
ключ -X
:
ssh -X логин@имя_сервера
Последовательность действий в операционных системах семейства Windows:
- Скачать дистрибутив Xming c сайта http://sourceforge.net/projects/xming/files/. (Интерфейс VcXsrv очень похож, с возможными отличиями предлагается разобраться самостоятельно).
- Установить. Если программа 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 нет.