Часто работа системного администратора включает в себя и настройку программ пользователей. Обычно это пустяковые проблемы, которые требует настройки через графические приложения компьютера. То секретарь поставит не то форматирование в OpenOffice, то бухгалтер потеряет ярлык с рабочего стола. Если таких трудных пользователей много, то за рабочий день можно совсем умотаться 😉 Выход в консультировании по телефону и тут же наглядно показывать свои действия на удаленной машине пользователя. Естественно я предполагаю, что на удаленных компьютерах стоит Unix система.
Первым делом на всех компьютерах вашей сети должна стоять программа x11vnc.
На компьютере, на который мы хотим соединиться, необходимо создать пароль подключения. Я обычно создаю каталог /home/user/vnc и внутри каталога создаю пустой файл “pass-x11”. Если пустой файл не создать, то нижеприведенная команда создания пароля закончится ошибкой
** error creating password.
storepasswd: No such file or directory
А теперь командой из директории /home/user
x11vnc -storepasswd ./vnc/pass-x11
Enter VNC password:
Verify password:
Write password to ./vnc/pass-x11? [y]/n y
Password written to: ./vnc/pass-x11
создаю пароль подключения к компьютеру. Я надеюсь вы догадались, что эти команды нужно вводить через ssh и бежать к удаленному компьютеру не надо.
Еще обратите внимания, что набранный пароль не отображается при вводе..
А теперь достаточно сложная команда и выполнять ее надо уже на своем компьютере.
ssh -t -L 5901:localhost:5900 192.168.1.5 -p 22 'x11vnc -localhost -rfbauth ./vnc/pass-x11 -display :0'
- -t создает псевдо терминал для соединения ssh
- -L 5901:localhost:5900 локальный_порт:имя машины:удаленный порт
- -p 22 порт ssh, можно не указывать если он стандартный как в этом случае
- x11vnc -localhost -rfbauth ./vnc/pass-x11 -display :0 – активация vnc сервера
После ввода команды, требуется набрать ваш пароль для ssh на удаленный компьютер. Данная команда создет зашифрованный тоннель ssh между вашим компьютером и компьютером 192.168.1.5 (т.е. куда хотим подключиться) и активирует на удаленной машине vnc сервер для соединения. Порты 5900, 5901 это порты vnc сервера. Еще один момент, перед запуском этой команды разорвите все ssh соединения между своим компьютером и удаленным.
Пример выполнения команды установки тоннеля по ssh.
показать
mik@mik: ssh -t -L 5901:localhost:5900 192.168.1.5 -p 22 'x11vnc -localhost -rfbauth ./vnc/pass-x11 -display :0'
mik@ruunix.ru's password:
14/07/2010 09:52:14 passing arg to libvncserver: -rfbauth 14/07/2010 09:52:14 passing arg to libvncserver: ./vnc/pass-x11 14/07/2010 09:52:14 x11vnc version: 0.9.8 lastmod: 2009-06-14 14/07/2010 09:52:14 Using X display :0 14/07/2010 09:52:14 rootwin: 0x1a7 reswin: 0x2a00001 dpy: 0x835c2c8 14/07/2010 09:52:14 14/07/2010 09:52:14 ------------------ USEFUL INFORMATION ------------------ 14/07/2010 09:52:14 X DAMAGE available on display, using it for polling hints.
14/07/2010 09:52:14 To disable this behavior use: '-noxdamage'
14/07/2010 09:52:14
14/07/2010 09:52:14 Most compositing window managers like 'compiz' or 'beryl'
14/07/2010 09:52:14 cause X DAMAGE to fail, and so you may not see any screen
14/07/2010 09:52:14 updates via VNC. Either disable 'compiz' (recommended) or
14/07/2010 09:52:14 supply the x11vnc '-noxdamage' command line option.
14/07/2010 09:52:14
14/07/2010 09:52:14 Wireframing: -wireframe mode is in effect for window moves.
14/07/2010 09:52:14 If this yields undesired behavior (poor response, painting
14/07/2010 09:52:14 errors, etc) it may be disabled:
14/07/2010 09:52:14 - use '-nowf' to disable wireframing completely.
14/07/2010 09:52:14 - use '-nowcr' to disable the Copy Rectangle after the
14/07/2010 09:52:14 moved window is released in the new position.
14/07/2010 09:52:14 Also see the -help entry for tuning parameters.
14/07/2010 09:52:14 You can press 3 Alt_L's (Left "Alt" key) in a row to
14/07/2010 09:52:14 repaint the screen, also see the -fixscreen option for
14/07/2010 09:52:14 periodic repaints.
14/07/2010 09:52:14
14/07/2010 09:52:14 XFIXES available on display, resetting cursor mode
14/07/2010 09:52:14 to: '-cursor most'.
14/07/2010 09:52:14 to disable this behavior use: '-cursor arrow'
14/07/2010 09:52:14 or '-noxfixes'.
14/07/2010 09:52:14 using XFIXES for cursor drawing.
14/07/2010 09:52:14 GrabServer control via XTEST.
Xlib: extension "RECORD" missing on display ":0.0".
14/07/2010 09:52:14
14/07/2010 09:52:14 The RECORD X extension was not found on the display.
14/07/2010 09:52:14 If your system has disabled it by default, you can 14/07/2010 09:52:14 enable it to get a nice x11vnc performance speedup 14/07/2010 09:52:14 for scrolling by putting this into the "Module" section 14/07/2010 09:52:14 of /etc/X11/xorg.conf or /etc/X11/XF86Config:
14/07/2010 09:52:14
14/07/2010 09:52:14 Section "Module"
14/07/2010 09:52:14 ...
14/07/2010 09:52:14 Load "record"
14/07/2010 09:52:14 ...
14/07/2010 09:52:14 EndSection
14/07/2010 09:52:14
14/07/2010 09:52:14
14/07/2010 09:52:14 XKEYBOARD: number of keysyms per keycode 6 is greater
14/07/2010 09:52:14 than 4 and 211 keysyms are mapped above 4.
14/07/2010 09:52:14 Automatically switching to -xkb mode.
14/07/2010 09:52:14 If this makes the key mapping worse you can
14/07/2010 09:52:14 disable it with the "-noxkb" option.
14/07/2010 09:52:14 Also, remember "-remap DEAD" for accenting characters.
14/07/2010 09:52:14 X FBPM extension not supported.
14/07/2010 09:52:14 X display is capable of DPMS.
14/07/2010 09:52:14 --------------------------------------------------------
14/07/2010 09:52:14
14/07/2010 09:52:14 Default visual ID: 0x21 14/07/2010 09:52:14 Read initial data from X display into framebuffer.
14/07/2010 09:52:14 initialize_screen: fb_depth/fb_bpp/fb_Bpl 24/32/4096 14/07/2010 09:52:14 14/07/2010 09:52:14 X display :0.0 is 32bpp depth=24 true color 14/07/2010 09:52:14 14/07/2010 09:52:14 Autoprobing TCP port 14/07/2010 09:52:14 Autoprobing selected port 5900 14/07/2010 09:52:14 14/07/2010 09:52:14 Xinerama is present and active (e.g. multi-head).
14/07/2010 09:52:14 fb read rate: 158 MB/sec 14/07/2010 09:52:14 fast read: reset wait ms to: 10 14/07/2010 09:52:14 fast read: reset defer ms to: 10 14/07/2010 09:52:14 screen setup finished.
14/07/2010 09:52:14
The VNC desktop is: localhost:0
PORT=5900
******************************************************************************
Have you tried the x11vnc '-ncache' VNC client-side pixel caching feature yet?
The scheme stores pixel data offscreen on the VNC viewer side for faster retrieval. It should work with any VNC viewer. Try it by running:
x11vnc -ncache 10 ...
One can also add -ncache_cr for smooth 'copyrect' window motion.
More info: http://www.karlrunge.com/x11vnc/faq.html#faq-client-caching
обратите внимание на вывод данных
The VNC desktop is: localhost:0
PORT=5900
Это значит что сервер vnc готов к приему соединения. Пусть консоль вывода команды вас не смущает и обязательно остается открытой, т.к. закрытие консоли разорвет установленный тоннель. Теперь можно запускать соединение. Т.к. мы создали тоннель от локального компьютера на удаленный, то соединяться будем к точке входа в тоннель на нашем компьютере. Для соединения я использую команду krdc, но можно и любую другую команду, которая может выступать в качестве клиента к vnc серверу.
krdc -h vnc:/localhost:1
Опция -h означает, с высоким качеством картинки
Для того чтобы соединение развернулось сразу во весь экран в krdc есть опция –fullscreen. Но лучше посмотреть в инструкцию к krdc, т.к. от версии к версии синтаксис опций может меняться.
Запуск команды установки соединения
Требуется ввести пароль доступа, который мы задавали в файле pass-x11 в самом начале.
Требуется пароль доступа
А теперь можем работать на удаленном рабочем столе.
Удаленный рабочий стол