Использование оконной системы 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:
    1. Получить интерактивный доступ к узлу кластера, дополнительно указав параметр '-X', например, так (значения select и walltime должны соответствовать той задаче, что будет в последствии выполняться; возможно, потребуется монопольное занятие узла):
      qsub -I -X -l select=1:ncpus=1:mem=2000m,walltime=0:30:0
    2. В полученной сессии запустить приложение, требующее GUI.


  • В случае получения сообщений 'Error: Can't open display:' следует проверить и на интерфейсном сервере и на узле вывод команды
    echo $DISPLAY

    он должен быть примерно такого вида:

    localhost:14.0

    Если же вывод пустой - значит, туннелирования X11 нет.