Удаленный рабочий стол (KDE) через обратный туннель SSH

У меня есть обратный туннель ssh через сервер посредника, настроенный и работающий. Я запускаю Kubuntu 12.04 здесь и на удаленной машине.

Я хочу открыть сеанс удаленного рабочего стола. До сих пор я использовал Team Viewer для входа на удаленный рабочий стол. Я бы хотел добиться аналогичных результатов без Team Viewer. Я понимаю, что X по SSH достигнет этого. Если мне нужно vnc, все в порядке.

Вот моя проблема на данный момент. Когда я подключен к удаленной машине через туннель, я получаю эту ошибку:

$ 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

  • Почему сервер Xnest имеет другой glxinfo, чем обычный сервер Xorg?
  • Применить комбинацию клавиш клавиатуры при выпуске
  • Нужен небольшой дистрибутив без рабочего стола или менеджера окон, просто для запуска одного графического приложения
  • X и xdotool в LXC вместо KVM
  • Подключение к нескольким XServers
  • Отдельные мониторы с отдельным входом клавиатуры и мыши?
  • Как заставить Ctrl + Alt действовать как Alt gr в Ubuntu?
  • Экран виртуального фреймбуфера X - 1024x9216 вместо 1024x768
  • 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 снова послужит вам лучше.

    Linux и Unix - лучшая ОС в мире.