"Пробросить" X'ы через ssh очень просто:
ssh -X user@host
После этого "echo $DISPLAY
" на удалённом выдаст что-то типа:
localhost:10.0
Все приложения, требующие наличие X'ов, будут выполняться с использованием локального X-сервер. Однако, я столкнулся с тем, что на некоторых rpm-based системах такой "трюк" не проходит. В частности, это не работало на Oracle Linux Release 6.3, Red Hat Enterprise Linux Server release 6.3. Соединение устанавливалось, а "echo $DISPLAY
" выдавал пустой результат. "/etc/ssh/sshd-config/
" был проверен и перепроверен, результат — то же. Понятно, что чего-то не хватает. Оказывается, не хватало всего лишь пакета "xorg-x11-xauth
", установка которого решила проблему:
yum install xorg-x11-xauth
Кстати, без этого пакета вход под пользователем "root
" по публичному ключу так же был невозможен — по-прежнему требовалось ввести пароль. Установка пакета решила и эту проблему.
UPDATE 25.12.2013.
Столкнулся с проблемой "проброса" X'ов на одной из машин с "Ubuntu 13.04
". Решение такое:
X11UseLocalhost no
После этого DISPLAY выглядит примерно так:
hostname:10.0
В чём причина – пока не понял и не разобрался.