Удаленный рабочий стол (KDE) через обратный туннель SSH
У меня есть обратный туннель ssh через сервер посредника, настроенный и работающий. Я запускаю Kubuntu 12.04 здесь и на удаленной машине.
Я хочу открыть сеанс удаленного рабочего стола. До сих пор я использовал Team Viewer для входа на удаленный рабочий стол. Я бы хотел добиться аналогичных результатов без Team Viewer. Я понимаю, что X по SSH достигнет этого. Если мне нужно vnc, все в порядке.
- Не удается запустить xterm над ssh после нескольких успехов
- Скрипт для переключения setxkbmap
- Индикатор изменения макета клавиатуры
- Передача перетаскивания ssh x11
- Можно ли настроить ввод с сенсорной панели?
Вот моя проблема на данный момент. Когда я подключен к удаленной машине через туннель, я получаю эту ошибку:
$ startkde & $ $DISPLAY is not set or cannot connect to the X server.
Я подключаюсь к опции -Y SSH и используя ключи (а не пароли). Все, что связано с SSH, кажется, работает нормально. Единственная проблема, которую я вижу, – это X. Вот еще один пример:
$ xeyes & $ Error: Can't open display:
А также
$ echo $DISPLAY $
(ничего не возвращает)
Эти ответы кажутся релевантными, но я не смог понять их достаточно подробно, чтобы выработать решение в моем случае:
Можно ли запустить графическую программу на рабочем столе другого пользователя с правами root?
https://superuser.com/questions/190801/linux-wmctrl-cannot-open-display-when-session-initiated-via-sshscreen/190878#190878
One Solution collect form web for “Удаленный рабочий стол (KDE) через обратный туннель SSH”
Если вы используете сервер-в-середине для соединения двух систем, вероятность того, что хотя бы одна из строк довольно медленная. В этом случае VNC, скорее всего, даст вам лучшую производительность, так как вы можете лучше настроить соотношение пропускной способности / производительности / соотношение качества (это действительно справедливо для большинства настроек, если вы не находитесь в надежной сети 100 Мбит +).
Мне лично нравится x11vnc
, который подключается к запущенному X-серверу и пересылает входы / выходы по протоколу VNC (это можно сделать, как только X-сервер будет запущен, так что вы сможете взаимодействовать даже с диспетчером отображения). Сервер X, о котором идет речь, может быть как обычным (который выводится на реальный дисплей), так и на основе фреймбуфера, например Xvfb
. Затем вы можете использовать любой клиент VNC для подключения к экспортированному X-серверу. И, конечно, вы, вероятно, хотите туннелировать передачу через ssh
или stunnel
. Страница руководства x11vnc
является довольно исчерпывающей и даже имеет часто используемый пример командной строки в начале.
Это также позволяет удаленно подключаться к работающему сеансу, чтобы помочь кому-то решить проблему удаленно. В качестве важного бонуса, поскольку только входы и выходы пересылаются, а не сам протокол X, сетевые разъединения просто прерывают сеанс, но все программы остаются запущенными, что не относится к X-SSH .
Если по какой-то причине вы действительно хотите туннелировать X11 через SSH, вы должны убедиться, что переменная среды DISPLAY
настроена правильно ssh
. Без этого вы не сможете продолжить, потому что приложения не будут знать, к какому серверу подключиться. Проверьте, соответствует ли директива X11Forwarding
yes
в вашей конфигурации sshd
.
Последнее, но не менее важное, вы, вероятно, не хотите запускать startkde4
(или любой другой X-сеанс, если на то пошло) по SSH – сетевая нагрузка, вероятно, будет довольно тяжелой – VNC снова послужит вам лучше.