Налаштування vncserver на centos


Налаштування vncserver.
необхідно налаштувати віддалене управління комп'ютера з операційною системою centOS 6.2 x64

VNC розшифровується як Virtual Network Computing, це система віддаленого доступу до робочого столу комп'ютера, що використовує протокол RFB (Remote FrameBuffer). VNC корисна при необхідності управління віддаленої машиною через графічний інтерфейс. Працює як в windows, так і в linux.


2. Встановлюємо vnc сервер

Програмне забезпечення vnc - tigervnc-server:


встановлюємо vnc сервер за допомогою yum: yum install tigervnc

3. настройка vncserver

Насамперед слід встановити пароль на VNC-сервері. Для цього зареєструйтеся в системі і виконайте команду vncpasswd. Сервіс VNC не запуститься, поки ви не встановите пароль.

Пароль потрібно встановлювати під потрібним нам користувачем:

Для настройки двох постійних робочих столів:


у мене такий файл vncserver:


Опції:
"-localhost" заборонити підключення віддалених користувачів, не використовуючи SSH ткннель (рекомендується)
"-nohttpd" - заборонити підключення Web клієнтам
"-nolisten tcp" - заборонити X з'єднання до VNC сервера через TCP
"-rfbport 6900" - використовувати порт, відмінний від порту за замовчуванням (5900)

Для запуску всіх робочих столів VNC під час завантаження системи, активуйте сервіс VNC командою: chkconfig vncserver on (ви повинні мати права root).

Щоб запустити робочі столи VNC негайно, виконайте команду service vncserver start. Обидва користувача (user1 user2) зможуть тепер підключитися клієнтами VNC.

Актуально для CentOS.5.x, в версії CentOS.6.x код інший.

У версії CentOS.6.x залишив свій файл xstartup без змін. У centOS 6.2 даний скрипт більш об'ємний, виглядає наступним чином:


Якщо включений міжмережевий екран, потрібно відкрити потрібний порт. Наприклад, для iptables:

4. Підключення VNC-клієнта до віртуального сервера

For user1: vncviewer 192.168.0.10:1
For user2: vncviewer 192.168.0.10:2

Так як на комп'ютері одночасно можуть працювати кілька VNC-серверів, для їх поділу використовують параметр номер дисплея. Наприклад, один VNC-сервер може бути запущений на дисплеї: 0, другий - на дисплеї: 1. Кожному номеру дисплея відповідає номер TCP-порту, на якому VNC-сервер приймає з'єднання. Номер порту для дисплея виходить додатком номера дисплея до базового номеру порту - 5900. Дисплей: 0 відповідає TCP-порт 5900, дисплею: ​​1 - порт 5901.

Відключення VNC-клієнта від віртуального сервера

При закритті вікна VNC-клієнта або після виходу з оточення засобами робочого столу, в залежності від налаштувань VNC-сервера, робоча сесія користувача може закритися з зупинкою всіх використовуваних програм, або продовжувати роботу і бути доступною знову при повторному підключенні до VNC-сервера.

Велика кількість інформації, що передається на екран інформації тягне за собою підвищені вимоги до швидкості каналу. Нахватка пропускної здатності призводить до некомфортних затримок при великих змінах показивамой на екрані інформації - відкриття нових вікон, скроллинге і т.д. Особливо великі затримки будуть виникати при показиванія фотографій і інших зображень або елементів інтерфейсу, що мають велику кількість квітів і складні форми.

Головний параметр, який впливає на обсяг переданих даних - алгоритм кодування переданої графіки. Для зменшення обсягу і, відповідно, прискорення роботи, рекомендується використовувати алгоритми Tight, ZLib, ZRLE - в порівнянні з незжатими даними (Raw), вони забезпечують стиснення в десятки разів, помітно навантажуючи процесор. Ці алгоритми кодування забезпечують комфортну роботу навіть на каналах зі швидкістю 256-512 Кбіт / сек.

Також, для скорочення обсягу переданої по мережі інформації можна встановлювати високий рівень стиснення (Compression Level, Compression Value), низький рівень якості JPEG (JPEG Quality) і включати режим зменшення кількості кольорів (-bgr233, Restricted colors). Найбільший ефект з них при помітному зниженні якості зображення дає режим зменшення кількості кольорів - обсяг переданої інформації зменшується в 1.5-3 рази, відповідно, в 1.5-3 рази прискорюється відображення на екрані.

JPEG застосовується алгоритмом кодування Tight для стиснення ділянок екрана, що містять фотографії та інші складні зображення з великим числом квітів. Використання Tight + JPEG скорочує в 2-5 разів обсяг переданих при цьому даних. Інші алгоритми кодування JPEG не підтримують.


Для ОС CentOS 7.x, настройка VNC сервера змінилася кардинально.

Установка необхідних пакетів

# Yum install tigervnc tigervnc-server tigervnc-icons tigervnc-license

Дивимося вміст файлу настройки по старому шляху


Копіюємо новий файл настройок по необхідному шляху

# Cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service

Редагуємо файл настройок


Під користувачем user задаємо пароль
$ vncpasswd

По дорозі /home/user/.vnc/ повинен з'явитися файл passwd

Далі перечитуємо конф. файли systemd

Додаємо правило для firewall


Додаємо в автозавантаження сервіс

# Systemctl enable vncserver @: 1.service

Намагаємося запустити сервіс

# Systemctl start vncserver @: 1.service

При першому запуску у мене видавалася помилка:

Після заміни конф. файлу і обов'язкової перезавантаження. сервіс піднявся.

Далі наводимо файл xstartup до наступного вигляду

Користувач повинен мати права на запис і читання даного файлу.


замість - вказати свого користувача

Після запуску vncserver, можна перевірити:

# Systemctl status vncserver @: 1.service


для підключення клієнта вказуємо: ip_adree: 1

Невирішена проблема введення через vnc російських букв. На віддаленій машині перемикання відбувається, але вводити кирилицю не виходить. Можливо причина в тому що використовується Mate. Підключаюся з Windows 7.

Схожі статті