Библиотека сайта rus-linux.net
Цилюрик О.И. 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 |