Как запускать графические приложения на удаленных компьютерах с X11
Для запуска приложений есть два пути:
Путь первый, он же небезопасный, с использованием TCP сокетов.
Путь второй, с SSH и шифрованием трафика.
Перед тем, как совершать какие-либо телодвижения, убедитесь, что при логине на удаленную систему никакие графические приложения не запускаются. Например, попробуйте запустить xmessage privet
Если оно дает вам ошибку Error: Can't open display:, то последуйте одному из этих двух советов:
1. Использование TCP сокетов
Использование tcp сокетов не рекомендуется в открытых сетях, т.к. не происходит никакого шифрования трафика. К тому же, во многих дистрибутивах данная опция выключена. Сделано это именно из-за соображений безопасности. Поэтому для использования этой опции необходимо включить данную поддержку в вашем X сервере. Откройте файл /etc/X11/xinit/xserverrc, найдите строчку exec /usr/bin/X11/X и удалите опцию -nolisten tcp. Запишите файл и перестартуйте X сервер.
Откройте xterm или любой его эквивалент и запустите команду xhost с параметром +адрес_удаленной_машины. Например, xhost +192.168.25.55
Это означает, что мы разрешаем соединения с данной машины к нашему X серверу.
Теперь залогинтесь на эту машину и настройте переменную окружения DISPLAY. Например, это можно сделать командой export DISPLAY=192.168.25.88:0.0, где 192.168.25.88 - адрес вашей машины, на котором запущен X.
После этого снова попробуйте запустить на удаленной машине xmessage privet и убедиться, что все работает. Если все назначено правильно, но соединения все равно нет, убедитесь, что соединения на порты tcp 6000-6010 на вашем компьютере с X разрешены.
2. Использование SSH
С использованием SSH предстоит немного больше мороки, но в качестве компенсации за труды вы получите более безопасное соединение и шифрование X11 трафика между машинами.
Для начала нужно включить X11 Forwarding в настройках sshd на удаленной машине: отредактируйте /etc/ssh/sshd_config так, чтобы опция X11 Forwarding была установлена в yes. Перегрузите ssh демон (/etc/init.d/ssh reload).
Теперь на клиентской машине при установке соединения нужно включить ssh forwarding. Наименее мучительный способ - создать конфигурационный файл ~/.ssh/config
Например, он может содержать такую информацию:
Host testserver
ForwardX11 yes
ForwardX11Trusted yes
HostName 192.168.25.55
Теперь просто наберите команду ssh testserver, введите пароль (если вы до сих пор не сделали аутентификацию по ключам), и попробуйте набрать команду xmessage privet. Voi la, у вас есть работающий X11 удаленный дисплей.
В обоих перечисленных случаях при возникновении проблем убедитесь, что на удаленных компьютерах также установлен X11!
- 7046 просмотров
Страница для печати


Берем отсюда http://www.nomachine.com/developers.php пакеты nxcomp и nxproxy, и по этой доке http://www.nomachine.com/documents/building-components.php собираем и пускаем nxproxy на обоих хостах.
В среднем, сжатие получается в 50-100 раз. Этого вполне достаточно для полноценной работы с современными приложениями на скорости 56-128 KBit. На таких скоростях X11 просто мрёт.
фича с опциями для каждого хоста в ssh достойна отдельного типса.. Ж:-)
--
Signature invent in progress 22% #.........
Отправить комментарий