Удаленный рабочий стол (VNC, x11vnc). Настройка

Изображение пользователя Voyageur.

С линуксом жизнь становится интересней, я бы даже сказал экспериментальней!
Меня потянуло на эксперименты с ssh, и то, что я получил в итоге - доступ с работы к домашнему компу - мне очень понравилось! Еще бы - классно управлять домашним компом, обновлять его и т.п. С девушкой даже с помощью festival разговаривал)))
Однако, захотелось пойти дальше, интересно, можно ли настроить удаленный доступ к рабочему столу, как позволяет это RAdmin в Windows? Можно конечно! Надо только настроить))

Покопался в интернете, нашел несколько статей про VNC - Virtual Network Computing, решил такое счастье сделать и у себя!
Для этого сначала необходимо было поставить несколько утилит:
sudo aptitude install vnc4-common vnc4server xvnc4viewerЭти утилиты необходимы непосредственно для того, чтобы запускать удаленный сервер (vnc4server) и подключаться к нему с удаленного клиента (xvnc4viewer).
Установили! Теперь дело остается за малым: сначала нужно запустить vnc-сервер, а потом подключиться к нему.
Для запуска удаленного сервера, нужно в консоли набрать vncserverЕсли это первый запуск vncserver в системе с этой учётной записью пользователя, тогда вы должны ввести пароль, который клиенты будут использовать при подключении, после чего запустится сервер, который будет доступен на порту 5901. Кстати, при запуске сервера в консоль выведется номер дисплея (виртуального), на котором он будет доступен, отсчет ведется с 1 (так как 0 - текущий дисплей). Пример запуска: igor@Voyageur:~$ vncserver

New 'Voyageur:1 (igor)' desktop is Voyageur:1

Starting applications specified in /home/igor/.vnc/xstartup
Log file is /home/igor/.vnc/Voyageur:1.log
Здесь строчка New 'Voyageur:1 (igor)' desktop is Voyageur:1 как раз говорит о том, что у меня компе запустился сервер на дисплее 1, доступен он на порту 5901.
Если vncserver запустить еще раз, то загрузится новый терминальный сервер :2 на порту 5902 и т.д.
Теперь попробуем зайти на этот сервер с удаленной машины. Для этого необходимо в консоли удаленного клиента ввести команду: vncviewer __hostname__:1В этой команде __hostname__ - это имя или ip машины, на которой запущен удаленный сервер. Далее необходимо будет ввести пароль и в результате появится приблизительно вот такое окно:

Немного не то я ожидал увидеть если честно)) Начал разбираться, и оказалось, что vncserver запускает лишь новую сессию, а не подключается к текущей, именно для этого и нужны виртуальные дисплеи. А в этой сессии запущены twm (Tab Window Manager for the X Window System) и xterm.
Между прочим это все добро запускается из скрипта ~/.vnc/xtartup, который можно редактировать, удаляя ненужные и добавляя свои строчки запуска необходимых приложений. В самом верху скрипта есть небольшой комментарий: # Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
То есть, чтобы получить нормальный рабочий стол, нужно раскомментировать 2 строчки. Я их раскомментировал, но ничего хорошего из этого у меня не вышло.
Посмотрел я на этот twm, и решил, что с этим убожеством работать нельзя. Я установил fluxbox (занимает всего 6 Мб) и в скрипте xstartup заменил строчку twm &наfluxbox &В итоге у меня получилось вот так:

Нормально для работы. Но не айс! Оперу можно запустить, еще некоторые приложения, но далеко не все (приложения kde выламываются)! Пробовал я вместо fluxbox'a запустить kde, но не пошло...Играет приветствие входа в систему, но вылетает окно с крахом плазмы и все, черный экран, занавес...

В итоге я получил удаленный доступ, но не такой как хотел! Мне-то хотелось иметь доступ к текущему рабочему столу, а не к мифическому дисплею 1, на котором загружается fluxbox, но не kde.

Что делать? Надо копать еще!!!
Я поискал в репозиториях пакеты, в названии которых присутствует "vnc", список оказался не очень большой, я начал читать комментарии к утилитам и библиотекам...В самом конце списка я увидел такую строчку: p   xvnc4viewer                    - Virtual network computing client software for XОчень похоже на то, что мне нужно!
Я установил x11vnc...man у этой утилиты знатный, несколько тысяч строк)) После небольшого его изучения я более менее разобрался с процедурой запуска и назначением утилиты.
Итак, x11vnc является фактически удаленным сервером (как и vncserver), но позволяет получать доступ к уже существующей X-сессии!
На машине, к которой необходимо подключиться: x11vnc -storepasswdЭта команда позволит позаимствовать пароль для подключения к серверу из файла ~/.vnc/passwd (тут лежит пароль, который был задан при первом запуске vncserver). Далее непосредственно запустим x11vnc: x11vnc -usepw -display :0Опция -usepw задействует использования пароля при подключении к серверу, -display :0 - запускает сервер на нулевом дисплее (так, где открыта текущая X-сессия).
Теперь мы с удаленной машины можем подключиться к текущей X-сессии, выполнив vncviewer __hostaname__:0 и введя пароль.

При закрытии окна удаленного рабочего стола, завершается и работа x11vnc (на сервере)
Таким образом, я получил то, что хотел))))
Напоследок приведу несколько опций для утилит vncserver, x11vnc и vncviewer, облегчающих траффик и жизнь))
vncserver

  • -kill :n - завершает работу терминального сервера на дисплее n (порту 590n), если он раньше был запущен
  • -geometry 800x600 - устанавливает размер создаваемого рабочего стола (по умолчанию 1024x768)
  • -depth depth - устанавливает глубину цвета в битах, по умолчанию 16 бит, можно изменить на 8, 15, 24
  • Для запуска VNC-сервера с определенным номером (дисплеем) используется команда vncserver :n

x11vnc

  • -q - уменьшает вывод отладочной информации в stderr
  • -forever - данная опция не завершает работу x11vnc-сервера, когда первый клиент отключается, а ждет следующих подключений

vncviewer

  • -geometry 800x600 - устанавливает размер окна, в котором будет отображаться удаленный рабочий стол. Если указанный размер меньше размера удаленного стола, то появятся полосы прокрутки
  • -compresslevel n - устанавливает уровень сжатия данных. Значение n варьируется от 0 до 9, 9 - наилучшее сжатие (качество, соответственно, хуже)
  • -quality m - влияет на качество картинки. m варьируется от 0 до 9, 0 - наихудшее качество изображения (меньше траффик)
  • -depth depth - если X-сервер поддерживает различные значения глубины цвета, то можно попытаться подобратьоптимальное значение (в битах)
  • -viewonly - опция, позволяющая подключившемуся пользователю только наблюдать за тем, что происходит на удаленной машине, средства управления (мышь, клавиатура) недоступны

P.S. Кстати, если нужно, чтобы x11vnc запускался автоматически, то для этого его нужно добавить в автозагрузку: в Настройках системы выбрать пункт Автозагрузка (на второй вкладке), там добавить скрипт x11vnc -usepw -display :0 -q -forever &и указать, что он должен запускаться до старта KDE!

Комментарии (72)

0
Anakin_Sk - 24 Июнь, 2009 - 12:36
Изображение пользователя Anakin_Sk.

+1 Большое спасибо за статью. Пригодится!

0
Гал - 24 Июнь, 2009 - 12:58
Изображение пользователя Гал.

А мне уже пригодилось. Я теперь ваще попы от стула не отрываю. Раньше хоть вставал фильм сменить а сейчас все это делаю со своего компа. Игорь, ещё раз благодарю :)

+1
Mike - 24 Июнь, 2009 - 13:15
Изображение пользователя Mike.

Отличная статья, прям целый детектив! Пиши еще! =)

0
kubuser - 24 Июнь, 2009 - 14:40
Изображение пользователя kubuser.

=))) Ага, прям А.Кристи...

0
Grenky - 25 Июнь, 2009 - 04:41
Изображение пользователя Grenky.

пользуюсь давненько... т.к. часто нужно с дома подключаться к рабочему ноуту.
Не решил единственную проблему подключения к :0 экрану до logon пользователя ... но думаю это не реально так как экран наверно появляется только при логоне. Тем более что ключик -usepw не будет знать где брать пароль.
Но встает вопрос:
можно ли средствами ssh\vnc авторизовать\залогонить пользователя чтоб в последствии залогонится по
x11vnc -usepw -display :0

0
Voyageur - 25 Июнь, 2009 - 09:42
Изображение пользователя Voyageur.

Вообще экран должен появиться при старте kdm'a. Я пробовал добавить автозапуск в /etc/rc.local, но не стартует почему-то, возможно из-за того, что отработка /etc/rc.local проходит на этапе загрузки системы и до старта kdm.
А по поводу вопроса можно немного подробнее? Я просто не совсем понял, что имеется ввиду...
Нашел, как можно залогиниться удаленно через kdm. Для этого в файле /etc/kde4/kdm/kdmrc нужно поправить секцию Xdmcp:[Xdmcp]
.....
#Enable=false
.....
KeyFile=/etc/kde4/kdm/kdmkeys
.....
KeyFile=/etc/kde4/kdm/kdmkeys
А затем в файл /etc/kde4/kdm/Xsetup добавить строчку запуска x11vnc:/usr/bin/x11vnc -dontdisconnect -forever -bg -o /var/log/x11vnc.log -rfbauth /home/<em>__имя_пользователя__</em>/.vnc/passwdТеперь удаленно подключаться можно будет если работает только kdm.

0
Гость - 6 Март, 2011 - 16:18

Вай, напарился я с этим VNC, но может и мой опыт поможет кому-то.
Сделал все по совету Voyageur, но ничего не работало, а когда таким же макаром пытался запустить из консоли вылазила ошибка с методами ее устранения. Так вот, заработало все таким макаром:
Система Debian Squeeze, оболочка KDE4.
Секцию Xdmcp поправил так:
[Xdmcp]
.....
#Enable=false
.....
KeyFile=/etc/kde4/kdm/kdmkeys

Aайл /etc/kde4/kdm/Xsetup отредактировал таким образом:
#! /bin/sh
Xsetup - run as root before the login dialog appears

#xconsole -geometry 480x130-0-0 -notify -verbose -fn fixed -exitOnFail -file /dev/xconsole &
/usr/bin/x11vnc -env FD_XDM=1 -auth guess -dontdisconnect -usepw -display :0 -geometry 1024x768 -q -forever -reopen -noxfixes -bg -o /var/log/x11vnc.log -rfbauth /home/USERNAME/.vnc/passwd
Где USERNAME имя пользователя. Существенное различие, если вы заметили, в наличии параметров -env FD_XDM=1 -auth guess. Об их значениях можно прочитать набрав строку: man x11vnc ;).

Voyageur-у отдельное спасибо!

0
vap - 19 Июль, 2009 - 08:55
Изображение пользователя vap.

А маштабировать вьювер умеет? я чтото не нашел

0
Voyageur - 19 Июль, 2009 - 09:54
Изображение пользователя Voyageur.

Масштабировать - в каком смысле? Опция -geometry - не то?
P.S. А в остальном работает?))

0
vap - 19 Июль, 2009 - 15:40
Изображение пользователя vap.

Да работает, правда wow играть всеравно неполучилось слишком медленно катринка меняется.
Нет вроде она же делает размер окошка XxY а в окошке приходится прокручивать, в гуевых (krdc и тд) есть кнопочка маштабировать, и в этом окошке получается весь целиком рабочий стол просто маленький.

0
vap - 19 Июль, 2009 - 16:05
Изображение пользователя vap.

да кстате проверил гуевые вьюверы работают нормально теперь, только медленно картинка меняется. Дело в сервере значет

0
nick_sniper2 - 24 Июль, 2009 - 03:53
Изображение пользователя nick_sniper2.

Google разрабатывает на базе freenx свой движок neatx (http://code.google.com/p/neatx/). Пока он нормально не доступен (можно из сырцов компилить, но еще много недоработок).

Зато скорость показывает изумительную. Значительно обгоняет и vnc и rdp.

Так что будем ждать.

0
Гость - 16 Ноябрь, 2009 - 20:29

да, умеет

0
nick_sniper2 - 24 Июль, 2009 - 03:55
Изображение пользователя nick_sniper2.

Игорь, ну могу сказать только большое человеческое спасибо!

Давно поднял ssh с авторизацией по ключам. Так что хоть не приходилось бегать к серверу. Но вот побороть графику не получалось. Перепробовал много чего (и встроенных глючные КДЕшные krdc/krfb и несколько дней угробил на nx от nomachine и еще много чего). Либо глючит, либо не проберешься через доводку кувалдой.

А здесь все так просто. За 15 минут сделал.

Еще раз спасибо. Жалко, пока карму поднимать не могу :)

0
balamutick - 24 Июль, 2009 - 09:33
Изображение пользователя balamutick.

А мы с ним несколько дней страдали-страдали, ну что ни делаем, подключаешься только к тёмному экрану и всё... И главно даже куда копать не знаем...

+4
nick_sniper2 - 24 Июль, 2009 - 13:19
Изображение пользователя nick_sniper2.

1. Нужно проверить на сервере, не установлены ли другие пакеты vnc. В частности, по умолчанию с Кедами инсталлируется krdc и krfb. krdb - это тоже vnc сервер, только пока глючный. Он висит на тех же портах. И возможно ты коннектишься именно к нему. Итак, на сервере в консоль,
sudo aptitude
и поехал удалять krdc и krfb. А также поищи по слову vnc (с умом), может быть ты во время экспериментов еще каких-то пакетов поставил. После этого лучше перезапустить машину (ну или проверь, что демон точно убился, т.к. по умолчанию он остается висеть до следующей сессии).
После этого проверь, что остались нужные пакеты, а еще лучше дай команду
sudo aptitude install vnc4-common vnc4server xvnc4viewer x11vnc

2. На сервере в каталог ~/.vnc могло при экспериментах набраться всякого мусора + неправильно дать права. Быстрый способ: удали этот каталог с помощью
rm -R ~/.vnc.
После этого подряд дай две команды:
vncserver
sudo vncserver

Именно в такой последовательности, первая без sudo. Первая нужна, чтобы правильно установить владельца и права на создаваемый каталог ~/.vnc. Вторая как бы и не нужна, но перестрахуйся. При этом у тебя спросит пароль для подключения.
Проверь с помощью
ls -la ~/ | grep vnc
ls -la ~/.vnc

что твой пользователь имеет права на каталог и файлы. Если чего - chmod, chown

3. На сервере в консоли:
x11vnc -usepw -display :0 -q -forever &
Больше ничего не надо на сервере делать или править.
Бежишь к компьютеру, пробуешь подключиться с помощью:
vncviewer имя_сервера
или даже лучше:
vncviewer айпи_адрес_сервера
Заметь, что в конце можно поставить :0 как советовал Игорь, но не обязательно. И так работает. Должно спросить пароль на вход - значит достучался до сервера.

Если получил ожидаемый результат - удаленный экран - значит все в порядке и можешь делать скрипт автостарта. При этом заметь, что нужно именно создать отдельный файл со скриптом, а не просто вписать команду в автозагрузку.

4. Если и сейчас не работает - то пойдут уже глупые советы :) Попробуй еще проверить на сервере владельца и права каталога ~/.Xauthority - зачастую они не правильны. Дай своему пользователю с помощью chmod, chown разрешения. Т.к. возможно vnc сервер просто не может авторизироваться в текущей сессии. И повтори п.3.

0
balamutick - 24 Июль, 2009 - 13:40
Изображение пользователя balamutick.

Просто нет слов, отличное сообщение. При таких исчерпывающих инструкциях, очень мало есть вероятности не настроить...

Да и мне кажется, что если после всего этого не получится, то настраивать нужно будет уже не компьютер :-)

Вообщем, на неделе будет времени побольше (что-то под пятницу у-у-узвери работой закидали), попробую и отпишусь.

0
Ibergard - 29 Октябрь, 2010 - 09:23

Все шло славно до ввода команды:
x11vnc -usepw -display :0 -q -forever &
на что консоль мне выплюнула:
~$ x11vnc -usepw -display :0 -q -forever &
[1] 1590
ibergard@ibergard-linux:~$ No protocol specified
No protocol specified

29/10/2010 10:19:13 ***************************************
29/10/2010 10:19:13 *** XOpenDisplay failed (:0)

*** x11vnc was unable to open the X DISPLAY: ":0", it cannot continue.
*** There may be "Xlib:" error messages above with details about the failure.

Some tips and guidelines:

** An X server (the one you wish to view) must be running before x11vnc is
   started: x11vnc does not start the X server.  (however, see the -create
   option if that is what you really want).

** You must use -display <disp>, -OR- set and export your $DISPLAY
   environment variable to refer to the display of the desired X server.
- Usually the display is simply ":0" (in fact x11vnc uses this if you forget
   to specify it), but in some multi-user situations it could be ":1", ":2",
   or even ":137".  Ask your administrator or a guru if you are having
   difficulty determining what your X DISPLAY is.

** Next, you need to have sufficient permissions (Xauthority)
   to connect to the X DISPLAY.   Here are some Tips:

- Often, you just need to run x11vnc as the user logged into the X session.
   So make sure to be that user when you type x11vnc.
- Being root is usually not enough because the incorrect MIT-MAGIC-COOKIE
   file will be accessed.  The cookie file contains the secret key that
   allows x11vnc to connect to the desired X DISPLAY.
- You can explicitly indicate which MIT-MAGIC-COOKIE file should be used
   by the -auth option, e.g.:
       x11vnc -auth /home/someuser/.Xauthority -display :0
       x11vnc -auth /tmp/.gdmzndVlR -display :0
   you must have read permission for the auth file.

** If NO ONE is logged into an X session yet, but there is a greeter login
   program like "gdm", "kdm", "xdm", or "dtlogin" running, you will need
   to find and use the raw display manager MIT-MAGIC-COOKIE file.
   Some examples for various display managers:

     gdm:     -auth /var/gdm/:0.Xauth
              -auth /var/lib/gdm/:0.Xauth
     kdm:     -auth /var/lib/kdm/A:0-crWk72
              -auth /var/run/xauth/A:0-crWk72
     xdm:     -auth /var/lib/xdm/authdir/authfiles/A:0-XQvaJk
     dtlogin: -auth /var/dt/A:0-UgaaXa

   Sometimes the command "ps wwwwaux | grep auth" can reveal the file location.

   Only root will have read permission for the file, and so x11vnc must be run
   as root (or copy it).  The random characters in the filenames will of course
   change and the directory the cookie file resides in is system dependent.

See also: http://www.karlrunge.com/x11vnc/faq.html

Чего то я не вкуриваю что консоль от меня желает получить? Подскажите плз куда копать?

+3
Mike - 1 Апрель, 2020 - 10:47
Изображение пользователя Mike.

Спустя 10 лет ответ на эту проблему был таки найден. Правда, это стоило мне половины рабочего дня.

Проблема эта возникает в случае, когда на удаленном компе не был осуществлен вход локально пользователем. Чтобы войти глобально, нам нужно знать mit-magic-cookie, которым sddm авторизуется на XOrg. Для этого выполняем команду:
ps aux | grep auth
На нее выйдет ответ что-то типа:
root 1897 1.3 0.8 381536 134356 tty1 Ssl+ 09:40 2:12 /usr/lib/xorg/Xorg -nolisten tcp -auth /var/run/sddm/{333eff87-e82e-442d-9f1b-ded03ce76909} -background none -noreset -displayfd 17 -seat seat0 vt1

Волшебной печенькой в этом ответе будет "-auth /var/run/sddm/{333eff87-e82e-442d-9f1b-ded03ce76909}".
После этого выполняем команду:
sudo x11vnc -display :0 -auth /var/run/sddm/{333eff87-e82e-442d-9f1b-ded03ce76909} -forever
Причем делать это в первый раз нужно обязательно через sudo, иначе не сработает.
После этого логинимся в vnc-клиенте как обычно.

P.S. Если после этого грохнуть вот этот запущенный от рута внц-сервер, а потом запустить его как обычно, без печеньки, то можно логиниться как обычно, но при условии, что локальный сеанс уже был авторизован.

P.S. Не совсем про это, но на всякий случай положу это тут. Проблема с кириллицей в ВНЦ решается командой setxkbmap -display :0 us,ru, правда, тоже не без геморроя.

0
Гость - 31 Июль, 2020 - 09:36

Я зарегистрировался только потому, что хотел поблагодарить вас.Спасибо вы ооооооооочень помогли.

0
Валентин - 30 Апрель, 2023 - 15:29

А как в X11VNC включить SSH?

0
Гость - 22 Август, 2009 - 17:44

Каким образом решил проблему с русскими буквами?

0
Гость - 7 Сентябрь, 2009 - 12:04

а как решить проблему. в школе устанавливаем параллельно с ХР линукс. все установили. а как сделать так, чтобы через терминальный сервер можно было работать на другом компьютере.

0
Mike - 9 Сентябрь, 2009 - 06:45
Изображение пользователя Mike.

KRDP вам в помощь!

0
Firemies - 8 Ноябрь, 2009 - 20:04
Изображение пользователя Firemies.

Добрый день, подскажите как мне с помощью KRDP подключиться к удаленному столу ( Windows 7), или ссылку где это можно понять что сделать в Кубунту и что надо сделать в Windows 7.

Огромное спасибо

0
Mike - 9 Ноябрь, 2009 - 11:05
Изображение пользователя Mike.

на виндозной банке надо запустить службу удаленного рабочего стола и переправерить, для каких пользователей разрешен доступ. Всё...

0
Гость - 10 Ноябрь, 2009 - 09:49

Спасибо за статью, все заработало, но вот такая проблемка: цепляюсь к удаленному рабочему столу через krdc, все нормально, но если не трогаешь мышь 5 секунд эгран гаснет, двинешь мышь, все работает... Никто не сталкивался с такой засадой?

0
Гость - 8 Апрель, 2010 - 18:06

Тоже такая проблемка: цепляюсь к удаленному рабочему столу через krdc но комп переходит в спящий режим через несколько секунд.

0
Voyageur - 9 Апрель, 2010 - 11:08
Изображение пользователя Voyageur.

К сожалению, я проверить работу krdc не могу, поэтому и посоветовать что-либо дельное тоже) Но может быть кто-то еще сталкивался с такой проблемой?

0
Shiek - 26 Апрель, 2010 - 15:51

Хорошая статья! Тоже VNC, с картинками, Archlinux+Ubuntu по wifi ad-hoc - Vinagre-просмотр удаленных Рабочих столов

0
Гость - 13 Июнь, 2010 - 01:17

Как на автозапуск вывести не решено еще?
У меня Xubunta... Автозапуск нужен позпрез!

0
Гость - 3 Ноябрь, 2010 - 12:47

Можно использовать upstart. по событию запуска kdm. Если ещё интересно - могу наваять скрипт.

0
Flameflower - 24 Ноябрь, 2010 - 20:04
Изображение пользователя Flameflower.

Вот такой вопросик:
Vncviewer ругается, мол не может найти дисплей...
Запускаю сервер так:
x11vnc -usepw -display :0 -q -forever &
В консоли появляется следующее:
[1] 6244
danila@danila-work-pc:~$
The VNC desktop is: danila-work-pc:0
PORT=5900

Вроде удачно...
Больше ничего в данной консоли сделать не удается. Цепляюсь вновь по ssh...
Проверяю слушают ли порт 5900

sudo netstat -a |grep 5900
tcp        0      0 *:5900                  *:*                     LISTEN    
tcp6       0      0 [::]:5900               [::]:*                  LISTEN    

Вроде как да...
Дальше запускаю:

danila@danila-work-pc:~$ vncviewer 192.168.0.94
VNC Viewer Free Edition 4.1.1 for X - built Apr  9 2010 15:52:37
Copyright (C) 2002-2005 RealVNC Ltd.
See http://www.realvnc.com for information on VNC.
vncviewer: unable to open display ""
danila@danila-work-pc:~$

или
danila@danila-work-pc:~$ vncviewer 192.168.0.94:0
VNC Viewer Free Edition 4.1.1 for X - built Apr  9 2010 15:52:37
Copyright (C) 2002-2005 RealVNC Ltd.
See http://www.realvnc.com for information on VNC.
vncviewer: unable to open display ""
danila@danila-work-pc:~$

Так полагаю на пограничном маршрутизаторе необходимо организовывать DNAT для порта vnc-сервера, который запущен на удаленном ПК или так должно всё должно работать?

0
Гость - 15 Декабрь, 2010 - 16:07

Как с Gnom можно обойти проблему с логином?

0
fisinaa - 22 Декабрь, 2010 - 08:17
Изображение пользователя fisinaa.

Если прально понял как залогиницо после перезагрузки ? недобавляя автозауск? что то типа так (ну я так делал) захлжу по ssh, дальше sudo x11vnc -auth /var/gdm/:0.Xauth -display :0 и x11vnc -usepw -display :0 -q -forever & потом ууже VNC клиентом.

-1
Гость - 28 Ноябрь, 2016 - 16:00

Для подключения к удалённому компу на котором не залогинен пользователь работает такая комбинация:
ssh <IP>
su
x11vnc -auth /var/gdm/:0.Xauth -display :0 -forever &
exit
exit
vncviewer <IP>

0
Гость - 30 Декабрь, 2010 - 14:19

Здравствуйте!
Подскажите после этой команды vncviewer __hostname__:1 у вас на картинки горит окно а в нём ещё а уменя горит только серый фон и всё !
Как исправить?

+1
Anhel - 24 Январь, 2011 - 11:29

Игорь с п а с и б о !

Вопрос:
Как запустить x11vnc на другом порту, отличном от 5900?

Ответ:
$ x11vnc -usepw -display :0 -rfbport 5999
и подключаться так: ip_adres:5999:0

0
Валентин - 5 Апрель, 2023 - 14:20

и подключаться так: ip_adres:5999:0
Именно IP, а не имя сервера?
А, если IP динамический?

0
dm - 5 Апрель, 2023 - 21:33
Изображение пользователя dm.

Без прямого IP не получится подключиться.

0
Гость - 24 Январь, 2011 - 11:58

"Спасибо за статью", но лучше чем TeamViewer я пока ненашол

0
Flameflower - 24 Январь, 2011 - 12:28
Изображение пользователя Flameflower.

Ну хз хз... Под Linux'ом TeamViewer ни что иное, как УГ.
IMHO.
Не хотят запилить нативную версию...

0
Гость - 23 Февраль, 2011 - 07:06

Насчёт тим-вьюера: могу только согласиться с предыдущим оратором. К сожалению, порой всё равно приходится на работе использовать эту проприетарную дрянь:(
А статья очень годная - СПАСИБО! Я хоть и юзаю только Debian+Gnome, очень благодарен, ибо подходит и для моего случая, и для Sun Solaris у меня на терминальном сервере (только там пришлось вручную бинарники собирать). С праздником вас, кстати.

0
Гость - 7 Апрель, 2011 - 18:46

все отлично, не хватает одной функции как в тим-вьюере, сервера на который мог бы клиент обратиться и зарегистрироваться. Есть мысли?

0
Гость - 29 Июнь, 2011 - 07:37

подскажите, а как в автозагрузку засунуть.
Чтоб к компу этому вообще не подходить.
Типа загрузился комп и сразу по удалёнке цепляешься.
OS ubuntu 11.04
как в статье написано загружается только после как залогинишся, а надо сразу чтоб на сервере кнопки не нажимать!

0
Voyageur - 2 Июль, 2011 - 20:27
Изображение пользователя Voyageur.

Попробуйте проделать манипуляции из вот этого комментария, а также из следующего за ним.

0
Гость - 12 Июль, 2011 - 21:17

Дело в том что там прописано для KDE 4? А как сделать для Gnome?

0
Гость - 28 Июль, 2011 - 15:52

Сам пробую под гномом. вроде зацепился, по крайней мере в процессах есть. делал по этой методике.
и думаю что надо добавить gvncviewer как описано здесь.

0
Гость - 17 Сентябрь, 2011 - 01:34

спасибо за статью, но меня есть пару вопросов.
как прописать размеры дисплея? -geometry 800x600 не совсем понятно, можно каманду целиком. И есчё место русского языка какие то иегоргифы, как исправить, зарание спасибо!

0
Гость - 1 Декабрь, 2011 - 18:59

в ~/.vnc/xtartup дописать
gnome-session &
и все пашет без всякого x11vnc

0
Гость - 27 Май, 2014 - 13:58

а как быть, если у меня Xface ?
gnome-session его запустит автоматом ?

0
Гость - 19 Январь, 2012 - 19:45

Все сделал, но приконнектится можно только если руками ввести в терминале
x11vnc -usepw -display :0 -q -forever & и терминал не закрывать. Если терминал закрыть, то све коннекта нет. Тоже самое если перезагрузиться, придется зайти TeamViewer'ром запустить терминал и запустить x11vnc -usepw -display :0 -q -forever &. Главное не закрывать терминал, а свернуть, закроешь все, коннекта нет :(
Куда капать?
Проверяю chkconfig загружен -> x11vnc
Система Xubuntu 11.10

0
Гость - 19 Январь, 2012 - 22:12

Допер, у меня же в Xubuntu 11.10 не gdm, LightDM :) Создал файл /etc/init/x11vnc.conf прописал скрипт и все стало ОК.

0
Гость - 11 Февраль, 2012 - 12:24

А у меня в Альт Линуксе 6.0 открывается черный экран с серым окошком, тремя полями и тремя кнопками. Ни текста, ни графики нету. Куда копаться? :(

0
Гость - 7 Май, 2012 - 00:19

Товарищи, помогите начинающему!

Я пытался настроить доступ к своему серверу на Kubuntu 12 по этой инструкции. В качестве клиента у меня Windows 7 - Real VNC. Я вобщем-то многого не делал:
Настроил startup task: x11vnc -usepw -display :0 -q -forever
Поставил разрешение 800x600 в кубунте (чтобы влезало в экран ноута)
Поставил auto login + lock, иначе Real VNC не видит сервера (потому что он не запущен, как я понимаю).

Все работало чудесно, пока я не:
Отключил монитор от сервера (сервер же!)
Перезагрузил сервер

После этого я подключиться все еще могу, но экран скукожился до очень маленьких размеров.

На сколько я понимаю, это из-за того, что икс сервер не видит монитор (его нет!) и не может поставить разрешение. Но я начинающий могу ошибаться.

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

0
Rabinovitch - 18 Март, 2013 - 10:59
Изображение пользователя Rabinovitch.

Присоединяюсь. Только у меня (Kubuntu 12.10) если системник грузится без подключенного монитора, с Win7 VNC просто не подключается, хотя пинг идёт. И если к загруженному таким образом системнику подключать клавиатуру-мышь-монитор, он на них никак не реагирует. Видимо, после изучения интернетов, не стартует X-сервер. Думаю, как бы обойти это, чтобы не пеерсаживаться на Windows XP...

0
artemx - 28 Март, 2013 - 06:08

За статью спасибо!
Rabinovich, у меня та же проблема.
Только на сервере стоит Lubuntu , при загрузке сервера с монитором, к столу по удаленке цепляюсь, все отлично работает, но если загрузить сервер без подключенного монитора, то X-сервер не запускается на Display.
А vncserver выдает:

server@server:~$ x11vnc -usepw -display :0
28/03/2013 10:55:01 -usepw: found /home/server/.vnc/passwd
28/03/2013 10:55:01 x11vnc version: 0.9.13 lastmod: 2011-08-10 pid: 3968
28/03/2013 10:55:01 XOpenDisplay(":0") failed.
28/03/2013 10:55:01 Trying again with XAUTHLOCALHOSTNAME=localhost ...
28/03/2013 10:55:01 ***************************************
28/03/2013 10:55:01 *** XOpenDisplay failed (:0)
*** x11vnc was unable to open the X DISPLAY: ":0", it cannot continue.
*** There may be "Xlib:" error messages above with details about the failure.

Куда копать, пока не нашел :(

+1
artemx - 28 Март, 2013 - 07:18

В общем нашел хоть какой-то способ запуска без монитора.
Для задачи "Управление сканером" хватает.
Вот здесь подсмотрел решение, может кому пригодится:
http://romanrm.ru/persistent-apps-in-vnc

0
Гость - 22 Февраль, 2016 - 10:29

Привет.
У меня ноутбук, и надо было отключить экран, чтобы можно было с ним работать только через VNC. Если я просто отключал экран (xrandr --output LVDS --off), то у меня тоже был маленький экранчик в VNC-клиенте.
Я решил эту проблему вот таким образом: сделал скрипт, который выполняется после старта X-сервера. Он должен выполняться последним, чтобы среда успела прогрузиться.

x11vnc -forever -bg
sleep 5
xrandr --fb 1280x800
sleep 1
xrandr --output LVDS --off
sleep 1
xrandr --fb 1280x800

Вместо LVDS должно стоять название того устройства, которое соответствует Вашему монитору (его показывает запуск xrandr без параметров). Значения для Sleep-ов придумал из головы. Первый запуск xrandr --fb возможно и не нужен, но я уже не хочу проверять, и так работает.
Смысл в том, что раз экран маленький, значит, он есть, а если он есть, то его можно расширить - это и делает команда xrandr --fb <разрешение>. Разрешение, наверное, может быть любым, я поставил то, что у меня на ноутбуке.

0
Гость - 11 Декабрь, 2012 - 12:55

фух... спасибо огромное, кучу статей перечитал, никак не мог понять какого фига серверная часть вырубается при отключении клиента... благодаря этой статье - всё таки настроил на нормальную работу.

0
Гость - 15 Июнь, 2013 - 19:22

Это самая годная статья во всем интернете на эту тему!

0
Гость - 9 Декабрь, 2013 - 21:56

Большая просьба добавить в статью следующее
---------------------------------------------
Дополнение для Ubuntu 11.10

В Ubuntu 11.10 и новее вместо gdm по-умолчанию используется LightDM, поэтому настройка x11vnc в этой версии Ubuntu немного отличается от предыдущих.

После установки x11vnc создайте файл /etc/init/x11vnc.conf, в который добавьте следующий код:

start on login-session-start
script
x11vnc -dontdisconnect -display :0 -auth /var/run/lightdm/root/:0 -notruecolor -noxfixes -shared -forever -rfbport 5900 -bg -o /var/log/x11vnc.log -rfbauth /home/USERNAME/.vnc/passwd
end script

Соответственно, измените путь к файлу с паролем и параметры запуска x11vnc. После перезагрузки x11vnc будет готов к работе.
-------------------------------------------------------------------
а то эта статья в поиске находиться первой а потом долго приходиться искать как все это запустить для последних версий системы

0
Гость - 9 Декабрь, 2013 - 22:09

Никак не могу понять как получить неискаженное изображение при следующей ситуации
монитор на сервере 1680x1050
а на клиенте 1280x1024
я так понимаю что это как то связано с параметрами x11vnc: scale и geometry?
или я вообще не туда смотрю?
я так понимаю что это как то связано с тем что здесь уже спрашивалось чуть раньше:
----------------------------------------------------------------------------------------
в гуевых (krdc и тд) есть кнопочка маштабировать, и в этом окошке получается весь целиком рабочий стол просто маленький.
----------------------------------------------------------------------------------------

0
Гость - 13 Сентябрь, 2014 - 23:58

у меня пароль взяло командой -rfbauth /путькпаролю, созданному командой -storepasswd

0
Гость - 26 Февраль, 2016 - 10:56

Огромное спасибо много всего перепробовал самый лучший вариант

0
jasper83 - 3 Июнь, 2019 - 02:32

Присоединяюсь! Спасибо! Поскольку /etc/rc.local видимо стал не модным, то этот вариант идеален!
__________________________
Ubuntu 18.04
KDE 5.44.0 / Plasma 5.12.7

Единственное дополню с учетом нынешней ситуации.
Файла /etc/kde4/kdm/kdmrc нет. В /etc/ нет даже директории kde*,
а сей файл /etc/kde4/kdm/Xsetup находится по адресу /usr/share/sddm/scripts/Xsetup
Вот к его правке сразу и переходим!

0
Master_Yoda - 4 Апрель, 2020 - 19:33

Пользую связку Remmina + TightVNC (на клиентах). И не редко, при открытии всяческих всплывающих меню, на клиенте падает сервер и соединение рвётся. Сервер перегружается сам и через минуту/полторы можно снова подключаться. Иногда, реально утомляет. Кто-нибудь наступал на такие грабли?

0
Master_Yoda - 17 Апрель, 2020 - 22:25

Сам спросил, сам ответил. Рецепт:
wget http://x11vnc.sourceforge.net/dev/x11vnc-0.9.14-dev.tar.gz
gzip -dc x11vnc-0.9.14-dev.tar.gz | tar -xvf -
cd x11vnc-0.9.14/
./configure --prefix=/usr/local CFLAGS='-g -O2 -fno-stack-protector -Wall'

Всё, что не нашлось, доустанавливаем. Всякие libx11-dev, libjpeg, etc ...
make
sudo systemctl stop x11vnc.service

Если был из реп, удаляем - sudo apt remove x11vnc
Правим файл /lib/systemd/system/x11vnc.service, т.к. у нас теперь путь /usr/local/bin/x11vnc
sudo systemctl daemon-reload
sudo systemctl start x11vnc.service

Profit!

0
Валентин - 28 Апрель, 2023 - 14:21

Вот здесь сказано:
Запуск с опцией -passwdfile указывается путь до файла, в котором в первой строке хранится пароль в виде простого текста.
Прописываю путь, однако, консоль отвечает, что такой директории, или файла нет!
У меня только это не работает?

0
Валентин - 28 Апрель, 2023 - 16:42

Оказалось, что название файла с паролем нельзя прописывать с большой буквы!

0
billandrew - 20 Март, 2024 - 13:39

Добрый день.
Кто-то сталкивался с такой ситуацией:
- за компьютером работает несколько человек
- первый не завершил сеанс, а второй переключился на другую учетку
- в результе подключаемся к "зависшей" первой сессии с черным экраном.
Как бы подключаться к активной?
p.s. Требуется подключаться для сопровождения пользователей

0
vap - 21 Март, 2024 - 09:23
Изображение пользователя vap.

нужно узнать номер дисплея активного и к нему подключатся

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры