Tightvnc server настройка windows

Рекомендации по выбору оптимального режима работы

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

Если внимательно посмотреть на окно создания соединения, в нем можно обнаружить вкладку для экспертов. Если в этих настройках выбрать, например, предпочитаемые алгоритмы сжатия передаваемых и принимаемых данных, то можно существенно снизить нагрузку на центральный процессор и оптимизировать применение технологии Virtual Network Computing даже для сетей с пропускной способностью на уровне 256 кбит/с. Для графики рекомендуется устанавливать высокий уровень компрессии (Compression Level) с минимальным качеством (JPEG Quality), а в качестве дополнительной оптимизации активировать уменьшение количества цветов (Restricted Colors или bgr233).

Кроме того, стоит обратить внимание, что на одном терминале может использоваться подключение к нескольким машинам на основе базового порта 5900 через параметр дисплея. По умолчанию основной дисплей имеет значение «0», а для всех остальных оно увеличивается («1», «2» и т

д.). Соответственно, изменятся порт (5901, 5902 и т. д.), который нужно будет указывать после адреса через двоеточие (например, 192.168.0.5:5901). В случае с динамическими (а не статическими) адресами, дополнительно можно воспользоваться получением динамического DNS, например, на основе DynDNS. Можно выставить такую настройку на маршрутизаторе или зарегистрироваться на портале сервиса в интернете. В этом случае служба будет передавать установленному клиенту все сведения, связанные с изменением IP подключаемого компьютера.

Запуск в полный экран без потери связи с локальной панелью клиента

VNC-клиенты позволяют запускать виртуальный экран во весь дисплей, но тогда нельзя без прикосновений к клавиатуре переключаться между удалённым виртуальным экраном и окнами существующими на экране Клиента. В режиме «не разворачивать на весь экран» обычные VNC-клиенты имеют заголовок окна, меню — на них уходит чувствительно много места. Утилита ‘devilspie’ в сочетании с ‘vncviewer’ позволяют отыграть максимум места, сохраняя возможность не касаясь клавиатуры мышкой переключаться между локальными и удалёнными окнами. Здесь же начинает играть заметную роль возможность быстро переключать локальную панель задач Клиента в режим «скрывать автоматически», что является преимуществом для ‘fbpanel’ перед ‘lxpanel’.

Утилита ‘devilspie’ позволяет манипулировать окнами, их обрамлением. Можно для Клиента убрать обрамление окна с виртуальным экраном и выбрать значение параметра запуска VNC сервера такое, что окно с виртуальным, удалённым экраном аккуратно впишется в свободное пространство на «рабочем столе». При этом сохраняется возможность перемещения этого окна — нажать Alt+пробел и перемешать стрелками курсора, конец перемещения — кнопка Enter. Система запоминает положение окна, при следующих запусках окно будет там же, где было перед выключением.

Утилита ‘devilspie’ должна быть предварительно запущена: в автозапуск — в каталог ‘~/.config/autostart’ — добавляется файл ‘devilspie-start.desktop’.
Содержимое файла:

~/.config/autostart/devilspie-start.desktop
Desktop Entry
Type=Application
Name=Devilspie starter
Exec=devilspie -a

Требуется выход-вход в систему или перезагрузка, чтобы запущенная ‘devilspie’ начала обрабатывать указанные ей окна. Или достаточно руками перезапустить саму утилиту:

killall -9 devilspie ; nohup devilspie -a 1>/dev/null 2>/dev/null &

Окна для обработки ‘devilspie’ выбирает согласно своим конфигурационным файлам. Например, для окна с заголовком «TightVNC: userName’s X desktop (hostName:1)» в каталоге ‘~/.devilspie/’ нужно поместить файл ‘xVNCviewer-window.ds’ c содержимым:

~/.devilspie/xVNCviewer-window.ds
; generated_rule xVNCviewer-window
; Ниже регулярное выражение:        ^TightVNC: a-zA-Z0-9+'{1}s X desktop ({1}a-zA-Z0-9:+){1}$
; соответствует реальной сроке:     TightVNC: userName's X desktop (hostName:1)
( if
( begin
( matches (window_class ) "^TightVNC: +{1}s X desktop {1}+{1}$" )
( matches (application_name ) "^TightVNC: +{1}s X desktop {1}+{1}$" )
( matches (window_name) "^TightVNC: +{1}s X desktop {1}+{1}$" )
)
( begin
( undecorate )
( geometry "+2+2" )
( println "match" )
)
)

Эта конфигурация приводит к удалению обрамления соответствующего окна. Есть утилита ‘gdevilspie’ — графический интерфейс для создания этих конфигураций.

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

Перед установкой

Для следования описанным в этой статье инструкциям вам понадобятся:

  • Дроплет с Ubuntu 16.04, настроенный согласно шагам, описанным в , включая создание не-рутового (non-root) пользователя с привилегиями sudo.

Локальный компьютер с клиентом VNC, поддерживающим соединения через SSH туннель. Если вы используете Windows, вы можете воспользоваться TightVNC, RealVNC или UltraVNC. Пользователи Mas OS X могут использовать встроенную утилиту Screen Sharing, или воспользоваться кросс-платформенным приложением, например, RealVNC. Пользователи Linux имеют широкий выбор: vinagre , krdc , RealVNC, TightVNC и др.

Шаг 2 — Настройка сервера VNC

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

Эти команды находятся в файле конфигурации в папке в каталоге home. Сценарий startup был создан при запуске на предыдущем шаге, однако мы создадим собственный сценарий для запуска рабочего стола Xfce.

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

Поскольку мы изменяем настройку сервера VNC, вначале нужно остановить экземпляр сервера VNC, работающий на порту , с помощью следующей команды:

Результат должен выглядеть следующим образом, хотя вы увидите другой PID:

Прежде чем изменять файл , следует создать резервную копию исходного файла:

Создайте новый файл и откройте его в текстовом редакторе:

Команды из этого файла автоматически выполняются при запуске или перезапуске сервера VNC. Сервер VNC должен запустить нашу среду рабочего стола, если она еще не запущена. Добавьте в файл следующие команды:

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

Чтобы сервер VNC мог использовать новый файл startup, нужно сделать его исполняемым.

Перезапустите сервер VNC.

Результат будет выглядеть примерно так:

Завершив настройку, подключимся к серверу с локального компьютера.

TightVNC: интерфейс и производительность

TightVNC имеет классический интерфейс Windows с приложением конфигурации сервера, доступным на панели задач Windows. Здесь вы можете установить параметры для прослушивания портов, аутентификации, контроля доступа по IP-адресу и совместного использования сеанса.

Вы можете изменить все важные настройки сервера через приложение настройки сервиса. (Изображение предоставлено ГлавСофт)

Приложение Viewer имеет похожее меню, где вы можете настроить параметры сжатия и качества изображения.

Развернутая в нашей беспроводной сети 802.11ac с сервером и программой просмотра Haswell i3, TightVNC превосходно справилась с типичными задачами на рабочем столе, такими как редактирование документов и просмотр файлов. Качество изображения было неотличимо от исходного экрана, в то время как ввод с клавиатуры и мыши мгновенно отправлялся на сервер. Загрузка процессора колебалась около 25%, что делает его более легким вариантом для старых машин. 

Качество изображения отличное, но частота кадров замедляется при одновременном обновлении большого количества экрана. (Изображение предоставлено ГлавСофт)

Мы заметили задержку около 0,1 секунды в том, что изображение с рабочего стола отправляется обратно зрителю, но оно практически незаметно. Большая проблема возникла при запуске сложного полноэкранного приложения — частота кадров упала с примерно 30 кадров в секунду до примерно трех кадров в секунду.

Установка VNC Server на Ubuntu 18.04

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

Чтобы установить VNC server в Ubuntu выполните такую команду:

sudo apt install tigervnc-standalone-server tigervnc-common tigervnc-xorg-extension tigervnc-viewer

Также необходимо установить эмулятор терминала xterm, его программа будет использовать для запуска тестового окружения:

Для запуска сервера используется команда vncserver. Её синтаксис очень прост:

vncserver порт: номер_дисплея опции

  • -dry-run — тестовый запуск, не выполнять никаких реальных действий;
  • -verbose — включить более подробный вывод;
  • -useold — запустить VNC сервер только если он ещё не запущен;
  • -cleanstale — очистить оставшиеся файлы после предыдущего запуска;
  • -localhost — разрешить подключения только с локального компьютера;
  • -name — имя VNC сервера, которое будет отображаться при подключении, по умолчанию используется host:display# (username);
  • -geometry — разрешение экрана для запускаемого окружения, например, 1024×768;
  • -depth — глубина цвета, доступны значения: 8, 15, 16 и 24;
  • -fg — не запускать сервис в фоновом режиме и оставить его привязанным к терминалу;
  • -autokill — автоматически останавливать сервер после завершения подключения;
  • -xstartup — программа, которую следует использовать вместо оболочки;
  • -list — список запущенных серверов;
  • -kill — завершить запущенный vnc сервер.

Теперь можно попытаться запустить VNC Server:

vncserver -xstartup /usr/bin/xterm

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

Обратите внимание, что утилиту необходимо запускать от имени обычного пользователя, а не суперпользователя

Утилита не только создаст конфигурацию, но и запустит VNC сервер. Посмотреть список запущенных серверов можно командой:

Чтобы завершить запущенный VNC сервер используйте опцию kill и идентификатор дисплея, на котором запущен сервер из предыдущей команды:

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

/.vnc/xstartup со следующим содержимым:

#!/bin/sh dbus-launch —exit-with-session gnome-session &

Это скрипт, который запускает рабочее окружение Gnome, вы также можете запускать и другие окружения. Теперь запущенный VNC сервер появится в списке доступных серверов и вы можете к нему подключиться.

Чтобы показать использование других опций давайте запустим vncserver на четвертом виртуальном дисплее с разрешением экрана 1024×768:

vncserver :1 -geometry 1024×768

Установка Teamviewer в Windows .

Установка TeamViewer в среде Windows выполняется стандартным образом. В процессе инсталляции необходимо выбрать требуемый вариант использования программы: Выбор по умолчанию — это установка Teamviewer в качестве обычной прикладной программы, когда не требуются права администратора. Вариант Установить, чтобы потом управлять этим компьютером удаленно

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

Далее необходимо принять лицензионное соглашение и установка TemViewer будет продолжена. Для использования программы в бесплатном варианте, необходимо выбрать режим Личное / некоммерческое использование

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

Программа TeamViewer имеет довольно простой и интуитивно понятный интерфейс, позволяющий выбрать режим удаленного управления:

Разрешить управление

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

Управлять компьютером

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

В панели Управлять компьютером

имеется возможность выполнить подключение в одном из двух режимов:

Удаленное управление

— доступ к рабочему столу удаленного компьютера с выбранным идентификатором.

Передача файлов

— выполнение обмена файлами с удаленным компьютером средствами TeamViewer.

Как пользоваться TightVNC

В верхней левой части экрана расположена панель инструментов:

  1. New connection — новое подключение
  2. Save session to a .vnc file — сохранить сессию в файл .vnc
  3. Connection options — опции подключения
  4. Connection info — информация о подключении
  5. Pause — пауза
  6. Request screen refresh — запросить обновление экрана
  7. Send Ctrl+Alt+Del — отправить Ctrl+Alt+Del
  8. Send Ctrl+Esc — отправить Ctrl+Esc
  9. Ctrl key down — зажатая кнопка Ctrl
  10. Alt key down — зажатая кнопка Alt
  11. Transfer files — передать файлы
  12. Scale in — приблизить
  13. Scale out — удалить
  14. Scale: 100% — масштаб 1:1
  15. Scale: Auto — автоматический масштаб
  16. Full screen — полноэкранный режим

Для выхода из полноэкранного режима нажмите Ctrl+Alt+Shift+F.

При выборе Transfer files (передача файлов) вы сможете переносить файлы с удалённого компьютера на свой локальный и в обратном направлении:

VNC Viewer: как пользоваться, установка и настройки

Исходя из названия приложения VNC Viewer, многие пользователи сразу могут догадаться, к какому классу программного обеспечения оно относится, например, проведя аналогию с известным пакетом TeamViewer. Однако рядовые пользователи могут столкнуться с такой утилитой впервые, поэтому стоит отдельно остановиться на некоторых вопросах, связанных с тем, как и какую модификацию программы лучше установить, как настроить приложение для оптимального режима работы, как пользоваться VNC Viewer, «выжав» из приложения максимум его возможностей.

Установка Xfce и TightVNC

Сначала устанавливаем пакет Xfce:

$ sudo apt update
$ sudo apt install xfce4 xfce4-goodies

Следом за ним — пакет TightVNC:

$ sudo apt install tightvncserver

Запускаем VNC-сервер командой:

$ vncserver
You will require a password to access your desktops.
Password: пароль
Verify: пароль
Would you like to enter a view-only password (y/n)? n
xauth:  file /home/evgeniy/.Xauthority does not exist
New 'X' desktop is vnc-server:1
Creating default startup script /home/evgeniy/.vnc/xstartup
Starting applications specified in /home/evgeniy/.vnc/xstartup
Log file is /home/evgeniy/.vnc/vnc-server:1.log

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

Invitations

Invitations can be useful when you want to let other people view your desktop, but you still need to follow the normal precautions when .

tightvncserver

Whereas most VNC servers share your desktop, tightvnc creates a completely new desktop, not attached to any actual screen. This makes it much less useful for some things (like remote help), but much more useful for others (like creating a public area for collaboration). If tightvncserver won’t start, you might need to uncomment the $fontpath lines in /etc/vnc.conf.

Like x11vnc, tightvnc is designed to be run from the command-line. To start it, type:

tightvncserver -nolisten :1

This will tell tightvnc to listen for VNC connections on port 5901 from anywhere on the Internet. Without the -nolisten tcp option, tightvnc will also listen for a different type of connection (X11 instead of VNC), which isn’t usually very useful. Tightvnc’s unusual design means that it can’t create a remote desktop on the standard VNC port (5900) if you have an ordinary desktop running on your computer.

  • There’s no way to set tightvncserver to request access each time.
  • There’s no way to set tightvncserver only to accept the next connection, although see below for a similar solution.
  • Tightvncserver always requires a password, and will ask you to specify one the first time it’s run.
  • To set tightvncserver to only allow local connections, include the -localhost option.

Шаг 3 — Безопасное подключение рабочего стола VNC

Сервер VNC не использует защищенные протоколы при подключении. Для безопасного подключения к вашему серверу вы установите туннель SSH, а затем дадите указание клиенту VNC подключиться с использованием данного туннеля, а не создавать прямое подключение.

Создайте на локальном компьютере соединение SSH, которое безопасно перенаправляется в соединение для VNC. Для этого можно ввести через терминал в Linux или macOS команду :

Вот что означают опции команды :

: опция указывает, что данный порт на локальном компьютере () нужно перенаправить на заданный хост и порт на сервере назначения (, т. е. порт на сервере назначения, который определяется как )

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

: этот флаг активирует сжатие, что минимизирует потребление ресурсов и ускоряет процессы.

: эта опция указывает , что вы не хотите выполнять какие-либо удаленные команды

Эта настройка полезна в случае, если вы планируете только перенаправлять порты.

: опция позволяет определить пользователя, который должен войти в систему после подключения к серверу. Обязательно замените и на имя вашего пользователя без прав root и IP-адрес вашего сервера.

Примечание. Эта команда создает туннель SSH для перенаправления информации с порта на вашем сервере VNC в порт на вашем локальном компьютере через порт на каждом компьютере, порт SSH по умолчанию. Если вы выполнили предварительные требования из руководства по начальной настройке сервера Ubuntu 20.04, у вас добавится правило UFW, позволяющее подключения к вашему серверу через OpenSSH.

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

Если вы используете PuTTY для подключения к вашему серверу, вы можете создать туннель SSH, нажав правой кнопкой мыши на верхнюю панель окна терминала, а затем выбрав опцию Change Settings…:

Найдите ветку Connection​​​ в меню слева окна реконфигурации PuTTY. Раскройте ветку SSH и нажмите на Tunnels. На экране Options controlling SSH port forwarding введите ​​​ в поле Source Port​​​ и в поле Destination:

Затем нажмите кнопку Add, потом кнопку Apply для активации туннеля.

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

После подключения вы увидите рабочий стол Xfce по умолчанию. Она должна выглядеть следующим образом:

Для доступа к файлам в каталоге home вы можете использовать менеджер файлов или командную строку, как показано здесь:

Нажмите в локальном терминале, чтобы остановить туннель SSH и вернуться к командной строке. При этом сеанс VNC также будет отключен.

Теперь вы можете настроить сервер VNC как службу systemd.

Unix/Linux-Specific (not Mac)

The Unix/Linux version of TigerVNC contains the following programs:

  • Xvnc — the TigerVNC Server for Unix. Xvnc is both a VNC server and an X
    server with a «virtual» framebuffer. You should normally use the
    vncserver service to start Xvnc.
  • vncpasswd — a program which allows you to change the VNC password used to
    access your VNC server sessions (assuming that VNC authentication
    is being used.) This command must be run to set a password before
    using VNC authentication with any of the servers or services.
  • vncconfig — a program which is used to configure and control a running
    instance of Xvnc.
  • x0vncserver — an inefficient VNC server which continuously polls any X
    display, allowing it to be controlled via VNC. It is intended
    mainly as a demonstration of a simple VNC server.

It also contains the following systemd service:

vncserver@.service — a service to start a user session with Xvnc and one of
the desktop environments available on the system.

Запуск сервера и подключение клиента

На стороне сервера

Запуск VNC сервера на Сервере выполняется командой:

tightvncserver :1 -geometry 800x600 -dpi 96 -localhost -nolisten tcp :1

Остановка сервера:

tightvncserver -kill :1

Здесь 800×600 это размер экрана Клиента, а 96 это плотность точек полученная ранее на Сервере. Причём 96 совсем не факт, что хорошее значение. Можно поиграться +/-1 или больше, посмотреть как оно глазам будет комфортнее. Плотность точек в наибольшей степени влияет на отрисовку шрифтов. На размеры окон, линеек в разных программах влияете тоже, но к эргономике это имеет куда меньше отношения. Скорее всего есть минимум два значения: 1) когда на экране отличное изображение и размеры близки к реальным, 2) когда размеры мелки, но шрифты легко читаемы. Не исключено, что это может быть интересно для ультра малых экранов Клиента.

800×600 можно заменить на уместную величину. Обычно — чуть меньше размера экрана клиента.

Обозначение ‘:1’ это системный идентификатор виртуального экрана. Вероятно, имеет смысл выбирать его большим. Во всяком случае, на Сервере, в момент запуска VNC службы, не должно быть других виртуальных экранов с этим номером. Номера идут от 0 для локального пользователя. Потом выделяются по мере надобности. В случае использования локального переключения пользователей единица может оказаться занятой. Можно выбрать следующий номер. Использованные номера можно увидеть в выводе команды:

ls -a /tmp/.X*-lock /tmp/.X11-unix/X*

На стороне клиента

Подключение со стороны клиента происходит в два этапа. Сначала создаётся туннель:

ssh -L 12345:localhost:5901 username@hostserver

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

vncviewer  -passwd "${HOME}/.vnc/passwd.username.hostserver" localhost:12345

Если ошибок не было, то появится окно соответствующее отдельному виртуальному экрану Сервера. Внизу будет ‘fbpanel’, обычное меню для запуска программ и т.п.

Со стороны Клиента VNC сервер можно удалённо стартовать в одну команду:

ssh username@hostserver "tightvncserver :1 -geometry 800x600 -dpi 96 -nevershared -localhost -nolisten tcp :1" && ssh -L 12345:localhost:5901 username@hostserver

Останавливать:

ssh username@hostserver "tightvncserver -kill :1"

В файле ‘~/.bash_aliases’ можно описать короткие синонимы этих команд:

alias vncstart-username-hostserver='ssh username@hostserver "tightvncserver :1 -geometry 800x600 -dpi 96 -nevershared -localhost -nolisten tcp :1" && ssh -L 12345:localhost:5901 username@hostserver'
alias vncclose-username-hostserver='ssh username@hostserver "tightvncserver -kill :1"'
alias vncconnect-username-hostserver='vncviewer localhost:12345 &'

При использовании ‘~/.bash_aliases’ надо в файле ‘~/.bashrc’ найти секцию отвечающую за синонимы и снять в ней комментарии. В итоге секция должна выглядеть так:

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
 
if  -f ~.bash_aliases ; then
    . ~.bash_aliases
fi
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector