VNC в Windows: настройка сервера и клиента –

Что такое vnc

VNC (Virtual Network Computing) — это система удалённого доступа к рабочему столу компьютера, использующая протокол RFB (англ. Remote FrameBuffer, удалённый кадровый буфер). Управление осуществляется путём передачи нажатий клавиш на клавиатуре и движений мыши с одного компьютера на другой и ретрансляции содержимого экрана через компьютерную сеть.

По применению VNC является аналогом RDP (Remote Desktop Protocol). Но RDP ассоциируется, в первую очередь, с Windows, поскольку изначально получил распространение на данной операционной системе. А VNC больше ассоциируется с Linux. Тем не менее клиенты и серверы этих технологий являются кроссплатформенными.

Программное обеспечение RDP (и сервер, и клиент) предустановлено на Windows, но для использования необходимо включить эту службу. ПО для VNC пишется сторонними разработчиками, поэтому перед использованием его необходимо установить. Самые популярные клиенты и серверы VNC бесплатны и у них открыт исходный код.

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

Система VNC платформонезависима: VNC-клиент, называемый VNC viewer (просмотрщик), запущенный на одной операционной системе, может подключаться к VNC-серверу, работающему на любой другой ОС. Существуют реализации клиентской и серверной части практически для всех операционных систем.

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

4 Настройки UltraVNC Viewer


При открытии программа запрашивает только имя компьютера для подключения:

Но вы можете развернуть дополнительные настройки.

Сделанные настройки вы можете сохранить или загрузить:

  • Save as — сохранить как
  • Load — загрузить
  • Delete — удалить
  • Save — сохранить


Вкладка Encoders (кодирование сигнала).

  • Auto select best settings (need stable network) — автоматически выбрать лучшие настройки (нужна стабильная сеть)
  • Low CPU high bandwidth — низкое использование центрального процессора, но высокая нагрузка на сеть
  • Raw — без обработки. Необработанное кодирование просто отправляет значения пикселей ширина*высота. Все клиенты обязаны поддерживать этот тип кодировки. Raw всегда быстрее, когда сервер и программа просмотра находятся на одной машине, поскольку скорость соединения по существу бесконечна, а кодирование RAW минимизирует время обработки.
  • Ultra — ультра. Экспериментальное кодирование Ultra обеспечивает производительность в реальном времени по локальной сети, используя сжатие LZO. LZO — это схема сжатия данных, которая подходит для сжатия/развёртывания данных в реальном времени. Это означает, что предпочитается скорость перед коэффициентом сжатия.
  • Hextile. Здесь прямоугольники разбиваются на плитки размером 16×16, которые отправляются в заранее определённом порядке. Данные внутри плиток являются либо необработанными, либо как вариант RRE. Hextile кодирование обычно является лучшим выбором для использования в высокоскоростных сетевых средах (например, локальных сетях Ethernet).
  • High CPU middle bandwidth (lossless) — высокое использование центрального процессора, и средняя нагрузка на сеть (без потерь)
  • Zlib — это очень простая кодировка, которая использует библиотеку zlib для сжатия необработанных данных пикселей. Эта кодировка обеспечивает хорошее сжатие, но занимает много процессорного времени. Поддержка этой кодировки обеспечивается совместимостью с серверами VNC, которые могут не понимать кодировку Tight, которая более эффективна, чем Zlib, практически во всех реальных ситуациях.
  • ZlibHex
  • Middle CPU low bandwidth (lossy) — среднее использование центрального процессора, и низкая нагрузка на сеть (с потерями)
  • Tight. Как и Zlib-кодирование, Tight-кодирование использует библиотеку zlib для сжатия данных пикселей, но предварительно обрабатывает данные, чтобы максимизировать коэффициенты сжатия и минимизировать использование ЦП при сжатии. Также сжатие JPEG может использоваться для кодирования полноцветных экранных областей. Tight кодирование обычно является лучшим выбором для сетевых сред с низкой пропускной способностью (например, для медленных модемных соединений).
  • ZRLE
  • Video
  • High CPU lower bandwidth (lossless) — высокое использование центрального процессора, и более низкая нагрузка на сеть
  • ZYWRLE
  • XZ
  • XZYW
  • zlib compression — уровень сжатия
  • jpeg quality — качество JPEG
  • Less colors = less bandwidth – меньше цветов, меньше нагрузка на сеть
  • Use Zstd instead of zlib — использовать Zstd вместо zlib
  • Use CopyRect encoding — использовать кодирование CopyRect. Кодировка Copy Rectangle эффективна, когда что-то перемещается; единственные отправленные данные — это местоположение прямоугольника, из которого данные должны быть скопированы в текущее местоположение. Копирование также может использоваться для эффективной передачи повторного образца.
  • Use Cache encoding
  • Preemptive Updates – Упреждающие обновления

Вкладка Mouse and keyboard (мышь и клавиатура)

  • Track remote cursor locally — Отслеживать удалённый курсор локально
  • Let remote server deal with mouse cursor — Пусть удалённый сервер работает с курсором мыши
  • Don’t show remote cursor — Не показывать удалённый курсор
  • View only, no input — Только просмотр, без ввода
  • Disable hotkeys — Отключить горячие клавиши
  • Emulate 3 button (with 2-button click) — Эмулировать трёхкнопочную мышь (при нажатии на 2 кнопки)
  • Swap mouse button 2 and 3 — Поменять местами кнопки 2 и 3
  • Japanese keyboard — Японская клавиатура
  • Mouse event throttle (ms)

Вкладка Display (экран)

  • Set default monitor to start the viewer on — Установить монитор по умолчанию на котором запустить просмотрщик
  • Start in fullscreen mode — Запустить на весь экран
  • Fit to screen, no scroolbars — По размеру экрана, без полос прокрутки
  • Show toolbar — показывать панель инструментов
  • Auto scale by — автоматическое масштабирование на
  • Server screen scale by — масштабирование экрана сервера на
  • Save position on exit — сохранить позицию при выходе
  • Save size on exit — сохранить размер при выходе


Вкладка Misc (прочее):

  • Snapshot folder and prefix — папка и префикс для снимков
  • Folder — папка
  • Prefix — начало имени
  • reconnection attempts — количество попыток повторных подключений
  • timeout — время ожидания
  • Filetransfer timeout — время ожидания передачи файла
  • Do not display the sponsor advertisment — не показывать спонсорскую рекламу
  • Hide status window — спрятать окно статуса

Вкладка Security (безопасность):

  • Use Encryption — использовать шифрование
  • Only allow encrypted servers — разрешить только серверы с шифрованием
  • Share the server, allow other to connect — делить сервер, разрешать другим подключаться
  • Disable clipboard transfer — отключить передачу буфера обмена
  • Auto accept incoming (listener mode) — автоматически принимать входящие (режим прослушивания)
  • ingnore no encryption warning (listener mode) — игнорировать предупреждения об отсутствии шифрования (режим прослушивания)
  • Hide menu — спрятать меню

Вкладка Quick encoder (быстрый выбор настроек кодирования):

  • Здесь вы можете выбрать вариант, которые соответствует вашему типу подключения. В результате будут выбраны соответствующие вашему варианту настройки на вкладке Encoders.

Вкладка Listen mode (режим прослушивания):

  • В этом режиме просмотрщик ожидает подключение от сервера. Данный вариант применяется в том случае, если у компьютера с VNC просмотрщиком прямой IP, а сервер VNC находится за NAT.

Turbovnc

TurboVNC — это просмотрщик (Viewer) VNC для Windows. На Linux TurboVNC может выполнять роль как сервера, так и просмотрщика.

TurboVNC является производной от VNC (Virtual Network Computing), которая настроена на обеспечение максимальной производительности для 3D и видео. TurboVNC изначально был форком TightVNC 1.3.x, и на первый взгляд X-сервер и программа просмотра Windows по-прежнему ведут себя так же, как и их родители.

Однако текущая версия TurboVNC содержит гораздо более современную кодовую базу X-сервера (на основе X.org 7.7) и множество других функций и исправлений, отсутствующих в TightVNC, включая высокопроизводительный просмотрщик Java. Кроме того, TurboVNC сжимает рабочие нагрузки 3D и видео значительно лучше, чем «самый жёсткий» режим сжатия в TightVNC 1.3.x, при этом обычно используется только 15-20% процессорного времени последнего.

Используя нестандартные настройки, TurboVNC также может соответствовать лучшим коэффициентам сжатия, созданным TightVNC 1.3.x для 2D-нагрузок. Кроме того, TurboVNC содержит некоторые уникальные функции, разработанные специально для приложений визуализации.

В дополнение к высокой производительности, другие известные особенности TurboVNC включают в себя:

  • Детальное управление качеством изображения JPEG и уровнем подвыборки цветности
  • Двойная буферизация на стороне клиента для уменьшения артефактов разрыва в 3D и видео приложениях
  • Гибкая и настраиваемая поддержка полноэкранного / многоэкранного режима
  • Полная поддержка IPv6
  • Расширенный контроль потока и постоянные обновления. Это позволяет клиентам получать обновления кадрового буфера без специального запроса, что может значительно повысить производительность на соединениях с высокой задержкой.
  • Аутентификация с одноразовыми паролями или учётными данными Unix. Списки контроля доступа могут использоваться для обмена сеансами VNC только с определёнными пользователями.
  • TurboVNC позволяет глобально устанавливать политики безопасности / аутентификации для конкретного серверного компьютера.
  • Многопоточное Tight кодирование
  • «Обновление без потерь» позволяет зрителю запрашивать копию текущего изображения на экране без потерь. Это полезно в ситуациях, когда качество изображения критично, но сеть слишком медленная, чтобы поддерживать отправку высококачественного изображения для каждого кадра. Обновления без потерь могут выполняться вручную при нажатии определённой горячей клавиши, или сервер TurboVNC может быть настроен на автоматическую отправку обновления без потерь, если пользователь прекращает взаимодействие с приложением в течение определённого периода времени.
  • Высокопроизводительное средство просмотра Java, развёртываемое с помощью Java Web Start. Эта программа просмотра основана на программе просмотра Java TigerVNC, но имеет множество дополнительных функций, наиболее заметной из которых является возможность ускорения распаковки JPEG путём вызова libjpeg-turbo через JNI. Это даёт Java TurboVNC Viewer те же уровни производительности, что и родной TurboVNC Viewer.

TurboVNC, при использовании с VirtualGL, обеспечивает высокопроизводительное и надёжное решение для удалённого отображения 3D-приложений во всех типах сетей.

Быстрая настройка x11vnc – oss-it

В качестве альтернативного VNC-сервера в Linux мы рекомендуем использовать сервер x11vnc. Его преимущества перед другими VNC серверами в том, что он может загружаться сразу же со стартом X Window System (то есть прямо с login screen’ом, до того, как вы осуществите вход пользователя в систему), а также в гибкости настроек. Установка x11vnc позволяет подключаться к рабочему столу на этапе входа пользователя в систему, в отличии от других VNC-серверов, подгружаемых только одновременно со входом в систему. Ниже будут приведены краткие типовые инструкции по его настройке, так, чтобы сервер не отключался при входе в систему (недостаток многих решений, встречающихся в сети).

Устанавливаем x11vnc

sudo apt-get install x11vnc

Генерируем пароль для доступа:

x11vnc -storepasswd

После этого пароль по-умолчанию сохраняется в /home/USERNAME/.vnc/passwd (где USERNAME – имя пользователя, под которым вы выполнили команду).

Теперь нам надо добавить автозагрузку сервера.

Если вы используете GDM старых версий (старые системы с gnome2 и аналогами):

Под рутом редактируем файл /etc/gdm/PreSession/Default (sudo nano /etc/gdm/PreSession/Default), где в самом конце добавим следующую строку:

/usr/bin/x11vnc -dontdisconnect -display :0 -notruecolor -noxfixes -shared -forever -rfbport 5900 -bg -o /var/log/x11vnc.log -rfbauth /home/USERNAME/.vnc/passwd

Не забывайте в этой строке изменить ‘USERNAME’ в пути к паролю, на адрес вашей домашней папки (ну или любой другой путь, куда вы положите cгенерированный вами файл с паролем).

Также необходимо добавить одну строку GDM Custom Configuration file. Путь к этому файлу зависит от дистрибутива, может быть /etc/gdm/gdm-custom.conf, /etc/gdm/gdm.conf, в последних Ubuntu это, как правило, /etc/gdm/custom.conf:

KillInitClients=true

В менеджере LXDM:

Нужен файл /etc/lxdm/PreLogin – добавьте в него ту же самую строку запуска:

/usr/bin/x11vnc -dontdisconnect -display :0 -notruecolor -noxfixes -shared -forever -rfbport 5900 -bg -o /var/log/x11vnc.log -rfbauth /home/USERNAME/.vnc/passwd

После этих несложных инструкций x11vnc должен автоматически запускаться со стартом X Window System (то есть для того, чтобы эти параметры вступили в силу – надо перезагрузить систему или непосредственно X11).

При использовании LightDM:

После установки x11vnc создайте файл /etc/init/x11vnc.conf, в который добавьте следующий код:

start on login-session-start
script
x11vnc -dontdisconnect -display :0 -auth /var/run/lightdm/root/:0 -notruecolor -noxfixes -shared -forever -rfbport 5900 -bg -o /var/log/x11vnc.log -rfbauth /home/USERNAME/.vnc/passwd
end script

Соответственно, измените путь к файлу с паролем и параметры запуска x11vnc. После перезагрузки системы x11vnc будет готов к работе.

Описание параметров запуска x11vnc вы можете найти на этой странице.

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

Нажмите клавишу F8 для вызова меню с действиями:


Доступные действия:

  • Exit viewer — выйти из просмотрщика
  • Full screen — полноэкранный режим
  • Minimize — минимизировать окно просмотрщика
  • Resize window to session — изменить размер окна в сеансе
  • Ctrl — зажатая клавиша Ctrl
  • Alt — зажатая клавиша Alt
  • Send F8 — отправить F8
  • Send Ctrl Alt Del — отправить Ctrl Alt Del
  • Refresh screen — обновить экран
  • Options — опции
  • Connection info — информация о соединении

Для перехода в полноэкранный режим комбинациями клавиш нажмите F8 → SHIFT V

Для вызова опций нажмите F8 → O

Как пользоваться 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 (передача файлов) вы сможете переносить файлы с удалённого компьютера на свой локальный и в обратном направлении:

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


В самом верху окна вы увидите панельку.

Первые четыре иконки:

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

Если вы нажмёте на крестик, то подключение к удалённому столу будет закрыто.

В левой верхней части окна доступна ещё одна панель:

  1. Send Ctrl Alt Del to host — отправить хосту Ctrl Alt Del
  2. Toggle Fullscreen Mode (On/Off) — включение/выключение полноэкранного режима
  3. Show Connection Options — показать опции подключения
  4. Refresh Screen — обновить экран
  5. Send ‘Start’ (Ctrl Esc) to host — отправить хосту ‘Start’ (Ctrl Esc)
  6. Send Custom Key — отправить произвольную клавишу
  7. Show Status Window — показать окно статуса
  8. Close Connection — закрыть подключение
  9. Hide Toolbar Buttons — спрятать кнопки панели инструментов
  10. Toggle Remote Input and Remote Blank Monitor (On/Off)
  11. Open File Transfer — открыть окно передачи файлов
  12. Screenshot — сделать снимок экрана
  13. Select Full Desktop / Switch monitor (drvier only)
  14. Open Chat — открыть чат


При нажатии кнопки Open File Transfer, вы сможете передавать файлы между компьютерами, подключёнными по VNC:

Чат между пользователями по VNC:

Чтобы открыть чат с сервера, кликните правой кнопкой мыши по иконке сервера рядом с часами и выберите List All Clients,

в открывшемся окне нажмите кнопку Chat with Client.

Как установить powershell в linux


PowerShell работает также и в Linux, но некоторые команды PowerShell отсутствуют в Linux. При запуске скриптов PowerShell в Linux возникнут проблемы в следующих случаях:

  • в скрипте используются команды, которые отсутствуют в Linux версии PowerShell (например, из-за того, что связаны с настройками Windows или неприменимы для Linux по другим причинам)
  • скрипт обращается к переменным окружения Windows
  • в скрипте используются утилиты Windows, отсутствующие в Linux

Могут быть и другие причины проблем, но много всё равно работает.

Многие дистрибутивы Linux поддерживаются официально и простые инструкции по установке PowerShell в свой дистрибутив, а также установочные файлы вы найдёте здесь: Как установить PowerShell в Linux.

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


Вкладка Compression (сжатие)

  • Auto select — автоматический выбор
  • Preferred encoding — предпочитаемое кодирование
  • Color level — уровень цветов
  • Custom compression level — настраиваемый уровень сжатия
  • (0=fast, 9=best) — (0=быстрый, 9=лучший)
  • Allow JPEG compression — разрешить JPEG сжатие
  • quality (0=poor, 9=best) — качество (0=плохое, 9=лучшее)

Вкладка Security (безопасность)

Группа Encryption (шифрование)

  • None — без шифрования
  • TLS with anonymous certificates — TLS с анонимными сертификатами
  • TLS with X509 certificates — TLS с X509 сертификатами
  • Path to X509 CA certificate — путь до X509 CA сертификата
  • Path to X509 CRL file — путь до X509 CRL файла

ПРИМЕЧАНИЕ: Данные сертификаты можно сгенерировать также, как показано в этом разделе.


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

Вкладка Input (ввод)

  • Emulate middle mouse button — эмулировать среднюю кнопку мыши
  • Accept clipboard from server — принимать буфер обмена от сервера
  • Send clipboard to server — отправлять буфет обмена на сервер
  • Pass system keys directly to server (full screen) — передавать системные клавиши напрямую на сервер (в полноэкранном режиме)
  • Menu key — клавиша для вызова меню

Вкладка Screen (экран)

  • Resize remote session on connect — при подключении изменить размер удалённой сессии
  • Resize remote session to the local window — изменить размер удалённой сессии по локальному окну
  • Full-screen mode — полноэкранный режим
  • Enable full-screen mode over all monitors — включить полноэкранный режим на всех мониторах


Вкладка Misc (прочее)

  • Shared (don’t disconnect other viewers) — совместно (не отключать других просмотрщиков)
  • Show dot when no cursor — показывать точку, когда нет курсора

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

Запускаем TightVNC Viewer:

Достаточно ввести IP адрес удалённого компьютера для подключения. Введите имя или IP-адрес. Чтобы указать номер порта, добавьте его после двух двоеточий (например, mypc::5902).

Options (опции):


Группа Format and Encodings (формат и кодирование)

  • Preferred encoding — предпочитаемый алгоритм кодирования (некоторые алгоритмы рассмотрены ранее в описании опций UltraVNC)
  • 256 colors (less traffic) — 256 цветов (меньше трафика)
  • Set custom compression level — настроить уровень сжатия
  • Allow JPEG, set image quality (poor, best, quality) — разрешить JPEG, установить качество изображения (плохое, хорошее, качество)
  • Allow CopyRect encoding — разрешить кодирование CopyRect

Группа Restrictions (ограничения)

  • View only (inputs ignored) — только просмотр (ввод игнорируется)
  • Disable clipboard transfer — отключить передачу буфера обмена

Группа Display (экран)

  • Scale by — масштабирование на
  • Full-screen mode — полноэкранный режим
  • Deiconify on remote Bell event — развёртывание из иконки при удалённом событии Bell


Группа Mouse (мышь)

  • Swap right and middle buttons — поменять местами правую и левую кнопки

Группа Mouse Cursor (курсор мыши)

  • Track remote cursor locally — отслеживать удалённый курсор локально
  • Let remote server deal with cursor — пусть удалённый сервер работает с курсором
  • Don’t show remote cursor — не показывать удалённый курсор

Группа Local Cursor Shape (форма локального курсора)

  • Normal dot — нормальная точка
  • Arrow — стрела
  • Small dot — маленькая точка
  • Do not show — не показывать

Группа Connecting (подключение)

  • Request shared session (keep clients already connected to the same server) — запросить общий сеанс (сохранить клиентов уже подключённых к тому же серверу)

Configure (конфигурация)

Настройка сервера tigervnc

Вкладка Security (безопасность)

Группа Session encryption (шифрование сессии)

  • None — без шифрование
  • Anonymous TLS — анонимное TLS
  • TLS with X.509 certificates — TLS с сертификатами X.509


Группа X.509 certificates – сертификаты X.509

  • Load X.509 Certificate — загрузить сертификат Load X.509
  • Load X.509 Certificate key — загрузить ключ сертификата Load X.509

ПРИМЕЧАНИЕ: Данные сертификаты можно сгенерировать также, как показано в этом разделе.

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


Вкладка Connections (подключения)

  • Accept connections on port — принимать подключения на порту
  • Disconnect idle clients after (seconds) — отключать бездействующих клиент после (секунд)

Группа Access Control (контроль доступа)

  • Only accept connections from the local machine — принимать подключения только от локальной машины
  • Add — добавить правила (принимать или отклонять подключения) для IP адресов

Вкладка Inputs (ввод)

  • Accept pointer events from clients — принимать события указателя от клиентов
  • Accept keyboard events from clients — принимать события клавиатуры от клиентов
  • Send raw keyboard events to applications — отправка необработанных событий клавиатуры приложениям
  • Accept clipboard updates from clients — принимать обновления буфера обмена от клиентов
  • Send clipboard updates to clients — отправить обновления буфера обмена клиентам
  • Allow input events to affect the screen-saver — разрешить входным событиям влиять на заставку
  • Disable local inputs while server is in use — отключить локальные входы, когда сервер используется


Вкладка Sharing (совместное использование)

  • Always treat new connections as shared — всегда рассматривать новые подключения как общие
  • Never treat new connections as shared — никогда не рассматривать новые подключения как общие
  • Use client’s preferred sharing setting — использовать настройки совместного соединения предпочитаемые клиентом
  • Non-shared connections replace existing ones — не совместные соединения заменяют существующие

Вкладка Desktop (рабочий стол)

Группа While connected — когда подключены

Группа When last client disconnects (когда последний клиент отключился)


Вкладка Capture Method (метод захвата)

  • Poll for changes to the desktop — опрашивать изменения на рабочем столе
  • Use VNC hooks to track changes — использовать VNC hook для отслеживания изменений
  • Poll console windows for updates — опрашивать консольные окна об обновлениях
  • Capture alpha-blended windows — захватывать альфа-смешанные окна

Вкладка Legacy (устаревшее)

  • Import VNС 3.3 Settings — импортировать настройки VNС 3.3
  • Only use protocol version 3.3 — использовать только протокол версии 3.

Настройка удаленного рабочего стола (vnc, x11vnc)

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

Меня потянуло на эксперименты с ssh, и то, что я получил в итоге — доступ с работы к домашнему компу — мне очень понравилось! Еще бы — классно управлять домашним компом, обновлять его и т.п. С девушкой даже с помощью festival разговаривал)))

Однако, захотелось пойти дальше, интересно, можно ли настроить удаленный доступ к рабочему столу, как позволяет это RAdmin в Windows? Можно конечно! Надо только настроить))

Покопался в интернете, нашел несколько статей про VNC — Virtual Network Computing, решил такое счастье сделать и у себя!
Для этого сначала необходимо было поставить несколько утилит:

sudo aptitude install vnc4-common vnc4server xvnc4viewer

Эти утилиты необходимы непосредственно для того, чтобы запускать удаленный сервер (vnc4server) и подключаться к нему с удаленного клиента (xvnc4viewer).
Установили! Теперь дело остается за малым: сначала нужно запустить vnc-сервер, а потом подключиться к нему.
Для запуска удаленного сервера, нужно в консоли набрать

vncserver

Если это первый запуск vncserver в системе с этой учётной записью пользователя, тогда вы должны ввести пароль, который клиенты будут использовать при подключении, после чего запустится сервер, который будет доступен на порту 5901. Кстати, при запуске сервера в консоль выведется номер дисплея (виртуального), на котором он будет доступен, отсчет ведется с 1 (так как 0 — текущий дисплей). Пример запуска:

igor@Voyageur:~$ vncserver
New 'Voyageur:1 (igor)' desktop is Voyageur:1
Starting applications specified in /home/igor/.vnc/xstartup
Log file is /home/igor/.vnc/Voyageur:1.log

Здесь строчка New ‘Voyageur:1 (igor)’ desktop is Voyageur:1 как раз говорит о том, что у меня компе запустился сервер на дисплее 1, доступен он на порту 5901.
Если vncserver запустить еще раз, то загрузится новый терминальный сервер :2 на порту 5902 и т.д.
Теперь попробуем зайти на этот сервер с удаленной машины. Для этого необходимо в консоли удаленного клиента ввести команду:

vncviewer __hostname__:1

В этой команде __hostname__ — это доменное имя или ip машины, на которой запущен удаленный сервер. Далее необходимо будет ввести пароль и в результате появится приблизительно вот такое окно:

VNC в Windows: настройка сервера и клиента -

Немного не то я ожидал увидеть если честно)) Начал разбираться, и оказалось, что vncserver запускает лишь новую сессию, а не подключается к текущей, именно для этого и нужны виртуальные дисплеи. А в этой сессии запущены twm (Tab Window Manager for the X Window System) и xterm.
Между прочим это все добро запускается из скрипта ~/.vnc/xtartup, который можно редактировать, удаляя ненужные и добавляя свои строчки запуска необходимых приложений. В самом верху скрипта есть небольшой комментарий:

# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc

То есть, чтобы получить нормальный рабочий стол, нужно раскомментировать 2 строчки. Я их раскомментировал, но ничего хорошего из этого у меня не вышло.
Посмотрел я на этот twm, и решил, что с этим убожеством работать нельзя. Я установил fluxbox (занимает всего 6 Мб) и в скрипте xstartup заменил строчку

twm &

на

fluxbox &

В итоге у меня получилось вот так:

VNC в Windows: настройка сервера и клиента -

Нормально для работы. Но не айс! Оперу можно запустить, еще некоторые приложения, но далеко не все (приложения kde выламываются)! Пробовал я вместо fluxbox’a запустить kde, но не пошло… Играет приветствие входа в систему, но вылетает окно с крахом плазмы и все, черный экран, занавес…

В итоге я получил удаленный доступ, но не такой как хотел! Мне-то хотелось иметь доступ к текущему рабочему столу, а не к мифическому дисплею 1, на котором загружается fluxbox, но не kde.

Что делать? Надо копать еще!!!
Я поискал в репозиториях пакеты, в названии которых присутствует «vnc», список оказался не очень большой, я начал читать комментарии к утилитам и библиотекам… В самом конце списка я увидел такую строчку:

p xvnc4viewer - Virtual network computing client software for X

Очень похоже на то, что мне нужно!
Я установил x11vnc…man у этой утилиты знатный, несколько тысяч строк)) После небольшого его изучения я более менее разобрался с процедурой запуска и назначением утилиты.
Итак, x11vnc является фактически удаленным сервером (как и vncserver), но позволяет получать доступ к уже существующей X-сессии!
На машине, к которой необходимо подключиться:

x11vnc -storepasswd

Эта команда позволит позаимствовать пароль для подключения к серверу из файла ~/.vnc/passwd (тут лежит пароль, который был задан при первом запуске vncserver). Далее непосредственно запустим x11vnc:

x11vnc -usepw -display :0

Опция -usepw задействует использования пароля при подключении к серверу, -display :0 — запускает сервер на нулевом дисплее (так, где открыта текущая X-сессия).
Теперь мы с удаленной машины можем подключиться к текущей X-сессии, выполнив

vncviewer __hostaname__:0

и введя пароль.

VNC в Windows: настройка сервера и клиента -

При закрытии окна удаленного рабочего стола, завершается и работа x11vnc (на сервере)
Таким образом, я получил то, что хотел))))
Напоследок приведу несколько опций для утилит vncserver, x11vnc и vncviewer, облегчающих траффик и жизнь))

vncserver:

x11vnc:
vncviewer:

  • -geometry 800×600 — устанавливает размер окна, в котором будет отображаться удаленный рабочий стол. Если указанный размер меньше размера удаленного стола, то появятся полосы прокрутки
  • -compressionlevel n — устанавливает уровень сжатия данных. Значение n варьируется от 0 до 9, 9 — наилучшее сжатие (качество, соответственно, хуже)
  • -quality m — влияет на качество картинки. m варьируется от 0 до 9, 0 — наихудшее качество изображения (меньше траффик)
  • -depth depth — если X-сервер поддерживает различные значения глубины цвета, то можно попытаться подобратьоптимальное значение (в битах)
  • -viewonly — опция, позволяющая подключившемуся пользователю только наблюдать за тем, что происходит на удаленной машине, средства управления (мышь, клавиатура) недоступны

P.S.

Кстати, если нужно, чтобы x11vnc запускался автоматически, то для этого его нужно добавить в автозагрузку: в Настройках системы выбрать пункт Автозагрузка (на второй вкладке), там добавить скрипт

x11vnc -usepw -display :0 -q -forever &

и указать, что он должен запускаться до старта KDE!

Настройки ultravnc server

Если вы запустили службу сервера UltraVNC, то рядом с часами появится иконка, по которой кликнув правой кнопкой мыши вы увидите меню с пунктами настройки и действий (далее перечислены самые значимые):


Окно Properties содержит следующие настройки, которые связаны с обновлением экрана сервера:

  • Poll Full Screen (Ultra Fast) — опрос всего окна
  • Poll Foreground Window — опрос фонового окна
  • Poll Window Under Cursor — опрос окна под курсором
  • Poll Console Window Only — опрос только консольного окна
  • Poll On Event Only — опрос только при событии

Изменение настроек опроса может привести к тому, что будет обновляться не вся область экрана. Это должно уменьшить количество передаваемых данных, но может стать причиной дискомфорта в работе.

  • System HookDll
  • Desktop Duplication (restart on change required) — Дублирование рабочего стола (требуется перезапуск при изменении)
  • Low Accuracy (Turbo Speed) — Низкая точность (турбо скорость)
  • Max Cpu — максимальное использование центрального процессора

Настройки Properties можно оставить такими, какие они есть по умолчанию.

Отличия powershell и cmd в windows


В Windows PowerShell уже давно устанавливается по умолчанию.

Чтобы открыть PowerShell, нажмите Win x и выберите Windows PowerShell (администратор):

В приглашении командной строки вы увидите PS и текущую рабочую директорию:

Чтобы открыть CMD нужно нажать Win r, напечатать cmd и нажать ENTER:


Приглашение командной строки CMD выглядит так:

В CMD можно запустить:

  • утилиты командной строки Windows
  • встроенные функции CMD
  • файлы .bat

В PowerShell можно запустить всё то же самое, что и в CMD, а также дополнительно:

  • команды языка PowerShell
  • скрипты PowerShell

В PowerShell сработает такая простая команда как dir:

dir


Но если выполнить эту команду в PowerShell и в CMD, то можно увидеть, что вывод этих команд различается.

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

dir /A

То в CMD она сработает, а в PowerShell завершится ошибкой.

Дело в том, что вместо реализации таких же утилит как в CMD, в PowerShell используются собственные командлеты, работа которых различается, например, выводом или поддержкой опций. В PowerShell сработают команды cd, ls, dir, cat, man, kill, mount, move, sort, pwd, wget, curl и другие, знакомые по Linux, но это НЕ ОЗНАЧАЕТ что эти команды поддерживают те же самые опции, что и опции в Linux.

Get-Alias

Панель управления tigervnc


При клике правой кнопкой мыши на иконку сервера TigerVNC в системном трее рядом с часами, открывается следующее контекстное меню:

  • Control Panel — панель управления
  • Options — опции
  • Add New Client — добавить нового клиента
  • Disconnect Clients — отключить клиента
  • Close VNC Server — закрыть сервер VNC

Панель управления содержит список подключённых клиентов и их статус (например, Full control — полный контроль и View-only — режим только просмотра):

Здесь вы можете выполнить следующие действия:

  • View-only — ограничить выбранного клиентом только возможностью просмотра
  • Full control — предоставить выбранному клиенту полный контроль
  • Stop updating — остановить обновление экрана для клиента
  • Kill Clients — отключить клиентов
  • Properties — свойства (настройки) подключения
  • Add New Client — добавить нового клиента
  • Kill All Clients — отключить всех клиентов
  • Disable New Clients — отключить возможность подключения новых клиентов

Приступим


Обновим список доступных пакетов.

# apt-get update

Если система свежеустановленная — стоит обновиться.

# apt-get -y upgrade

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

Устанавливаем Xfce и VNC server (любители GNOME, KDE, LXDE, etc. устанавливают оболочку по своему вкусу).

# apt-get install xfce4 xfce4-goodies tightvncserver


Создаем пользователя от которого будем запускать vnc сервер.

Создание скрипта автостарта vnc сервера.

Сначала убьем запущенный дисплей :1 (если он запущен).

$ vncserver -kill :1  

создаем скрипт запуска

$ sudo nano /usr/local/bin/myvnc


Добавляем следующие строки в файл:

#!/bin/bash
PATH="$PATH:/usr/bin/"
DISPLAY="1"
DEPTH="16"
GEOMETRY="1024x768"
OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}"

case "$1" in
start)
/usr/bin/vncserver ${OPTIONS}
;;

stop)
/usr/bin/vncserver -kill :${DISPLAY}
;;

restart)
$0 stop
$0 start
;;
esac
exit 0

если требуется — в скрипте можно изменить глубину цвета или разрешение экрана.

Делаем файл исполняемым.

$ sudo chmod  x /usr/local/bin/myvnc

Управление службой сервера ultravnc

Следующие команды нужно выполнять в PowerShell.

Для проверки статуса службы:

Get-Service -Name uvnc_service


Для отключения службы (включится после перезагрузки)

Stop-Service -Name uvnc_service

Для включения службы:

Start-Service -Name uvnc_service

Ручное включение службы (при запуске компьютера служба не будет включаться, но вы можете запустить её вручную):

Set-Service -Name uvnc_service -StartupType Manual

Отключение службы (при загрузке компьютера служба не включится):

Set-Service -Name uvnc_service -StartupType Disabled


Автоматическое включение службы (служба включится при загрузке компьютера):

Set-Service -Name uvnc_service -StartupType Automatic

Установка и настройка x11vnc на ubuntu 14.04

Первым делом давайте удалим Vino, всё равно корректной работы от него добиться не удаётся, да и в функциональности X11vnc
он несколько проигрывает.

Для этого открываем терминал и вводим:

#sudo apt-get remove vino

По запросу вводим пароль администратора, подтверждаем удаление.

Теперь установим X11vnc (необходимо подключение к сети Интернет), всё очень просто – вводим в терминале команду:

#sudo apt-get install x11vnc

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

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

#x11vnc -storepasswd

Установка ultravnc

Во время установки, если вам нужен только клиент или только сервер VNC, то вы можете выбрать желаемые компоненты:


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

  • Register UltraVNC Server as system service — зарегистрировать UltraVNC сервер как системную службу
  • Start or restart UltraVNC service — запустить или перезапустить службу UltraVNC
  • Create UltraVNC desktop icons — создать иконки UltraVNC на рабочем столе
  • Associate UltraVNC Viewer with the .vnc file extension — связать UltraVNC Viewer с расширением .vnc

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

После установки будет создано 4 ярлыка:

  • UltraVNC Launcher
  • UltraVNC Server
  • UltraVNC Viewer
  • UltraVNC Repeater

Ярлыки tigervnc

После установки программа создаёт много ярлыков в меню Пуск:


VNC сервер (в режиме службы)

  • Configure VNC Service — настройка службы VNC
  • Register VNC Service — регистрация службы VNC
  • Start VNC Service — запуск службы VNC
  • Stop VNC Service — остановка службы VNC
  • Unregister VNC Service — отмена регистрации службы VNC

VNC сервер (пользовательский режим)

  • Configure VNC Server — настройка сервера VNC
  • Run VNC Server — запуск сервера VNC

Просмотрщик (клиент):

  • Listening TigerVNC Viewer — просмотрщик TigerVNC в режиме прослушивания
  • TigerVNC Viewer — просмотрщик TigerVN


Эти же ярлыки вы найдёте в папке C:ProgramDataMicrosoftWindowsStart MenuProgramsTigerVNC 64-bit

Ярлыки tightvnc

После установки TightVNC создаются следующие ярлыки для запуска и управления VNC.

TightVNC Server (Application Mode) — TightVNC сервер (режим приложения)

  • Run TightVNC Server — запустить сервер TightVNC
  • TightVNC Server – Control Interface — контрольный интерфейс сервера TightVNC
  • TightVNC Server – Offline Configuration — офлайн настройка сервера TightVNC

TightVNC Server (Service Mode) — TightVNC сервер (режим службы)

  • Register TightVNC Service — зарегистрировать службу TightVNC (если вы не сделали этого при установке)
  • Start TightVNC Service — запустить службу TightVNC
  • Stop TightVNC Service — остановит службу
  • TightVNC Service – Control Interface — контрольный интерфейс службы TightVNC
  • TightVNC Service – Offline Configuration — офлайн настройка службы TightVNC
  • Unregister TightVNC Service — отменить регистрацию службы TightVNC

Запуск клиента

  • TightVNC Viewer — запустить просмотрщик (клиент) TightVNC
Похожее:  Остаток трафика для домашнего интернета и телевидения в МТС

Добавить комментарий

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