Запуск ultravnc из командной строки с параметрами. UltraVNC и обратные подключения

Системное администрирование невозможно представить без работы с удаленными рабочими столами. Как правило, администраторы Windows-сетей используют стандартный протокол RDP (англ. Remote Desktop Protocol ). Администраторам Linux знаком протокол RFB (англ. Remote FrameBuffer ) и основанная на нём технология удаленного доступа VNC (англ. Virtual Network Computing ). Сегодня — об одной удобной утилите удаленного доступа для Windows.

Для начала заходим на страницу скачивания программы и загружаем её, отметив соответствующую галочку внизу экрана.

Запускаем скаченный файл, принимаем лицензию GNU GPL . Рекомендуется выбирать полную установку.


Установка UltraVNC

Отметьте опции Register UltraVNC Server as a system service (зарегистрировать сервер UltraVNC как системную службу) и Start or restart UltraVNC service (запустить или перезапустить службу UltraVNC).

Полезна может быть также опция Associate UltraVNC Viewer with the .vnc file extension , то есть открывать файлы.vnc через UltraVNC Viewer, но не обязательна.

После установке в трее можно будет наблюдать вот такой значок, означающий UltraVNC Server запущен. Щелкните по нему правой кнопкой мыши и выберите Admin Properties . Можно будет наблюдать вот такое окно:


Настройки UltraVNC Server

Если Вам нужно, чтобы к Вам кто-нибудь подключился, то смените VNC Password в разделе Authentication . Пока Вы этого не сделаете, подключение со стороны будет невозможно. Теперь по порядку об основных настройках.

Incoming Connections (входящие соединения)

Accept Socket Connections — принимать входящие подключения. Если этот пункт выключен, к Вам никто не подключится.

Display — номер дисплея.

Ports — настройка портов. Лучше оставить значение Auto .

Enable JavaViewer — разрешать подключение java-клиента.

Allow Loopback Connections — разрешать обратные подключения к адресам диапазона 127.x.x.x.

LoopbackOnly — только обратные подключения.

When Last Client Disconnects (когда отключился последний клиент)

Do Nothing — ничего не делать.

Lock Workstation (W2K) — заблокировать сеанс. Удобно, если за удаленным компьютером никого нет.

Logoff Workstation — завершение сеанса.

Query on incoming connection (вывод запроса при новом входящем соединении)

Display Query Window — показать окно запрос.

Timeout — время до действия по умолчанию.

Default action — действие по умолчанию. Refuse — отклонить. Accept — принять.

Keyboard & Mouse (клавиатура и мышь)

Disable Viewers inputs — запрет ввода с клиента.

Disable Local inputs — запрет ввода с сервера.

Alternate keyboard method — альтернативный метод реализации клавиатуры. Можно попробовать при глюках с клавиатурой.

Multi viewer connections (подключение нескольких клиентов)

Disconnect all existing connections — отключение всех текущих соединений. Подключение нового клиента отключит старого.

Keep existing connections — поддерживать текущие соединения.

Refuse the new connection — отказ новому подключению.

Refuse all new connection — отказ всем новым подключениям.

Authentication (аутентификация)

VNC Password — пароль для подключения к серверу. Как уже было сказано, после установки необходимо придумать пароль.

View-Only Password — пароль для подключения в режиме просмотра.

Require MS Logon — использовать аутентификацию Windows. Подходит для доменных сетей. Клиент и сервер должны находиться в одном домене.

New MS Logon — использование междоменной аутентификации.

Misc (разное)

Remove Aero (Vista) отключение Aero. Положительно сказывается на производительности.

Remove Wallpaper for Viewers — убрать обои рабочего стола.

Enable Blank Monitor on Viewer Request — возможность отключить монитор сервера по запросу клиента.

Disable Only Inputs on Blanking Request — запрет ввода с сервера, экран не отключается.

RDPmode — режим RDP.

DisableTrayIcon — убирает иконку из трея.

Forbid the user to close down WinVNC — запрет для пользователя на закрытие сервера.

Default Server Screen Scale — масштаб экрана сервера по умолчанию.

File Transfer (передача файлов)

Enable — включение возможности передачи файлов.

User impersonation (for Servise only) — заимствовать права пользователя на передачу файлов.

DSM Plugin (плагины для шифрования потока данных)

Use — указывает какой плагин использовать.

Logging (запись лог-файла)

Log debug infos to the WinVNC.log file — ведение лог-файла.

Path — путь к лог-файлу.

С настройками сервера разобрались. Для того, чтобы подключиться к другому компьютеру, достаточно запустить UltraVNC Viewer . Его мы разберем уже не так подробно.

В принципе, для подключения достаточно набрать адрес сервера (при необходимости, с портом) и нажать кнопку Connect .

Если скорость соединения оставляет желать лучшего, можно поиграться с настройками качества. Параметр View Only позволит подключиться в режиме просмотра, Auto Scaling автоматически масштабирует экран, а Confirm Exit выведет диалоговое окно при отключении от сервера, где надо будет подтвердить выход.

Ниже есть также настройки шифрование, прокси и репитера, а также выбор монитора. Если хотите сохранить текущие настройки как настройки по умолчанию, то не забудьте поставить галочку внизу возле Save connection settings as default .

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

Как видим, UltraVNC предоставляет системному администратору гораздо больше возможностей, нежели стандартный протолок RDP. Еще одним аргументом за использование технологии VNC является её кроссплатформенность.

UltraVNC конфигурация (кривой перевод из оригинальной документации) и пример рабочего конфига.Данныйматериал подготовлен исключительно для быстрого поиска параметров без обращения к официальной документации.


accept_reject_mesg =
Пользовательское принять/отклонить сообщение с тектом.
изменить сообщение логотипа добавлением logo.bmp в папку ultravnc

service_commandline =
Используется для запуска службы winvnc (в режиме службы) со специфическими параметрами и командами.
Точно такойже синтаксис как и в командной строке только нет необходимости набирать -run
пример: service_commandline=-autoreconnect -connect 192.168.1.30
В примере служба создаёт подключение к 192.168.1.30 и переподключается при неудаче.

FileTransferEnabled=1
Включение отправки файлов

FTUserImpersonation=1
При передаче файлов, работает через рабочий стол. Когда параметр не равен "1" передача файлов осуществляется от операционной системы. Пользовтелям блокируется доступ к сетевым дискам и возникает угроза безопасности... обычный пользователь может передавать файлы в качестве администратора.

BlankMonitorEnabled=1
Показывает просматривающему пустой экран

CaptureAlphaBlending=1
Захват alphaBlending позволяет показ полупрозрачных окон windows (xp, vista...) но использует больше процессорных ресурсов.

BlackAlphaBlending=0
При использовании хранителя экрана в пустой монитор укладывается допольнительный слой с которого осуществляется захват экрана. В этой опции можно использовать свой пользовательский пустой экран, помещая файл "background.bmp" в папке UltraVNC

DefaultScale=1
Задать шкалу

UseDSMPlugin=0
Использовать плагин шифрования

DSMPlugin=
Имя плагина

primary=1
secondary=0

При использовании несколько мониторов (требуется установленный драйвер) вы можете определить поведение по умолчанию. Показать только primary/secondary или оба

SocketConnect=1
Параметр 1 даёт возможность на установку подключений

PortNumber=0
Ручная установка порта (default 5900)

HTTPConnect=1
Включение порта java viewer

HTTPPortNumber=0
ручная установка порта http (default 5800)

XDMCPConnect=0
Не используется

AutoPortSelect=1
Порт для работы 5900, но если порт 5900 используется, включается режим выбора одного более высокого пока не будет найден первый свободный.

InputsEnabled=1

Разрешить просмотрщику контроль над сервером

LocalInputsDisabled=0
Блокировка входа с сервера, возможен только удалённый доступ

IdleTimeout=0
Отключение после простоя (0 = default, нет времени простоя, в секундах)

EnableJapInput=0
Этот парметр используется для японской клавиатуры и других не стандартных раскладок. Сложные клавиши и решает вопрос со спецзнаками.
Для Русской раскладки рекомендую использовать "1", при этом в VNC Viwer нужно выставить опцию поддержки японской клавиатуры.
В вьювере ставим точку Manual, заходим в Опции - ставим Japanise Keyboard и все, притом язык на клиенте и на сервере должен быть одинаковый, тогда меняется раскладка без проблем.

AuthHosts=

+ = разрешить
- = запретить
? = по запросу
syntax:
-:+10.0.60.141:?10.0.31.169:-10.0.20.240:
вместо 10.0.60.141 можно использовать 10.0.60, тогда будет работать для всего диапазона IP адресов.

QuerySetting=2
Определяет как реагировать на (-,?,+) переменные Authhosts.
0="+:Accept, ?:Accept, -:Query"
1="+:Accept, ?:Accept, -:Reject"
2="+:Accept, ?:Query, -:Reject "
3="+:Query, ?:Query, -:Reject"
4="+:Query, ?:Reject, -:Reject"
It is used to specify a set of IP address templates which incoming connections must match in order to be accepted. By default, the template is empty and connections from all AuthHosts_Tip5="hosts are accepted. The template is of the form:
+
?
-
In the above, represents the leftmost bytes of the desired stringified IP-address.
For example, +158.97 would match both 158.97.12.10 and 158.97.14.2. Multiple match terms may be specified, delimited by the ":" character. Terms appearing later in the template take precedence over earlier ones. e.g. -:+158.97: would filter out all incoming connections except those beginning with 158.97. Terms beginning with the "?" character are treated by default as indicating hosts from whom connections must be accepted at the server side via a dialog box. The QuerySetting option determines the precise behaviour of the three AuthHosts options.

QueryTimeout=10
Время на запрос

QueryAccept=0 (0=refuse 1=accept 2=refuse)
Это окно рассчитано на разрешенных пользователей (server site) к allow/reject на входящее подключение.

QueryIfNoLogon=0
Отключить / включить параметры запроса, когда ни один пользователь не вошел в систему.

If the user is logged on, but has his screensaver on you normal can"t get access as "QueryIfNoLogon" find a logged user.
to overwrite this set QueryAccept=2 and QueryIfNoLogon=0 -> no messagebox when screen is locked.

LockSetting=0
0="ничего"
1="заблокировать рабочую станцию при отключении(NA)"
2="выход из системы при отключении"

MaxCpu=xxx
MaxCpu=100 (winvnc can use full 100% cpu)
MaxCpu=40 (winvnc can use max 40% cpu)

RemoveWallpaper=1
Удаление фонового изображения рабочего стола

RemoveAero=1
Выключение Aero на просматриваемом подключении и сброс при выходе.
Делает Vista и Win7 быстрей

Avilog=0
Не используется!

path=d:\ultravnc_src\ultravnc\winvnc\debug
Определите каталог, в который необходимо сохранить файл winvnc.log. Убедитесь, что этот каталог доступен для записи системы (не отображается в папке)

DebugLevel=0
DebugLevel показывает, сколько информация отладки представить. Любое целое положительное число является действительным. Ноль означает, что никакая информация отладка не следует производить и по умолчанию. Значение вокруг 10-12 вызовет полный отладочный вывод будет производиться

DebugMode=0
Во время выполнения и протоколирования всех внутренних отладочных сообщений теперь поддерживается. Войти данные могут быть выведены в файл или окно консоли или отладчика MSVC, если программа была составлена??с отладкой активной.)

AllowLoopback=0
0 = ОТключить подключения с localhost (Default)
1 = Включить подключения от localhost
По умолчанию серверы WinVNC запретить любые VNC Connections Viewer из той же машине. Для тестирования целей, или, потенциально, при использовании нескольких экземпляров WinVNC на Windows Terminal Server, такое поведение нежелательно.

LoopbackOnly=0
По умолчанию серверы WinVNC принимать входящие соединения на адрес сетевого адаптера, так как это самый простой способ справиться с многосетевых машин. В некоторых случаях, предпочтительно, чтобы только для соединений, поступающих из локальной машине и направленных на "локальный" адаптера - конкретный пример является использование VNC по SSH для обеспечения безопасной VNC. Установка это вызовет WinVNC принимать только локальные соединения - это перекрывает настройки AllowLoopback и AuthHosts.

AllowShutdown=1
Разрешает или запрещает пользователю доступ к меню отключения сервера, доступно(1) или не доступно (0). Рекомендую ставить "0", дабы юзеры не могли отключать VNC из трея

AllowProperties=1

0 = Выключить пункт "Properties" в uvnc сервере при клике из трэя
1 = Включить пункт "Properties" в uvnc сервере при клике из трэя

AllowEditClients=1
0 = Отключить пункт "Edit Clients" в uvnc сервере при клике из трэя
1 = Включить "Edit Clients" в uvnc сервере при клике из трэя

FileTransferTimeout=30

KeepAliveInterval=5
Время для передачи файлов и удержания сообщения (в секундах)

DisableTrayIcon=0
Не отображать значок UVNC в трее. Рекомендую для особо одарённых включить, параметр "1", дабы исключить наезды на нашу админскую братию. По опыту скажу, что юридически подкованные юзеры очень нервно смотрят на бирюзовый глаз из трея.

MSLogonRequired=0
Использование паролей ОС вместо vncpasswd

NewMSLogon=0
Используется ACL вместо группового списка

ConnectPriority=0
ConnectPriority indicates what WinVNC should do when a" non-shared connection is received By default, all WinVNC servers will disconnect any existing
connections when an incoming, non-shared connection is authenticated. This behaviour is undesirable when the server machine is being used as a shared workstation by several users or when remoting a single display to multiple clients for viewing, as in a classroom situation.

UseRegistry=0
0= use ultravnc.ini
1= use registry the same way as in v102

AuthRequired=1
By default, all WinVNC servers will not accept incoming connections unless the server has had its password field set to a non-null value. This restriction was placed to ensure that misconfigured servers would not open security loopholes without the user realising. If a server is only to be used on a secure LAN, however, it may be desirable to forego such checking and allow machines to have a null password.

sendbuffer=xxxx
variable available starting uvnc 1.0.8.0
sendbuffer=1500 (wifi or value less)
sendbuffer=4096 (lan 100Mbit)
sendbuffer=8192 (lan 1GBit, aka jumbo packet)


passwd=AAA967DDDDD692AE9C

Passwd2=D00590A01299C90079

Длина пароля 8 байт alphadigit + 1 байт alphadigit контрольная сумма от uvnc но игнорируется
можно использовать vnc pwd generator и вручную добавить 2 символа alphadigit
passwd = полный контроль read/write
passwd2= наблюдение (read only)
Менять пароль через утилиту удобней, она в комплекте:
setpasswd.exe


TurboMode=1
Быстрый экран сканирования, некоторые небольшие изменения на экране могут быть пропущены

PollUnderCursor=0
Poll the window below the cursor

PollForeground=0
Poll the foreground window

PollFullScreen=1
Poll the full screen (default)

OnlyPollConsole=0
Don"t use

OnlyPollOnEvent=1
Bad updates, only poll screen when mouse/keyboard is used.
Minimize bandwidt

EnableDriver=0
Use mirror driver when installed

EnableHook=1
Use hookdll when installed

EnableVirtual=0

SingleWindow=0

SingleWindowName=
Current not used


group1=
group2=
group3=
locdom1=0
locdom2=0
locdom3=0
Used by MSlogon (not new mslogon)



UseRegistry=0
MSLogonRequired=0
NewMSLogon=0
DebugMode=0
Avilog=0
path=C:\Program Files\UltraVNC
kickrdp=0
clearconsole=0
service_commandline=
DebugLevel=8
DisableTrayIcon=1
LoopbackOnly=0
UseDSMPlugin=0
AllowLoopback=0
AuthRequired=1
ConnectPriority=0
DSMPlugin=No Plugin Detected
AuthHosts=
AllowShutdown=0
AllowProperties=0
AllowEditClients=0
FileTransferEnabled=1
FTUserImpersonation=0
BlankMonitorEnabled=1
DefaultScale=1
CaptureAlphaBlending=1
BlackAlphaBlending=0
SocketConnect=1
HTTPConnect=0
XDMCPConnect=1
AutoPortSelect=1
PortNumber=0
HTTPPortNumber=0
IdleTimeout=0
RemoveWallpaper=0
RemoveAero=0
QuerySetting=0
QueryTimeout=0
QueryAccept=0
QueryIfNoLogon=0
primary=1
secundary=0
InputsEnabled=1
LockSetting=0
LocalInputsDisabled=0
EnableJapInput=1
FileTransferTimeout=30
BlankInputsOnly=0
dummy=0
SC_PROMPT=0
SC_AUTORECON=0
DSMPluginConfig=
passwd=
passwd2=
TurboMode=0
PollUnderCursor=1
PollForeground=1
PollFullScreen=1
OnlyPollConsole=0
OnlyPollOnEvent=0
EnableDriver=1
EnableHook=1
EnableVirtual=0
SingleWindow=0
SingleWindowName=
preset1=
preset1D=
preset1ID=
preset2=
preset2D=
preset2ID=
preset3=
preset3D=
preset3ID=


Источники:
Исходная страница на английском - http://www.uvnc.com/docs/uvnc-server/69-ultravncini.html
Трэд на руборде - http://forum.ru-board.com/topic.cgi?forum=5&topic=23704&start=560
Линк на автосборщик инсталяторов -

UltraVNC предназначена для удалённого подключения к компьютерам, серверам в локальной сети или интернет. Нужен прямой IP адрес статический, либо DNS имя компьютера с прамым подключением к сети, без прокси и с правильно настроенным фаерволом. В случае использования роутеров и т.п. устройств со всключённым NAT необходимо пробрасывать порт для возможности подключения к серверу UltraVNC извне. (Стандартный/по умолчанию порт: 5900). В случае сложных конфигураций с прокси, либо непрямых адресов есть возможность использовать репитер, но здесь он не рассматривается.


В данной краткой статье описываются основные шаги по установке и настройке сервера UltraVNC, дополнений (драйверов, библиотек шифрования) и просмотрщика (Viewer).

Итак 1 часть - установка:
Сначала устанавливаем комплект сервер-вьювер. Запускаем установочный файл в соответствии с битностью операционной системы (32-64):

Соглашаемся с лицензионным соглашением:

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

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

На этом установка UltraVNC закончена.

Но как известно не бывает всё так просто, поэтому нужно поставить ещё набор расширений (Addons). Если этого не сделать то могут быть проблемы с отображением передаваемого изображения с сервера, а также если вам необходимо осуществлять шифрованную связь с сервером (в случае наличия паранойи).
Запускаем файл UltraVNC Addons с соответствующей битностью:

Соглашаемся с лицензионным соглашением и продолжаем:

Выбираем набор компонентов необходимых нам, обычно это первые 3 галки, если же у вас Windows 8, то скорее всего вместо 1 галки ставим последние 2.

На этом установка дополнительных компонентов закончена. Теперь необходимо выполнить настройку серверной части, а потом создать файлы подключений к серверам на клиентском компьютере чтобы упростить процесс доступа.


2 часть - настройка сервера VNC и драйвера.
Находим в нижней правой части экрана в панели задач значок UltraVNC сервера, обычно это синий глаз, щёлкаем правой клавишей по нему, откроется меню, в котором необходимо выбрать пункт Properties.

После чего мы видим окно с настройками сервера связанными с отображением. Тут необходимо поставить галки, как на данном изображении. Т.к. мы поставили дополнительные компоненты, нужно их задействовать, для этого ставим галки на пункты System HookDll и Mirror Driver, это так называемый зеркальный драйвер, который отвечает за процесс захвата картинки с экрана сервера. Также лучше убрать галку с пункта Low Accuracy т.к. картинка будет передаваться рваной в случае сильной загруженности сервера. Правда она может оказаться необходимой если загрузка сервера очень критична, но в общем случае лучше отключить. Также можно настроить максимально отводимые ресурсы процессора под сервер UltraVNC в процентах. Далее нужно проверить правильно ли установился драйвер и используется ли он в системе, нажимаем кнопку Check the Mirror Driver.

Появится следующее окошко. На котором должно быть видно то же самое. Драйвер найден. Версия в порядке. Драйвер не активен (т.к. не подключён не один клиент). На этом настройки программы закончены, переходим к настройке доступа.

Для установки параметров администратора опять находим значок UltraVNC сервера в панели задач, щёлкаем правой кнопкой мыши и в открывшемся меню выбираем Admin Properties.

Открывается окно настроек администратора. Здесь в обычно ситуации будет работать следующая конфигурация как на изображении, нужно проставить галки в соответствии. А также дважды ввести пароль, вводите внимательно и предварительно проверяйте раскладку клавиатуры. Также обратите внимание что второй пароль для клиентов, которым разрешён только просмотр! Если у вас пароли одинаковые в обоих полях, то вы всегда будете подключаться с возможностью совершать любые действия. Если нужно чтобы была необходимость подключиться к серверу без использования клиента UltraVNC, то можно поставить галку на JavaViewer, тогда по выбранному порту можно будет подключаться к серверу через браузер. В данном варианте выбрано возможность подключаться к серверу одновременно нескольким клиентам, если нужно чтобы в 1 момент мог работать только 1 человек, выберите пункт в блоке Multi viewer connections - > Disconnect all existing connections. Здесь же можно выбрать плагин, к примеру для шифрования всех подключений, но на стороне клиента придётся использовать тот же самый плагин. Тут же можно задать действия, что делать в случае отключения последнего клиента от сервера, а также запретить ввод со стороны клиента, ввод со стороны сервера.

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

3 часть - настройка клиента UltraVNC.
Запускаем клиент по ярлыку на рабочем столе. Зелёный - клиент, синий сервер, его можно сразу удалить, т.к. сервер всегда висит в панели управления и все настройки выполняются именно оттуда. После запуска клиента видим следующее окно. Здесь необходимо ввести IP адрес сервера UltraVNC, в данном случае мы можем подключиться даже к самому себе. Обычно в авто режиме в локальной сети всё работает хорошо, но могут быть нюансы, либо канал сети загружен, либо соединение через интернет, либо сервер установлен на старом оборудовании, тут то и пригодятся дополнительные настройки, подбирать их можно экспериментируя с разными вариациями. Также здесь указывается плагин для шифрования, если ваш сервер его использует. Есть возможность использования прокси/репитера UltraVNC. Можно сохранить текущие настройки как "по умолчанию". Нам интересны настройки, нажимаем Options...

Открылось окно настроек подключения. Обычно в блоке Format and Encoding авто режим даёт приемлемые результаты, если нет то подбирайте. Ниже в блоке Misc можно запретить передачу данных из буфера обмена, запретить показ спонсорского баннера. Важным моментом может оказаться настройка курсора, т.к. замечено что на некоторых системах (к примеру при использовании виртуальной машины Windows 2000 на сервере UltraVNC) даёт чёрный квадратик вокруг курсора мыши, что неудобно при работе. В таких случаях я обычно ставлю радиоточку на 2 пункт - Let remote server deal with mouse cursor. Также для удобства работы сразу ставим галку полноэкранного режима Full-screen mode и можно убрать панель кнопок, снять галку Show Buttons Bar, но для новичков будет сложно незная возможностей, поэтому по умолчанию оставляем. На этом настройки закончены, жмём OK.

Удалённо управлять компьютером – звучит интригующе, но только для тех, кто раньше с этим не сталкивался. На самом деле этот сервис появился уже давно и широко используется профессионалами. Многие разработчики различных программ изначально внедряют такую возможность в свои продукты, чтобы была возможность быстро помочь клиентам справиться с неполадками или настройками программного обеспечения. При наличии высокоскоростного интернета это происходит очень просто и быстро. Однако иногда возникает потребность помочь знакомым, друзьям или родственникам, особенно если это люди старшего поколения, впервые взявшие мышку в руку. Так же время от времени нужно срочно попасть на свой домашний компьютер, например, когда забыл скачать на флешку важную презентацию, или, находясь в другом городе, хочется показать подруге свои фотографии из последней поездки на Урал.

UltraVnc – это ещё одна программа для удалённого управления компьютером.
Достоинства: бесплатная и поддерживает как Windows, так и unixOS (напримерLinux).
Недостатки: куча пугающих настроек на английском языке.

Итак, глаза боятся, а руки делают. Скачиваем свежую версию с официального сайта www.uvnc.com или скачать . Запускаем. Выбираем server (сервер) и viewer (просмотрщик). Сервер ставится на тех компьютерах, к которым будем подключаться, а просмотрщик на тех, с которых будем подключаться.

«Установить сервис » и «Позволить использовать Ctrl+Alt+Del ». Да.

Поле «Incoming Connections » — «Входящие соединения».

Accept Socket Connections - включаем (т.е. нетрогаем).

Display - показывает номер порта (теоретически). Не трогаем.

Ports – пусть остаётся авто.

Enable JavaViewer (HTTP connect) - разрешить java-просмотрщик (через браузер). Да.

Allow Loopback Connections - разрешить соединение через «петлю» (как бы сам не себя для теста). Оставляем.

Loopback Only - только «петля» — больше ничего работать не будет. Нет.

Поле «Authentication » — «Аутентификация» (подтверждение личности/прав).

VNC Password - пароль на управление (на англ.).

View-Only Password – пароль только для просмотра (на англ.). Неплохо бы выставить его отличным от VNC.

Require MS Logon — применяет учётные записи windows. Галочку не ставим.

Поле «File Transfer » — «Передача файлов».Да, пригодится.

Поле «DSM Plugin » — шифрование данных. Как хотите, я не ставлю.

Поле «When last client disconnects » — «Когда последний клиент отключен».

— Ничего не делать. Выбираем .
— Заблокировать комп.
— Завершить сеанс.

Поле «Keyboard&Mouse » — «Клавиатура и мышь». Я ничего не выставляю.
— Отключает мышь и клаву того, кто подключается.
— Отключает мышь и клаву того, к кому подключаются.
— Японская клава.

Поле «Query on incoming connection » — «Запрос о входящем соединении».
Спрашивает у пользователя, разрешает ли он подключение к нему.
Display Query Window — время показа сообщения. Если пользователь ничего не нажал:
Refuse – отказ подключения.
Accept – резрешение подключения.

Поле «Multi Viewer Connections » — «Одновременное подключение нескольких клиентов».
— «Disconnect all existing connections » — отключение последнего после подключения нового. Оставляем.
— «Keep existing connections » — удерживать все подключения.
— «Refuse the new connection » — пункт означает, что идёт запрет на новое подключение, хотя на практике никакого запрета нет.
— «Refuse all new connections » — не позволять новых подключений, если одно уже есть.

Поле «Misc. » - тут всякие полезности для удобства, ускорения работы, уменьшения трафика.
Remove Aero (Vista) - отключить Aero (3D, прозрачность и прочие «украшения»). Отмечаем.
Remove Wallpaperfor Viewers - убирает обои с рабочего стола. Ставим галочку.
EnableBlank Monitoron Viewer Request - отключение монитора управляемого компа. Данная опция работает со сбоями, поэтому я снимаю галочку.
Disable Only Inputson Blanking Request - запрещает только ввод с консоли сервера, при этом экран не закрывается.
Enable Alpha-Blending Monitor Blanking - другой вариант отключения монитора сервера. Используйте, если с первым вариантом проблемы.
Capture Alpha-Blending - возможность видеть включенное видео. Работает со сбоями, но очень полезная функция, когда нужно просмотреть видеокамеры, например. Отмечаем.
Disable Tray icon - отключает иконку в трее. Отмечаем.
Forbid the user to close down WinVNC - запрещает отключать сервер. Ставим галочку.
Default Server Screen Scale - масштаб экрана при подключении. Оставляем 1/1.

Поле «Logging » — «Создание log-файла»
Log debug infos to the WinVNC.log file - пишет лог сервера. Не нужно.

Настройки выставлены, кликаем Apply и ОК.

На рабочем столе появляются три иконки: просмотрщик (Ultra VNC Viewer), сервер (Ultra VNC Server) и настройки (Ultra VNC Settings).
Открываем «Настройки» (Settings) и можем их здесь изменить. Но есть одна новая настройка «ScreenCapture » — захват экрана. Позволяет делать скриншоты рабочего стола.

Поле «Capture Options » — «Опции захвата». — Poll Full Screen – весь экран.
Poll Foreground Window – активное окно.
Poll Console Windows Only – только окно консоли.
Poll On Event Only –только окно события.
Poll Window Under Cursor – окно под курсором.
LowAccuracy (низкая точность) — дает прибавку в скорости за счет снижения точности.

Поле «Advanced » — «Расширенные».
Use System HookDll - опция имеет смысл на Windows 9x.
Video Hook Driver - использовать драйвер захвата видео. Обеспечивает наилучшее быстродействие на Windows XP, Vista, 7.
Show Primary Display — показывать первый экран.
Show Secondary Display – показать второй экран.
Capture Alpha-Blending – захват изображения видео.
Remote Aer While connected – отключить Aero, когда подключено соединение.
Remote Wall paper While connected – отключить обои рабочего стола, когда подключено соединение.

Двойной клик по значку «сервера» (Ultra VNC Server) запускает сервер, если он ещё не запущен.
Теперь запускаем «просмотрщик» (Ultra VNC Viewer).

Поле «Quick Options » настраивается скорость подключения.
Оставляем авто. Так же есть настройки:
View Only – только просмотр. Только при подглядывании.
Auto Scaling – нет полос прокрутки, при движении мышки вниз экран движется сам. Ставим .
Confirm Exit — подтверждать выход. Не нужно .

В общем больше нам ничего не нужно, поэтому вводим IP-адрес компьютера (как узнать IP-адрес своего компьютера смотрите ), на котором стоит уже настроенный сервер (UltraVNCServer) и жмём «Connect ». После запроса пароля попадаем на нужный нам компьютер.

(Visited 27 798 times, 5 visits today)

  • Tutorial

Это руководство о том, как настроить noVNC для удалённого доступа к компьютерам на Windows.

Почему noVNC?

- У Windows есть «родное» средство для удалённого доступа - Remote Desktop Connection. Но оно есть не во всех версиях Windows - например нет в Home edition.
- Также существует множество VNC серверов и клиентов для любой версии Windows. Но для их использования нужно ставить VNC клиент. А бывают случаи, когда ставить ничего нельзя (ограничение прав), или нежелательно, чтобы не оставлять следов на чужом компьютере.
- Ещё есть Chrome Remote Desktop, которому на стороне клиента нужно только расширение в браузере. Но у меня был случай, когда протокол Хрома был заблокирован организацией (там почто всё было заблокировано), а noVNC использует обычный HTTP и поэтому работал.

Насколько я знаю, noVNC - единственное средство, которое позволяет подключиться к удалённому компьютеру без установки какого-либо клиента - используется лишь браузер.
Ещё есть SPICE , но для него я не нашёл сервера под Windows.

В результате этого руководства, мы сможем просто открыть линк в браузере, ввести пароль и пользоваться удалённой системой.

Необходимым условием является проброс портов, или белый IP удалённого компьютера. Также можно воспользоваться VNC repeater. Но это уже выходит за рамки этой статьи.

Общая схема

Сначала мы поставим обычный VNC сервер на порт 5900.

Затем поставим noVNC и WebSockify на порт 5901.

Цель, чтобы получилось приблизительно вот так:


Теперь запускаем command prompt с администраторскими правами:


Запускаем WebSockify:

C:\> cd c:\noVNC\websockify c:\noVNC\websockify> websockify.exe 5901 127.0.0.1:5900 --web c:\noVNC\noVNC-master WARNING: no "resource" module, daemonizing support disabled WebSocket server settings: - Listen on:5901 - Flash security policy server - Web server. Web root: c:\noVNC\noVNC-master - No SSL/TLS support (no cert file) - proxying from:5901 to 127.0.0.1:5900
Первый параметр выше - порт на котором noVNC будет слушать: 5901 . Этот порт нужно сделать доступным для клиентов.

Второй параметр - IP и порт, где стоит VNC сервер: 127.0.0.1:5900

Третий параметр --web инструктирует noVNC, чтобы он отдавал содержимое директории c:\noVNC\noVNC-master по HTTP(s). По умолчанию noVNC отдаёт только VNC вебсокет, но этот параметр позволяет иметь и HTTP сервер на этом же порту.

В директории c:\noVNC\noVNC-master переименуйте файл vnc.html в index.html , чтобы он отдавался по умолчанию.

Теперь noVNC клиент должен быть доступен на порту 5901:


Попробуйте также открыть noVNC страницу с другого компьютера/смартфона, чтобы удостовериться, что она доступна снаружи. Если нет - то проверьте:

Что у вас Windows Firewall не блокирует внешние подключения на этот порт,
- что ваш роутер правильно перенаправляет запросы на этот порт на нужный компьютер; если надо гуглите «проброс портов».

Соединяемся (Connect), вводим VNC пароль и видим рабочий стол удалённого компьютера!

Если что-то пошло не так, то ошибки должны показаться в нашей консоли.

Остановить noVNC сервер можно нажав Ctrl-C в консоли. Описанная выше конфигурация работает по HTTP (и по WS).

Добавляем SSL с самоподписанным сертификатом

Добавлять SSL - необязательно. Создать самоподписанный сертификат можно вот так:

Openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem
Для Windows openssl можно взять .

В результате получаем файл 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.

Поэтому для noVNC я просто использую уже существующие 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 - на одном домене. Порты могут быть разными.

И нужно не забывать, что сертификаты годны только несколько месяцев, а потом надо копировать обновлённые файлы.

Добавляем noVNC, как Windows-сервис

Загружаем zip-архив , и распаковываем файлы оттуда так, чтобы они лежали в той же папке, где и файл websockify.exe , то есть в нашем случае в c:\noVNC\websockify .

При запуске, сервис будет использовать параметры из файла 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:

Известные недоработки

Раскладка клавиатуры

Я обнаружил, что русская раскладка клавиатуры работает довольно необычным образом:
Если у клиента выбран русский язык, то на удалённый компьютер нажатия клавиш не передаются вообще.remote desktop Добавить метки