Удаленный запуск X-приложений

Поскольку система X Window построена на технологии "клиент — сервер", то X-сервер, выполняющийся на некотором компьютере, способен обслужи- вать X-приложения, выполняющиеся на других компьютерах. Это, в частно- сти, позволяет запускать клиентские X-приложения, требовательные к ресур- сам, на мощных компьютерах, отображая при этом графику с помощью X-сервера, запущенного на рабочей станции.

Один из важнейших моментов во взаимодействии X-сервера с удаленными X-клиентами состоит в авторизации X-клиентов, т. е. в предоставлении прав X-клиентам использовать данный X-сервер. В простейшем случае при отсут- ствии необходимости идентификации пользователей, работающих на уда- ленных компьютерах, авторизация X-клиентов может быть произведена с помощью программы xhost. Вызванная без аргументов, эта команда ото- бражает список имен узлов, с которых разрешен запуск X-приложений на данном сервере (пример 32.33).

 

Пример 32.33. Команда xhost

 

$ xhost

access control enabled, only authorized clients can connect


 

В этом случае команда xhost сообщила, что контроль доступа включен. Так как данная команда не отобразила ни одного имени узла, с которого разре- шено взаимодействие X-клиентов, то данный X-сервер не будет отображать графику удаленных приложений. Для разрешения доступа X-приложений отовсюду следует выполнить команду xhost +. Эта команда выключает кон- троль доступа к X-серверу. Для его восстановления необходимо выполнить команду xhost –.

Используя команду xhost, можно указывать имена узлов, которые авторизо- ваны для запуска X-приложений, взаимодействующих с данным X-сервером (пример 32.34).

 

Пример 32.34. Разрешение на доступ к X-серверу указанному хосту

 

$ xhost +classfw

classfw being added to access control list

$ xhost

access control enabled, only authorized clients can connect INET:classfw.class.edu

 

В этом примере в список авторизованных узлов внесен узел classfw. Его имя указано в файле /etc/hosts. Если имя узла не указано в этом файле, то про- грамма xhost сделает попытку обращения к серверу DNS.

Более безопасно воспользоваться средствами авторизации, основанными на шифрованных дайджестах. Такие возможности предоставляет программа xauth, позволяющая обмениваться такими дайджестами (MIT-MAGIC-COOKIE-1). Команда, приведенная в примере 32.35, передает дайджест с компьютера xsrv на компьютер xclnt. В результате этого, компьютер xclnt получает доступ к X-серверу на компьютере xsrv.

 

Пример 32.35. Команда xauth

 

[user1@xsrv]$ xauth generate xsrv:0 [user1@xsrv]$ xauth list xsrv:0

xsrv/unix:0 MIT-MAGIC-COOKIE-1 20aace2a7dfb831f4e2a7828c4f2f7b8 [user1@xsrv]$ xauth extract — xsrv:0 | ssh xclnt xauth merge -

 

Приведенная в примере 32.36 команда xauth generate генерирует дайджест, который формируется из списка, выданного командой xauth list. Послед- няя команда примера пересылает дайджест посредством SSH на клиентский компьютер.


 

Запуск X-приложений, взаимодействующих с удаленным X-сервером, тре- бует указания узла, на котором запущен X-сервер. Это может быть осуществ- лено с помощью указания требуемого узла после опции X-приложений

–display (пример 32.36).

 

Пример 32.36. Запуск X-клиента, работающего с удаленным X-сервером

 

$ xterm -display bamboo.class.edu:0.0 &

 

В этом примере X-приложение xterm, запущенное на узле classfw, будет отображать свои окна в X-сервере, запущенном на узле bamboo.class.edu.

Вместо указания имени узла с помощью опции -display можно воспользо- ваться переменной окружения DISPLAY, которой назначается имя дисплея (пример 32.37).

 

Пример 32.37. Переменная DISPLAY

 

$ DISPLAY="bamboo.class.edu:0.0"

$ export DISPLAY

$ xterm &

 

После присвоения переменной окружения DISPLAY значения — имени уда- ленного узла X-приложения будут пытаться взаимодействовать с X-сервером на этом узле.

Наиболее безопасно использовать удаленные X-сессии, туннелируя их по- средством SSH. Туннелирование SSH разрешает настройка в файле конфигу- рации /etc/ssh/ssh_config на компьютере с X-сервером, приведенная в приме- ре 32.38.

 

Пример 32.38. Разрешение туннелирования X11 в /etc/ssh/ssh_config

 

X11Forwarding yes

 

Вместо редактирования конфигурационного файла можно просто использо- вать опцию –X команды ssh (пример 32.39).

 

Пример 32.39. Туннель X11 в SSH

 

workstation$ ssh –X dspless.class.edu netbeans


 

Команда в примере 32.39 запустит на машине dspless.class.edu приложение netbeans, графические окна которого будут отображаться на дисплее рабочей станции workstation. При этом пакеты протокола X11 будут туннелированы через SSH.

 








Дата добавления: 2015-06-12; просмотров: 723;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.012 сек.