Работа с VNC-клиентом. Материал ориентирован на неопытного пользователя.
1. Установка VNC-клиента 2. Подключение VNC-клиента к удаленному компьютеру 3. Отключение VNC-клиента от удаленного компьютера 4. Тюнинг VNC-клиента 5. Частые проблемы
Для работы с удаленным компьютером по VNC на компьютере пользователя нужно запустить программу-клиент (VNC viewer, VNC client). Эта программа передает на удаленный компьютер данные о нажатиях на клавиши и о движениях мыши, сделанных пользователем, и показывает информацию, предназначенную к выводу на экран.
1. Установка VNC-клиента
Для ОС Windows можно бесплатно скачать и инсталлировать VNC-клиент UltraVNC и TightVNC.
Mac OS X начиная с версии 10.5 имеет поддержку VNC-клиента в RemoteDesktop. Для предыдущих версий можно использовать VNC-клиенты JollysFastVNC и Chicken.
Для Linux ветви Debian (Ubuntu) VNC-клиент устанавливается из репозитория командой:
apt-get install vncviewer
Для ветви RedHat (CentOS, Fedora) — командой:
Для FreeBSD VNC-клиент (TightVNC) устанавливается из пакетов командой:
2. Подключение VNC-клиента к удаленному компьютеру
Для подключения VNC-клиента к удаленному компьютеру требуется указать его IP-адрес или DNS-имя, и номер дисплея (по умолчанию, :0) или номер TCP-порта (по умолчанию, 5900). Если VNC-сервер требует авторизации, то при подключении к нему VNC-клиент запросит пароль. Обратите внимание, что пароль доступа к VNC-серверу не связан с каким-либо аккаунтом (учетной записью пользователя) на удаленном компьютере, а служит только для ограничения доступа к дисплею VNC-сервера.
После установки соединения и открытия экрана, в зависимости от настроек VNC-сервера может потребоваться авторизация пользователя на виртуальном сервере или может быть открыта уже запущенная рабочая сессия какого-либо пользователя.
Так как на компьютере одновременно могут работать несколько VNC-серверов, для их разделения используют параметр номер дисплея. Например, один VNC-сервер может быть запущен на дисплее :0, другой — на дисплее :1. Каждому номеру дисплея соответствует номер TCP-порта, на котором VNC-сервер принимает соединения. Номер порта для дисплея получается прибавлением номера дисплея к базовому номеру порта — 5900. Дисплею :0 соответствует TCP-порт 5900, дисплею :1 — порт 5901.
3. Отключение VNC-клиента от удаленного компьютера
При закрытии окна VNC-клиента или после выхода из окружения средствами рабочего стола, в зависимости от настроек VNC-сервера, рабочая сессия пользователя может закрыться с остановкой всех используемых программ, или продолжать работу и быть доступной снова при повторном подключении к VNC-серверу.
4. Тюнинг 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 не поддерживают.
Полноцветный режим
256 цветов (BGR233)
Объем
Время
Объем
Время
ZLib
11 Кб
0.09 сек
7 Кб
0.06 сек
HexTile
208 Кб
1.6 сек
118 Кб
0.95 сек
Raw
248 Кб
2 сек
128 Кб
1 сек
5. Частые проблемы
Не удается подключиться к VNC-серверу
Медленная работа через достаточно быстрый канал
Если VNC-клиент не может согласовать с VNC-сервером использование алгоритм кодирования графики с компрессией данных, выбирается алгоритм по умолчанию — Raw, который передает данные без сжатия. Также кодирование без сжатия или с низким уровнем сжатия может автоматически выбираться VNC-клиентом при работе через быструю локальную сеть. Данную проблему можно исправить, принудительно указав в настройках VNC-клиента алгоритм кодирования с высоким уровнем сжатия — ZLib, ZRLE, Tight.
Однако, для некоторых сочетаний клиента и сервера такое решение может быть бесполезным из-за ошибок в согласовании алгоритма кодирования. Например, клиент TightVNC с сервером RealVNC часто могут работать только с кодировкой Raw. Решением в этом случае будет смена VNC-клиента или VNC-сервера.
TightVNC: «> Home News Download Now! Download (v1.3) Mailing Lists Site Map
Licensing / SDK: Products & SDKs .NET Viewer SDK Server for Windows Server for Unix/Linux Server for macOS Dispatcher Java Viewer Tight Decoder
Information: Screen Shots Documentation F.A.Q. What’s New Privacy Policy
Feedback: Report Bugs Suggest Features Contact Us
More Products: Remote Ripple RFB Player VNC Reflector
What is TightVNC?
TightVNC is a free remote desktop application. With TightVNC, you can see the desktop of a remote machine and control it with your local mouse and keyboard, just like you would do it sitting in the front of that computer.
Get It Now!
Selected News
November 19, 2021 – Remote Ripple 1.0 for Windows Released
The new viewer designed for Windows has expanded the Remote Ripple line of software for replacing TightVNC Viewer. Having retained the benefits of TightVNC, Remote Ripple for Windows has acquired enhanced user interface and higher performance. Download it here for a trial period.
September 17, 2021 – TightVNC for Windows 2.8.63 Released
Most importantly, this update fixes a severe security issue in the TightVNC Viewer code (only Viewer part is vulnerable, Server is not affected). Also, there is a number of improvements in the Server application. We highly encourage you to upgrade all installations of the software to this latest version. Please see more detail here.
April 23, 2021 – New MightyViewer Release 1.2.2: Huge Changes
Meet the new version of MightyViewer for Windows, our application to monitor many remote desktops simultaneously. New version introduces a lot of improvements. Most importantly, now it’s not only a remote monitoring tool, now it allows you to gain full control over each workstation when needed. Consider it as an improved TightVNC Viewer with live preview of all connected desktops. 😉
April 19, 2020 – Remote Core SDK 2020.1.1 for iOS, iPadOS and macOS Released
New version includes a bunch of improvements and fixes, including improvement of zoom and scrolling, and ability to control large displays from older devices. Remote Core SDK allows developers to integrate TightVNC Viewer components in their own software. See more information here.
Сразу после установки предлагается установить 2 вида паролей:
Управление службой TightVNC
Для проверки статуса службы:
Для отключения службы (включится после перезагрузки)
Для включения службы
Ручное включение службы:
Отключение службы (при загрузке компьютера служба не включится):
Автоматическое включение службы (служба включится при загрузке компьютера):
Ярлыки TightVNC
После установки TightVNC создаются следующие ярлыки для запуска и управления VNC.
TightVNC Server (Application Mode) — TightVNC сервер (режим приложения)
TightVNC Server (Service Mode) — TightVNC сервер (режим службы)
Настройка сервера TightVNC
Обратите внимание, что настройки TightVNC Server в режиме приложения и в режиме сервиса настраиваются индивидуально! Настройки сервиса TightVNC Server являются общесистемными, а настройки приложения TightVNC Server индивидуальны для каждого пользователя! Но при этом настройки паролей доступа являются общими для сервиса и приложения.
Для настройки сервера TightVNC вы можете открыть окно настроек с помощью ярлыка или найти его иконку в системном трее (рядом с часами) и кликнуть правой кнопкой мыши:
Затем выберите Configuration (настройка) и перейдите во вкладку Server (сервер):
Здесь установите Primary password (Set, Change, Unset) — главный пароль (установить, изменить, удалить).
Настройка клиента TightVNC
Запускаем TightVNC Viewer:
Достаточно ввести IP адрес удалённого компьютера для подключения. Введите имя или IP-адрес. Чтобы указать номер порта, добавьте его после двух двоеточий (например, mypc::5902).
Быстрый старт с TightVNC
Если вы хотите включить сервер TightVNC, то достаточно запустить службу или приложение сервера TightVNC, это ярлык TightVNC Server или ярлык Start TightVNC Service.
Если вы это ещё не сделали, установите пароль для подключения по VNC.
Сообщите ваш IP адрес пользователям, которые должны подключиться к вашему компьютеру.
Если вы хотите подключиться по VNC с помощью TightVNC, то запустите TightVNC Viewer.
Введите IP адрес и нажмите кнопку Connect:
Как пользоваться TightVNC
В верхней левой части экрана расположена панель инструментов:
Для выхода из полноэкранного режима нажмите Ctrl+Alt+Shift+F.
При выборе Transfer files (передача файлов) вы сможете переносить файлы с удалённого компьютера на свой локальный и в обратном направлении:
VNC клиент для Windows. Как скачать, установить и настроить!
Что такое TightVNC и как ей пользоваться
TightVNC — это следующий клиент-сервер VNC.
TightVNC — это бесплатный программный пакет для дистанционного управления. С TightVNC вы можете видеть рабочий стол удалённого компьютера и управлять им с помощью локальной мыши и клавиатуры, как если бы вы делали это, сидя перед этим компьютером. TightVNC — это:
Общие сведения о программе VNC Viewer
You will be interested:How dangerous is the new coronavirus? Для начала кратко остановимся на том, что представляет собой этот программный продукт, рассмотрим, для чего он предназначен. Исходя из выше приведенной аналогии, можно сказать, что VNC-клиент — это универсальное приложение, позволяющее в считаные минуты организовать доступ к удаленному компьютеру.
То есть данную программу можно отнести к классу RDP-приложений, предназначенных для подключения к удаленному «Рабочему столу». Однако только доступом к удаленным компьютерам дело не ограничивается, поскольку в самой программе имеется еще немало дополнительных возможностей:
Сразу же стоит отметить, что технология Virtual Network Computing (VNC)имеет и еще одно неоспоримое преимущество, если сравнивать с аналогами. Дело в том, что в ней есть возможность установки серверной и клиентской части (в зависимости от того, какой именно тип подключения будет использоваться в дальнейшем), плюс, тонкая настройка ПО для каждого варианта установки с целью обеспечения максимальной производительности.
Сразу после установки предлагается установить 2 вида паролей:
Шаг 3 — Безопасная настройка рабочего стола VNC
Сервер VNC не использует защищенные протоколы при подключении. Мы используем туннель SSH для безопасного подключения к серверу, а затем укажем клиенту VNC использовать этот туннель, а не создавать прямое соединение.
Создайте на локальном компьютере соединение SSH, которое безопасно перенаправляется в соединение localhost для VNC. Для этого можно ввести черех терминал в Linux или macOS следующую команду:
Не забудьте заменить sammy и your_server_ip именем пользователя sudo без привилегий root и IP-адресом вашего сервера.
Если вы используете графический клиент SSH (например, PuTTY), используйте your_server_ip как IP-адрес для подключения, и задайте localhost:5901 как новый порт переадресации в настройках туннеля SSH программы.
После запуска туннеля используйте клиент VNC для подключения к localhost:5901. Вам будет предложено пройти аутентификацию, используя пароль, заданный на шаге 1.
После подключения вы увидите рабочий стол Xfce по умолчанию.
Выберите пункт «Использовать конфигурацию по умолчанию» для быстрой настройки системы. Для доступа к файлам в каталоге home вы можете использовать менеджер файлов или командную строку, как показано здесь:
Нажмите CTRL+C на локальном компьютере, чтобы остановить туннель SSH и вернуться к командной строке. При этом сеанс VNC также будет отключен.
Теперь мы настроим сервер VNC как службу.
Ярлыки TightVNC
После установки TightVNC создаются следующие ярлыки для запуска и управления VNC.
TightVNC Server (Application Mode) — TightVNC сервер (режим приложения)
TightVNC Server (Service Mode) — TightVNC сервер (режим службы)
4: Создание файла сервиса VNC
Теперь нужно настроить сервер VNC как сервис system.
Создайте новый файл /etc/systemd/system/:
sudo nano /etc/systemd/system/
Скопируйте и вставьте в него следующий код:
: Укажите имя своего пользователя вместо 8host.
Сохраните и закройте файл.
sudo systemctl daemon-reload
Включите новый файл:
sudo systemctl enable
Остановите текущий экземпляр сервера VNC, если он ещё запущен:
Теперь попробуйте запустить его как любой другой сервис systemd:
sudo systemctl start
Чтобы убедиться, что сервер запущен, проверьте его состояние:
sudo systemctl status
Если сервер запущен, команда вернёт:
systemd: pam_unix(login:session): session opened for user finid by (uid=0) systemd: Started TightVNC server on Ubuntu 16.04.
Настройка сервера TightVNC
Обратите внимание, что настройки TightVNC Server в режиме приложения и в режиме сервиса настраиваются индивидуально! Настройки сервиса TightVNC Server являются общесистемными, а настройки приложения TightVNC Server индивидуальны для каждого пользователя! Но при этом настройки паролей доступа являются общими для сервиса и приложения.
Для настройки сервера TightVNC вы можете открыть окно настроек с помощью ярлыка или найти его иконку в системном трее (рядом с часами) и кликнуть правой кнопкой мыши:
Затем выберите Configuration (настройка) и перейдите во вкладку Server (сервер):
Здесь установите Primary password (Set, Change, Unset) — главный пароль (установить, изменить, удалить).
Быстрый старт с TightVNC
Если вы хотите включить сервер TightVNC, то достаточно запустить службу или приложение сервера TightVNC, это ярлык TightVNC Server или ярлык Start TightVNC Service.
Если вы это ещё не сделали, установите пароль для подключения по VNC.
Сообщите ваш IP адрес пользователям, которые должны подключиться к вашему компьютеру.
Если вы хотите подключиться по VNC с помощью TightVNC, то запустите TightVNC Viewer.
Введите IP адрес и нажмите кнопку Connect:
Добавляем SSL с самоподписанным сертификатом
В результате получаем файл self.pem, на который надо указать при старте noVNC:
C:\noVNC\websockify> websockify.exe 5901 127.0.0.1:5900 —web c:\noVNC\noVNC-master —cert=c:\noVNC\self.pem Теперь у нас работает HTTPS и WSS (WebSocket Secure). Для WSS в настройках (Settings) нужно указать Encrypt. Интересно, что noVNC использует один и тот же порт для HTTP и HTTPS — он «умеет» различать запросы и правильно отвечать.
Так как сертификат самоподписанный, то в браузере нужно будет принять этот сертификат.
Let»s Encrypt
У меня нет инструкций о том, как настроить систему, чтобы Let»s Encrypt автоматически генерировал сертификат специально для нашей системы. Для этого потребовалось бы, чтобы noVNC работал на порту 80, что конечно же возможно, но может быть неудобно, и найти способ интегрировать certbot, чтобы эти файлы публиковались в нужную директорию. Думаю, что это возможно, но я этого не сделал. Если вы допилите — поделитесь в комментариях. В моём случае, у меня уже есть домашний сервачок с NGINX и DDNS именем, который настроен автоматически получать сертификат от Lets Encrypt.
Вы можете запустить что-то похожее у себя. есть инструкции о настройке Let»s Encrypt для Linux и Windows.
я просто использую уже существующие pem -файлы, сгенерированные для nginx .
Let»s Encrypt создаёт следующие файлы:
Cert.pem: Your domain»s certificate chain.pem: The Let»s Encrypt chain certificate fullchain.pem: cert.pem and chain.pem combined privkey.pem: Your certificate»s private key На Ubuntu их можно найте по вот такому пути: /etc/letsencrypt/live/your_domain_name
Нужно скопировать (объединить) fullchain.pem
и privkey.pem в один файл, например назовём его encrypt.pem , и этот файл мы будем использовать для noVNC .
Конечно, работать это будет только если nginx
сервер и noVNC — на одном домене. Порты могут быть разными.
И нужно не забывать, что сертификаты годны только несколько месяцев, а потом надо копировать обновлённые файлы.
Как пользоваться TightVNC
В верхней левой части экрана расположена панель инструментов:
Для выхода из полноэкранного режима нажмите Ctrl+Alt+Shift+F.
При выборе Transfer files (передача файлов) вы сможете переносить файлы с удалённого компьютера на свой локальный и в обратном направлении:
Добавляем noVNC, как Windows-сервис
При запуске, сервис будет использовать параметры из файла noVNCConfig.ini
. Вот пример моего конфига:
5901 127.0.0.1:5900 —web C:\noVNC\noVNC-master —cert=c:\noVNC\encrypt.pem В консоли, запущенной с администраторскими привилегиями создаём новый сервис:
Sc create «noVNC Websocket Server» binPath= «c:\noVNC\websockify\noVNC Websocket Service.exe» DisplayName= «noVNC Websocket Server» Если нужно будет удалить сервис, то вот так:
Sc delete «noVNC Websocket Server» Открываем сервисы (Control Panel → Administrative Tools → Services) и запускаем noVNC Websocket Server. Также здесь можно настроить, чтобы сервис стартовал каждый раз вместе с Windows: