Наши партнеры





  • Жемчуг
  • Статьи, письма. Фотокаталог ювелирных изделий.
  • laperegrina.ru
  • Заказать воду
  • Получите сертификат соответствия на воду. Оставьте заявку прямо из офиса
  • aelita-water.ru



Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Электронные книги по ОС Linux
Цилюрик О.И. Linux-инструменты для Windows-программистов
Назад Инструменты удалённой работы Вперед

Удалённый X11

В этой части мы проделаем удалённый запуск графических приложений X11. Для определённости объяснений и примеров, приложение будет выполняться на хосте notebook (IP 192.168.1.9), а его графический вывод (ввод) производится на экран хоста home (IP 192.168.1.7). Оба хоста находятся в одном сегменте LAN, но это не имеет значения, и они так же будут выполняться в WAN.

Нативный протокол X

На хосте home разрешаем X-серверу подключения от указанного хоста :

$ uname -n

home

$ xhost
access control enabled, only authorized clients can connect
SI:localuser:olej

$ xhost +notebook
notebook being added to access control list

$ xhost
access control enabled, only authorized clients can connect
INET:notebook
SI:localuser:olej

Теперь экран этого компьютера готов для отображения удалённых приложений.

Примечание: в защищённой или изолированной LAN можно разрешить доступ по X-протоколу не для отдельного выбранного адреса, а для любого хоста LAN:

$ xhost +
access control disabled, clients can connect from any host

$ xhost
access control disabled, clients can connect from any host
SI:localuser:olej

Примечание: когда необходимость в доступе отпадёт, мы запретим его путём, обратным тому, как мы его разрешали:

$ xhost -notebook
notebook being removed from access control list

$ xhost
access control enabled, only authorized clients can connect
SI:localuser:olej

Рис. 3. Запрет подключения от указанного хоста

Далее на хосте notebook указываем дисплей для X-протокола и запускаем приложение (для примера показан xterm):

$ DISPLAY=192.168.1.7:0.0; export DISPLAY

$ echo $DISPLAY

192.168.1.7:0.0
$ xterm
^C

На рисунке, скопированном с экрана хоста home (X-сервера), хорошо видно, что xterm идентифицирует свой хост (на котором он выполняется) как notebook.

Другой способ указать X-клиенту (приложению) какой X-сервер (дисплей) использовать, без задействования переменной окружения:

$ DISPLAY=; export DISPLAY
$ echo $DISPLAY
$ xterm -display 192.168.1.7:0.0
...

Примечание: в некоторых инсталляциях Linux сервер X11 может запускаться так, что ему запрещено прослушивание протокола TCP/IP (обмен только через нативный домен UNIX). Для того, чтобы проверить это, смотрим строку запуска Х-сервера:

$ ps ahx | grep Xorg
 4476 tty7     Ss+   34:26 /usr/bin/Xorg :0 -br -audit 0 -auth /var/gdm/:0.Xauth vt7
 6388 pts/4   S+     0:00 grep Xorg

Строка запуска без протокола TCP/IP будет содержать нечто подобное следующему:

... /usr/bin/Xorg :0 -br -audit 0 -auth /var/gdm/:0.Xauth -nolisten tcp vt7

Если это так, и вам нужен удалённый Х11, Х-сервер нужно переконфигурировать и перезапустить... , сделать это можно разнообразными способами, например, так:

- Воспользоваться менджером:

# gdmsetup

- Установить в менеджере разрешение TCP доступа, и перезапустить Х систему:

# gdm-restart

Не стоит здесь пугаться, что рабочая сессия Х закроется, и будет запущена новая, начиная с начального login.

Графическая сессия ssh

Альтернативный способ выполнить X-приложение на хосте notebook находясь на хосте home (аналогично предыдущему случаю) — это тунелировать сообщения X-протокола внутрь протокола ssh. Для этого на хосте home (там где мы хотим наблюдать выполнение):

$ uname -n

home

$ ssh -nfX -l olej notebook xterm

olej@notebook's password:
$            

Рис. 4. Графическая сессия ssh

Формат команды:

$ ssh -nfX -l<user> <host> <command>


Предыдущий раздел: Оглавление Следующий раздел:
Удалённые сессии в mc   Сети Windows