The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Организация доступа к рабочему столу Ubuntu/Debian Linux при помощи VNC
Задача: получить доступ к рабочему столу домашнего компьютера с работы.

Стандартный vino из GNOME не подошел, так как его надо было каждый раз
запускать. Выбор остановился на x11vnc, настроить с первого захода который не
получилось - GMOME вылетал через 5 минут после логина с такой ошибкой:

   gdm-session-worker[2473]: GLib-GObject-CRITICAL: g_value_get_boolean: assertion `G_VALUE_HOLDS_BOOLEAN (value)' failed
   gdm-session-worker[2473]: pam_succeed_if(gdm:auth): requirement "user ingroup no passwdlogin" not met by user "males"
   gdm-session-worker[2473]: pam_unix(gdm:session): session opened for user males by (uid=0)
   gdm-session-worker[2473]: pam_ck_connector(gdm:session): nox11 mode, ignoring PAM_TTY :0

Ниже, пошаговая инструкция настройки рабочей конфигурации x11vnc:

Удаляем vino и установим x11vnc

   sudo apt-get remove vino
   sudo apt-get install x11vnc

после того как все прошло успешно создаем пароль для VNC:

   sudo x11vnc -storepasswd пароль /etc/vnc/passwd

если запускать просто x11vnc -storepasswd то пароль создастся в ~/.vnc/passwd,
что мне не очень-то хотелось.

После того как пароль создан и записан  добавим в самый конец файла
/etc/gdm/PreSession/Default такую строчку:

   /usr/bin/x11vnc -dontdisconnect -display :0 -shared -noxfixes -forever \
      -rfbport 5900 -bg -o /var/log/x11vnc.log -rfbauth /etc/vnc/passwd

теперь по опциям:

-dontdisconnect не отключать клиентов при новом соединении

-display :0 какой дисплей использовать. Если не указать этот параметр у меня
создавался новый дисплей.

-shared Для подключения более одного пользователя

-noxfixes Что-то связанное с отрисовкой курсора. 

-forever не закрывать x11vnc после разрыва соединения

-rfbport 5900 какой порт использовать

-bg запускать в фоне

последние два параметра это лог и файл паролей.

Если канал маленький можно добавить параметр -notruecolor, чтобы выдавался 8-битный цвет.

С запуском закончили. Теперь добавим в /etc/gdm/custom.conf строчку
"KillInitClients=true" чтобы при запуске gdm убивал X-клиенты запущенные через init.

Перезапускаем X-ы, заходим от любого пользователя, смотрим запустился ли VNC:

   ps -ax | grep x11vnc

   1726 ?        Ss     1:51 /usr/bin/x11vnc -dontdisconnect -display :0 
   -noxfixes -shared -forever -rfbport 5900 -bg -o /var/log/x11vnc.log -rfbauth /etc/vnc/passwd

   sudo netstat -antp | grep x11vnc

   tcp        0      0 0.0.0.0:5900            0.0.0.0:*               LISTEN      1726/x11vnc
   tcp6       0      0 :::5900                 :::*                    LISTEN      1726/x11vnc

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

Для статьи использовались Google, хендбуки и http://linux.die.net/man/1/x11vnc
 
21.10.2010 , Автор: males
Ключи: vnc, x11vnc, xorg / Лицензия: CC-BY
Раздел:    Корень / Пользователю / X Window

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, AngryAnonymous (?), 13:03, 22/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Стандартный vino из GNOME не подошел, так как его надо было каждый раз

    запускать

    щито? Достаточно один раз галочку в его настройках поставить

     
     
  • 2.9, blah (?), 20:27, 23/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >> Стандартный vino из GNOME не подошел, так как его надо было каждый раз запускать
    > щито? Достаточно один раз галочку в его настройках поставить

    всё верно. поправьте пожалуйста статью:
    "gconftool-2 -s -t bool /desktop/gnome/remote_access/enabled true"
    вышеприведенная команда включает vino по умолчанию(правда не проверял, скорее всего только для текущего пользователя или глобально)


     
     
  • 3.11, Aquarius (ok), 13:18, 25/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    ну да, оно будет запускаться, только как вы попадете на рабочий стол после, к примеру, перезагрузки?
     
  • 3.12, linus (?), 16:19, 25/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Вот как бы хрен, галочка вроде и стоит, а процесс не запускается, в логах ничего не видно, пока в ручную не запущу vino-server...
     

  • 1.2, daemonpnz (ok), 13:08, 22/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Товарищ не осилил x11vnc. Почему я битый час мог спокойно быть подключен к тачке с запущенным x11vnc и GNOME никуда не вылетал?! Видимо просто у автора руки растут не откуда положено.
     
  • 1.3, konkor (?), 16:11, 22/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Спасибо :)
     
  • 1.4, Анонимный (?), 19:36, 22/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    С compiz не дружит такая связка?
     
  • 1.5, blah (?), 21:03, 22/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    vnc - plaintext........
    автор, возьмите на заметку ssh port forwarding, иначе все логины будут как на ладони у человека со снифером. да и не только логины, но и вводимое с клавиатуры.
     
     
  • 2.6, StrangeAttractor (ok), 06:10, 23/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    На то и есть OpenVPN.
     
     
  • 3.8, blah (?), 20:22, 23/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > На то и есть OpenVPN.

    действительно strange =)
    openvpn есть в каждом юниксе? вот, а ссш есть. и порт форвардинг по умолчанию разрешен.

     

  • 1.7, stirn (?), 13:20, 23/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А мне кажется изначально постановка задачи неверная: надо наоборот, организовавать удалённый доступ к рабочему столу рабочего компьютера из дома. И спать побольше.
     
     
  • 2.10, Shtucer (ok), 01:54, 25/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    А как фривольные картинки на работе смотреть?
     
  • 2.13, liveder (ok), 16:04, 28/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    а если на работе никсы, а дома винда? =)
     
     
  • 3.14, noobs (?), 17:57, 28/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Тогда придется заюзать COPssh. Это для винды :)
     
  • 3.15, stirn (?), 01:01, 02/11/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Тогда поставить NX сервер и возрадоваться :)
     

  • 1.16, Robert (??), 12:53, 16/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Все это работает лишь для тех убунт, где по умолчанию идет GDM. Начиная с 11.10 там стоит LightDM, в котором аналогичная проблема решается с помощью опции:
    greeter-setup-script=/home/юзер/x11vnc_start.sh
    в файле /etc/lightdm/lightdm.conf
     
     
  • 2.17, CAHTEXHIK (?), 21:09, 06/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    А вот в файле /etc/lightdm/lightdm.conf сию строчку в [SetDefaults] втыкать? а то других вариантов нет, а в таком виде не работает. В логах чисто.
     
     
  • 3.18, CAHTEXHIK (?), 21:25, 06/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > А вот в файле /etc/lightdm/lightdm.conf сию строчку в [SetDefaults] втыкать? а то
    > других вариантов нет, а в таком виде не работает. В логах
    > чисто.

    В общем поковырявшись в сетях есть выход помимо этого:
    просто создаем
    /etc/init/x11vnc.conf
    с содержанием
    start on login-session-start
    script
      x11vnc -xkb -noxrecord -noxfixes -noxdamage -display :0 -auth /var/run/lightdm/root/:0 -rfbport 5900 -forever -bg -o /var/log/x11vnc.log -rfbauth /home/user/.vnc/passwd

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру