Ivanovo Linux Users Group - Not logged in
Forum Help Search Login
Previous Next Up Topic X / The X Window System / Трансляция X сервера на другую машину (7309 hits)
- By LOE (Site/forum admin) Date 28.04.06 11:14
Залача: оттранслировать X-server на другую машину.
Обозначения: ИПС - IP машины, с которой надо получить вывод, ИПК - рабочая машина

Итак.
В начале не забываем: чтобы кто-то мог подключиться к нашему локальному Х-серверу, необходимо это разрешить:
xhost + ИПС
Это единоразовая операция, которая не сохраняется между перезагрузками локального Х-сервера!

Теперь настраиваем удаленную машину.
Нам необходим специальный Х-сервер: Xnest, который является клиентом для другого Х-сервера и в то-же время сервером для "своих" приложений.
В slackware-current это пакет x11-xnest-6.9.0-i486-3.tgz - ставим его и переназначаем симлинк:
cd /usr/X11R6/bin
rm X
ln -s Xnest X

Поскольку я использую KDE, то настройка будет производиться именно его kdm.

В каталоге /opt/kde/share/config/kdm ищем файл kdmrc и правим строку:
#ServerCmd=/usr/X11R6/bin/X -br
ServerCmd=/usr/X11R6/bin/Xfake -display ИПК:0 -br
т.е. вводим параметр display

Теперь создаем файл /usr/X11R6/bin/Xfake:
#!/bin/sh

N=`echo $* | sed -r 's/ vt. / /'`
exec /usr/X11R6/bin/X $N

необходимость его обусловлена тем, что при штатном запуске Х-сервера, kdm передает ему параметр vt7 (указывающий на каком локальном терминале запускаться). Но Xnest этот параметр не понимает и его надо удалить.

Всё. Теперь командуем
init 4
(в slackware 4-й run-level - это запуск kdm, в других дистрах это может быть 5-й run-level)
и получаем на рабочей машинке в окошечке запущенный на удаленной машине Х-сервер.

PS. Возникает вопрос: А почему просто не переопределить переменную DISPLAY и не запускать приложения так?
На это есть несколько причин:
- если надо запустить просто приложение, то да, можно и таким образом перенаправить вывод. Однако, приложение будет знать, что вывод транслируется на другую машину. В данном же случае, приложению "кажется" что вывод идет только локально (для приложения будет DISPLAY=:0.0).
- если захочется так запустить весь КДЕ, то он "захочет" взять полный контроль над вашим Х-сервером. Ну а 2 мэнеджера, дерущихся за один Х-сервер ни к чему хорошему не приведут (в процессе тестов, у меня просто "упал" локальный KDE, а вместе с ним и локальный Х-сервер)
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - By LOE (Site/forum admin) Date 28.04.06 11:24
Для единовременного запуска того-же КДЕ, можно поступить проще:
так-же через xhost разрешаем коннекты, ставим пакет Xnest, переопределяем на него симлинк.
И запускаем KDE так:
startx -- -display ИПК:0
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent By slam Date 31.05.06 11:52
Хм... Неплохо...
Previous Next Up Topic X / The X Window System / Трансляция X сервера на другую машину (7309 hits)

Powered by mwForum 2.12.0 © 1999-2007 Markus Wichitill

Page created in 0.094s with 10 database queries.