Подключение к удаленному компьютеру по VNC. Tightvnc server – что это? Медленная работа через достаточно быстрый канал

Вопрос распространения ПО всегда актуален. Теперь он касается TightVNC. Можно просто прикрепить к политике msi-пакет. Но настройки придётся вносить отдельно: либо вручную, либо батником.

Вкратце - ниже.

Создаем батник следующего содержания:

net use O: \\%1\C$

copy vnc.msi O:\ /y

copy vnc.reg O:\ /y

psexec \\%1 msiexec /i C:\vnc.msi /quiet /norestart

psexec \\%1 regedit -s C:\vnc.reg

net use O: /delete /y

O: - название сетевого диска;

%1 - имя удаленного компьютера (можно подать как параметр при вызове батника из командной строки или же заменить прямо в батнике на нужное имя);

vnc.msi - установочный файл TightVNC, должен лежать в той же папке, что и батник, тестировалось на версии TightVNC 2.6.4 32-bit;

vnc.reg - предварительно экспортированная в файл ветка реестра HKEY_LOCAL_MACHINE\SOFTWARE\TightVNC с машины, на которой уже установлен и настроен TightVNC (ветка содержит такие параметры, как пароль для подключения, файл должен лежать в той же папке, что и батник).

Если удобней стартовый скрипт - пожалуйста! Если доверяем только себе - вручную через psexec.

P.S. Рег-файлы под Windows7 и Windows XP отличаются.

P.S.2. DFMirage-драйвер дисплея ставить тоже нужно, но с этим надо разбираться отдельно. Без него VNC-сервер может знатно тормозить.

Сегодня я расскажу про установку и настройку vnc сервера tightvnc в ubuntu 14.04 и 16.04. Сначала поговорим о том почему я выбрал именно tightvnc. Когда я первый раз ставил vnc сервер, я сначала поставил x11vnc, его описывали как легкий в установке и удобный vnc сервер. Так и есть, все работает «из коробки», но вот незадача — этот vnc сервер работает с уже существующей сессией пользователя, а не создает новую. То есть он подключается к текущему рабочему столу пользователя. Многим это подойдет, но мне нужен был такой vnc сервер, который бы при запуске создавал новую сессию. Тут на помощь мне и пришел tightvnc сервер. При запуске tightvnc сервер создает новую сессию для пользователя. Плюсы такого сервера в том, что можно задать произвольное разрешение создаваемого рабочего стола, в независимости от ограничений, наложенных системой компьютера. Например, если удаленный компьютер позволяет выставить максимальное разрешение 1280х1024, это никак не помешает создать с помощью tightvnc сервера рабочий стол с разрешением еще больше. Так же с помощью tightvnc сервера можно создать несколько рабочих столов. Это очень удобно когда необходимо организовать работу для нескольких пользователей на одном компьютере.

И так, давайте приступим к установке tightvnc server в ubuntu 16.04 и 14.04 :

Sudo apt-get install tightvncserver

Запуск tightvnc : в терминале набираем (запуск от текущего пользователя, sudo не нужен)

Vncserver

При первом запуске нужно будет ввести пароль доступа к vnc серверу (минимум 6 символов), и по желанию пароль доступа в режиме «только просмотр».

По умолчанию порт tightvnc сервера 5901. Можно указать другой порт так:

Vncserver:2

При этом tightvnc сервер будет запущен на порту 5902.

Запуск tightvnc server с заданным разрешением экрана осуществляется с параметром geometry, например:

Vncserver -geometry 1280x1024

То есть, если в терминале набрать:

Vncserver -geometry 1280x1024:3

то на порту 5903 будет запущен vnc сервер с разрешением рабочего стола 1280×1024 пикселей. Есть еще куча параметров — глубина цвета и много чего еще, в этой статье рассматриваются только основные.

Остановка tightvnc server :

Vncserver -kill:1

Будет остановлен vncserver на порту 5901.

Настройка tightvnc server

При установке tightvnc server в каталоге /home/пользователь/.vnc создается скрипт запуска, который называется xstartup. Дело в том, что при создании новой сессии tightvnc server запускает обычные иксы, а xstartup — конфигурационный файл для создаваемой x-сессии, в котором нужно указывать все программы, которые должны загружаться при старте x-сессии, вплоть до таких, как оконный менеджер, например. Вот почему, если не редактировать скрипт запуска и подключится к tightvnc серверу, то вы увидите просто серый экран. Чтобы это исправить, давайте отредактируем файл /home/пользователь/.vnc/xstartup. Первое, что нам понадобится — это добавить туда оконный менеджер. Я рекомендую оконный менеджер «metacity». Установим его:

Sudo apt-get install metacity

После установки добавим строку «metacity &» в файл xstartup:

#!/bin/sh xrdb $HOME/.Xresources #xsetroot -solid grey metacity &

Далее нужно запустить одно приложение, хотя бы терминал. В зависимости от версии дистрибутива linux команды для запуска терминала могут различаться. У меня установлен gnome-terminal. В вашем случае он может не быть установлен, а установлен xterm например. Вообщем, смотрите логи, если у вас ничего не запустится. Логи находятся в той же папке, что и xstartup.

Добавьте строку терминала следующей строкой после «metacity &»:

Gnome-terminal &

В принципе, это минимально возможная конфигурация, так как из терминала можно запустить любое приложение, но мы, чтобы до конца понять суть xstartup, добавим туда еще и браузер firefox. Все вместе получится приблизительно так:

#!/bin/sh xrdb $HOME/.Xresources #xsetroot -solid grey metacity & gnome-terminal & firefox # Fix to make GNOME work export XKL_XMODMAP_DISABLE=1 /etc/X11/Xsession

После внесения изменений в xstartup обязательно перезапустите tightvnc server, если он был запущен. Сейчас после подключения к tightvnc серверу на рабочем столе должен появится открытый терминал и браузер firefox. Но это еще не все. При желании вы можете добавить туда множество приложений, nautilus например, ну вообщем по вашему усмотрению. Я бы рекомендовал добавить док панель вместо них, например gnome-panel, чтобы каждый раз не лезть в терминал для запуска того или иного приложения. Давайте установим ее:

Sudo apt-get install gnome-panel

И добавим ее в файл xstartup вместо приложений terminal и firefox:

#!/bin/sh xrdb $HOME/.Xresources #xsetroot -solid grey metacity & gnome-panel # Fix to make GNOME work export XKL_XMODMAP_DISABLE=1 /etc/X11/Xsession

Теперь при старте x-сессии будет запускаться панель gnome.

Вот и все, настройку tightvnc server на этом можно завершить. Но для прожженных гномоводов у меня еще кое что есть, при старте x-сессии можно запустить gnome сессию. Вот скрипт запуска для gnome сессии:

#!/bin/sh gnome-session & gnome-panel & gnome-settings-daemon & metacity export XKL_XMODMAP_DISABLE=1 #/etc/X11/Xsession

Хочу предупредить, что у меня в gnome сессии возникали глюки с браузерами: раскладка не переключалась, некоторые клавиши срабатывали неправильно. Вообщем смотрите что для вас лучше — иксы или gnome сессия.

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

Наблюдались случаи появления проблем с раскладкой клавиатуры. Опыт показывает, что при работе с удаленным рабочим столом в этой программе, даже при гигабитной скорости сети, может наблюдаться снижение частоты обновления изображения на экране, что не совсем удобно при необходимости выполнения большого объема работ на удаленном компьютере.

В целом довольно стабильная в использовании программа, рекомендуемая нами для использования при обслуживании компьютеров в организациях. Не требует подключения к интернету. То есть мы можем установить программу на необходимые персональные компьютеры в локальной сети и настроить доступ с одного управляющего компьютера системного администратора. Безопасность использования программы обеспечивается паролем к подключению, паролем к настройкам программы и списком доступа в настройках программы по IP адресу.

Скачиваем программу на официальном сайте и начинаем установку. Установка программы не вызывает больших проблем и проходит в несколько этапов.

Запускаем.

Здесь необходимо согласиться с лицензионным соглашением и продолжить установку.

Выполняем установку по умолчанию всех компонентов. При необходимости в CUSTOM можно выбрать установку либо клиентской (если Вам необходимо с данного компьютера подключаться к другим), либо серверной (если Вы планируете дать доступ на удаленное управление данного компьютера) части.

Оставляем значения по умолчанию. Здесь добавляется исключение к брэндмауэру операционной системы Windows, что необходимо для организации подключения.

1 - вводим пароль и подтверждение для удаленного доступа к компьютеру (к сожалению не больше восьми символов). 2 - вводим пароль и подтверждение к настройкам программы.

На этом установка и начальная часть настройки программы завершена.

Для улучшения уровня безопасности удаленного управления компьютером и ограничения доступа к компьютеру по сети необходимо войти в настройки программы. Там мы переходим на вкладку Access Control . Далее нажимаем Add .

Поле 1 - устанавливаем начальный IP адрес к которому будет применяться правило. Если это будет не диапазон адресов, а отдельный хост, то заполнения поля 2 не требуется. Если правило необходимо создать для диапазона, то в поле 2 вводим конечный IP адрес. "?" - после выбора IP адресов нужно выбрать действие для создания правила, это может быть либо разрешение, либо запрет, либо запрос пользователя. Рекомендуем настроить доступ с не более чем одного или двух компьютеров.

Ускорить работу TightVNC можно прочитав рекомендации в "Базе данных" нашего сайта.

Работа с 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 и .

Для Linux ветви Debian (Ubuntu) VNC-клиент устанавливается из репозитория командой:

Apt-get install vncviewer

Для ветви RedHat (CentOS, Fedora) - командой:

Yum install vnc

Для FreeBSD VNC-клиент (TightVNC) устанавливается из пакетов командой:

Pkg_add -r 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 не поддерживают.

1. Выпадающего меню «Система -> Параметры»

Объем передаваемых данных и скорость отображения на канале 1 Мбит/сек при открытии выпадающего меню «Система -> Параметры» (на рисунке меню выделено зеленым пунктиром):

5. Частые проблемы
Не удается подключиться к VNC-серверу
Нужно проверить:
  1. есть ли доступ к интернету;
  2. отвечает ли виртуальный сервер на пинги;
  3. запущен ли на виртуальном сервере VNC-сервер;
  4. нет ли по пути файервола, закрывающего доступ к TCP-порту VNC-сервера;
  5. правльно ли указан номер дисплея или TCP-порт VNC-сервера (номер порта = 5900 + номер дисплея).
Медленная работа через достаточно быстрый канал
Если VNC-клиент не может согласовать с VNC-сервером использование алгоритм кодирования графики с компрессией данных, выбирается алгоритм по умолчанию - Raw, который передает данные без сжатия. Также кодирование без сжатия или с низким уровнем сжатия может автоматически выбираться VNC-клиентом при работе через быструю локальную сеть. Данную проблему можно исправить, принудительно указав в настройках VNC-клиента алгоритм кодирования с высоким уровнем сжатия - ZLib, ZRLE, Tight.

Однако, для некоторых сочетаний клиента и сервера такое решение может быть бесполезным из-за ошибок в согласовании алгоритма кодирования. Например, клиент TightVNC с сервером RealVNC часто могут работать только с кодировкой Raw. Решением в этом случае будет смена VNC-клиента или VNC-сервера.

Бывает нам нужен удаленный доступ в визуальную оболочку Linux, данная задача требуется крайне редко, но если это требуется, нет ничего не возможного:) Для этой цели рекомендую использовать tightvnc , почему именно tightVNC? Данный софт способен как из linux , так и из windows удаленно подключиться к рабочему столу, его установка крайне проста и не требует каких-то особенных танцев с бубном:) Возможно есть еще более лучший софт, ну поделитесь им с нами:)
В довесок ко всему прочему tightVNC способен работать на низких каналах связи, для оптимизации это хороший плюс.
Перейдем к установке!

Установка сервера tightvnc на машине, к которой нужно подключиться:
sudo apt-get install tightvncserver
В последних обновлениях ubuntu, а именно с 14.04 версии был небольшой баг с gnome, когда при подключение вместо раб. стола выводил серый экран, поэтому для подключения нужно использовать другой модуль оболочки:
sudo apt-get install xfce4 xfce4-goodies
Установка пароля для доступа:
vncpasswd ~/.vnc/passwd Файл passwd будет создан в скрытой папки в вашей домашней директории… Можете сами создать эту папку.vnc...

Запустить с нужной вам настройкой:
sudo tightvncserver -geometry 1024x768 -depth 16 Запуск tightVNC с разрешением 1024х768 и глубиной цветов 16 бит

Стандартный запуск:
sudo vncserver:1
Уничтожить процесс после завершения:
sudo vncserver -kill:1

Примечание:

Как изменить стандартный порт tightVNC?
Для доступа на удаленной машине должен быть проброшен порт 5901, это стандартный порт tightVNC , изменить его можно при подключение, при подключение в стандартном случае Вы используете:1 - это порт 5901, если хотите использовать порт 5911, следовательно при подключение будет:11 и так далее: например вам нужен порт 7829, запускаем vncserver с таким правилом:
sudo vncserver:7829 вычитаем 5900 = 1929, значит при подключение к удаленной машине пишем: айпи:1929 или так: айпи:7829, используйте как нравится, не забудьте пробросить нужный вам порт.
tightVNC серый экран при подключение
Если у вас был баг с серым экраном при подключение и вы установили пакет xfce4 , тогда вам нужно изменить файл xstartup :
sudo nano root/.vnc/xstartup За-комментируйте всё, что есть в данном файле и допишите следующее:
#!bin/sh xrdb $HOME/.Xresources startxfce4 &
tightVNC не работает смена раскладки клавиатуры
Если у Вас не переключается раскладка клавиатуры, допишете:
#!bin/sh xrdb $HOME/.Xresources startxfce4 & export XKL_XMODMAP_DISABLE=1 Но это лишнее, этот баг случается крайне редко...
Ниже прикреплю установочные пакеты tightVNC viewer и server для Windows 32 и 64 bit .