
Обычно я оставляю много программ запущенными на своей рабочей станции, и иногда мне нужно использовать ее удаленно. Поэтому мне нужно подключиться к существующей сессии X, при этом физический дисплей (монитор рабочей станции) должен быть заблокирован все время.
Я попробовал vino (vino-server и vinagre в качестве клиента), но они открывают новую, пустую X-сессию, поэтому она не дает мне доступа к запущенным приложениям.
Я также попробовал x11vnc, но он, похоже, разблокирует физический экран и оставляет его разблокированным (!) после завершения работы клиента, так что здесь у нас есть проблема безопасности...
На обоих концах запущена Ubuntu 12.04 с графическим интерфейсом по умолчанию, поэтому никакие специфичные для GNOME решения (апплеты и т. п.) работать не будут.
Идеальное решение должно дать мне доступ ко всем программам, запущенным на обоих мониторах и нескольких "виртуальных рабочих столах". Для чего может потребоваться захват специальных клавиш, таких как Crtl+[номер] и Alt-TAB.
В качестве альтернативы... если есть возможность переслать существующее окно (уже запущенную программу), ssh -X
это будет хорошим решением.
EDIT: x1vnc, а не "x11server" конечно...
решение1
Насколько мне известно, пересылать уже существующие окна через SSH невозможно.
Я бы посоветовал выбрать x11vnc
. Возможно, вам сначала придется установить его. Эта команда должна включить одноразовый беспарольный VNC-сервер, который будет совместно использовать ваш текущий рабочий стол (первым пришел, первым обслужен):
x11vnc -noxdamage -display :0 -safer -nopw -once -xrandr
Вам может потребоваться настроить дисплей. Вы также можете сделать это программно, используя интерфейс ConsoleKit dbus, но это слишком хлопотно и :0
в большинстве случаев подходит. Если это не работает, просто используйте :1
и так.
Это удобно, поскольку вы можете запустить его из сеанса SSH из любого места, когда вам это нужно.
решение2
Вам следует взглянуть наx2goи просто подключитесь к «Подключению к локальному рабочему столу» вместо указания оконного менеджера или среды рабочего стола.
Он использует SSH, поэтому после установки и запуска сервера на рабочей станции вы сможете подключиться к нему с помощью x2goclient, если вы уже можете подключиться к нему по SSH.
решение3
Вам следует взглянуть наX11RDP.
Это действительно отличное обновление Xrdp, в дополнение вы можете настроить поведение по своему усмотрению. У меня были те же проблемы, что и у вас, и я установил x11rdp и отредактировал файл xrdp.conf, чтобы разрешить вход в предыдущий сеанс... В любом случае, проверьте сайт и попробуйте версию 7. Парень там "Kevin Cave" гений, и теперь он сделал обновление, чтобы вы могли установить x11rdp как пакеты Debian.