Как VNC в существующую сессию X?


36

Хотел бы иметь возможность подключиться к существующему X-дисплею, чтобы получить доступ к своей рабочей среде и ко всему, что я оставил открытым из дома. Я смутно помню что-то об использовании x11vnc в прошлом. Но пакет не существует для Fedora 11, поэтому я думаю, что сейчас есть какой-то встроенный метод.

ПРИМЕЧАНИЕ. Я подключаюсь к своей рабочей машине через VPN, поэтому защита паролем - это все, что мне нужно для обеспечения безопасности.

Ответы:


47

Используйте x11vnc , он присоединится к запущенному сеансу и позволит вам открыть общий доступ к рабочему столу. Если вы запустите его от имени пользователя root для подключения к сеансу xdm, вам нужно будет немного изучить Xauth, поскольку его установка может быть довольно сложной.

Редактировать, чтобы добавить: Karl Runge больше не поддерживает оригинальный x11vnc, однако разработка на github продолжается . Или вы можете сделать как предложено ниже @ ivan-talalaev и использовать x0vncserver.

Еще одним преимуществом этого сервера является то, что он поддерживает множество расширенных функций VNC, используемых UltraVNC, включая кэширование больших растровых изображений и передачу файлов.


Если вы идете по этому пути, учтите,
Дэвид Макинтош

хорошо, так что x11vnc все еще идет. Так, где пакет fedora для этого :(
grom

Взгляните сюда: rpm.pbone.net/index.php3/stat/3/srodzaj/1/search/x11vnc Хотя вам может не повезти . Fedora 11 слишком новая. Попробуйте установить пакеты Fedora 10.
Sekenre

он также имеет давнюю и хорошо документированную ошибку, которая постоянно приводит к сбою сервера со многими стандартными оконными функциями, а код является потерянным и, вероятно, никогда не будет исправлен.
Скотт

1
x11vnc устарела, вместо этого используйте x0vncserver (см. другой ответ)
sebix

4

Согласно документации, Tigervnc поддерживает это.

x0vncserver - это сервер TigerVNC, обеспечивающий удаленный доступ к любому дисплею X через VNC, TigerVNC или совместимые средства просмотра. В отличие от Xvnc (1), он не создает виртуальный дисплей. Вместо этого он просто использует существующий X-сервер (обычно тот, который подключен к физическому экрану).

x0vncserver -display :0

Просто отметьте, что вам, как правило, также нужно указать файл пароля vnc:x0vncserver -display :0 -rfbauth .vnc/passwd
Honza

2

Если вы используете KDE на работе, в KDE уже есть встроенный VNC-сервер.

Предположительно, GNOME тоже.


1
-1 - те создают новые сессии, не используют существующие.
Роберт Мунтяну

Роберт Мунтяну: нет, вы ошибаетесь. У gnome есть vino, и вы можете динамически связывать vnc с уже запущенным X-сеансом.
Cstamas

1
@cstamas - оригинальный ответ не дал никаких указаний на это - пример name / link / config был бы признателен.
Роберт Мунтяну


ubuntuforums.org/showthread.php?t=266981 и ubuntuforums.org/showthread.php?p=1592817 имеют информацию о включении vino из командной строки
от

1

В качестве альтернативы вы можете посмотреть на NX . Обычно он намного быстрее, чем VNC через Интернет, и я знаю, что вы можете настроить его так, чтобы он имел доступ к запущенному сеансу X на консоли.



1

Я сделал довольно сложную настройку для сайта клиента, которая может быть подходящей для вас.

Это основано на конфигурации, которую я сделал для клиента. Они хотели следующее:

  • что пользователи могут удаленно использовать рабочий стол на уже работающем рабочем столе, запущенном на системной консоли;
  • что пользователи могут инициировать сеанс, запущенный на консоли, если он еще не запущен, и затем использовать его; а также
  • чтобы другие пользователи могли подключаться к уже запущенному рабочему столу, предоставляя доступ пользователю, который уже вошел в систему.

Смотрите подробности здесь .

Остерегайтесь последствий для безопасности тоже.


0

Используйте xrfb.

Мне нужно набрать более 10 символов, lalalaa.


5
Ссылка на домашнюю страницу была бы гораздо полезнее.
лозы
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.