Использование оконной системы 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, описанный на странице, посвещённой 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 нет.