Стала задача підключитися до віддаленого сервера під керуванням OS Ubuntu 16.04. Але потрібен був доступ не до віртуальних vnc сесій, а до реального робочого столу X11, з доступом до OpenGL ресурсів реальної відео карти.
Програма повинна запускатися після запуску X11 сервера, і тому як зробити запуск x11vnc автоматичний у системі Ubuntu 16.04 описано у публікації: Ubuntu 16.04 – Configure your system to have x11vnc running at startup я протестував і це дійсно працює.
Основа це скрипт vnc-startup.sh.
Спочатку іде етап встановлення Spep 1, потім, Step 2, створення паролю за допомогою якого ми будемо підключатися до vnc сесії. Step 3 - віртуальне створення Service Unit File - /lib/systemd/system/x11vnc.service.
У цьому файлі описано параметри запуску служби x11vnc:
Якщо додати параметр -localhost, то ми обмежимо підключення тільки з локальних адрес, забезпечивши безпечність підключень тільки через ssh тенель.
Сподобалось, але як зробити щоб не використовувати компресію JPEG ?
Служба x11vnc
Реалізувати це можна за допомогою пакету x11vnc. Цей пакет копіює буфер екрану і передає до сервера vnc. А клієнт вже підключається до vnc сервера, за допомогою стандартних vnc клієнтів.Програма повинна запускатися після запуску X11 сервера, і тому як зробити запуск x11vnc автоматичний у системі Ubuntu 16.04 описано у публікації: Ubuntu 16.04 – Configure your system to have x11vnc running at startup я протестував і це дійсно працює.
Основа це скрипт vnc-startup.sh.
Спочатку іде етап встановлення Spep 1, потім, Step 2, створення паролю за допомогою якого ми будемо підключатися до vnc сесії. Step 3 - віртуальне створення Service Unit File - /lib/systemd/system/x11vnc.service.
У цьому файлі описано параметри запуску служби x11vnc:
[Service] Type=simple ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -sharedТаким чином буде створено порт TCP 5900, до якого будуть підключатися користувачі, у режимі спільного використання.
Якщо додати параметр -localhost, то ми обмежимо підключення тільки з локальних адрес, забезпечивши безпечність підключень тільки через ssh тенель.
$ netstat -na |grep :590 tcp 0 0 127.0.0.1:5900 0.0.0.0:* LISTEN
Підключення, VNC клієнти
Remmina
Спробував стандартного клієнта що входить до ubuntu - Remmina.Сподобалось, але як зробити щоб не використовувати компресію JPEG ?
Vinagre
У Vinagre є можливість відключити JPEG.VNC клієнт - Vinagre |
RealVNC
Запуск:vncviewer via=user@ubuntu-server.local passwd=.vnc/passwd \ encoding='copyrect tight zrle hextitle' localhost::5900
TightVNC
Запуск:xtightvncviewer -via user@ubuntu-server.local -nojpeg -depth 16 -x11cursor \
-passwd .vnc/passwd localhost::5900
Немає коментарів:
Дописати коментар