sonyps4.ru

Удалённое управление компьютером. Настройка UltraVnc

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

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

VNC была разработана компанией AT&T. Оригинальные исходные коды доступны на условиях лицензии GNU General Public License , как и многие варианты VNC, существующие на данный момент.

История

VNC была создана в Olivetti & Oracle Research Lab, которая в то время принадлежала Oracle Corporation. В 1999 году лаборатория была приобретена компанией AT&T, которая закрыла отдел разработок в 2002-м .

Название возникло из компьютерной сети тонких клиентов Videotile, которая представляла из себя LCD-панель с вводом пером и быстрым

Разработчики, работавшие над VNC в AT&T Research Lab:

  • Tristan Richardson
  • Quentin Stafford-Fraser
  • James Weatherall
  • Ken Wood
  • Andy Harter
  • Charlie McLachlan
  • Paul Webster

Устройство

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

VNC - очень простой протокол, основанный на графических примитивах: «Положить прямоугольник пиксельных данных на заданную координатами позицию». Сервер посылает небольшие прямоугольники клиенту. Такая схема в своей примитивной форме потребляет большую часть пропускной возможности канала. Для снижения нагрузки на канал используются различные методы. Существуют различные кодировки - методы определения наиболее эффективного способа передачи этих прямоугольников. Протокол VNC позволяет клиенту и серверу «договориться» о том, какая кодировка будет использована. Самый простой метод кодирования, поддерживаемый всеми клиентами и серверами - «raw encoding», при котором пиксели передаются в порядке слева-направо, сверху-вниз, и после передачи первоначального состояния экрана передаются только изменившиеся пиксели. Этот метод работает очень хорошо при незначительных изменениях изображения на экране (движения указателя мыши по рабочему столу, набор текста под курсором), но загрузка канала становится очень высокой при одновременном изменения большого количества пикселей, например, при просмотре видео в полноэкранном режиме.

По умолчанию VNC использует диапазон TCP-портов с 5900 до 5906. Каждый порт представляет собой соответствующий экран X-сервера (порты с 5900 по 5906 ассоциированы с экранами с:0 по:6). Java-клиенты, доступные во многих реализациях, использующих встроенный web-сервер для этой цели, например, в RealVNC, связаны с экранами таким же образом, но на диапазоне портов с 5800 до 5806. Многие компьютеры под управлением ОС Windows могут использовать лишь один порт из-за отсутствия многопользовательских свойств, присущих

Также существует возможность обратного подключения от сервера к клиенту. В этом случае клиент переводится в слушающий (Listening) режим и соединение инициируется сервером на 5500 TCP-порт клиента.

Порты могут быть изменены.

Безопасность

Изначально VNC не использует шифрование трафика, однако в процедуре аутентификации пароль не передается в открытом виде, а используется алгоритм "вызов-ответ" с и используется как при соединении через Интернет , так и в локальных сетях . SSH-клиенты позволяют создавать SSH-туннели как со всех основных платформ (Windows,

Также многие современные версии VNC поддерживают расширения стандартного протокола, которые реализуют шифрование и/или сжатие VNC-трафика, разграничения по спискам доступа (англ.) - официальная версия, поддерживаемая командой AT&T Laboratories

  • TightVNC (англ.) - альтернативная версия основанная на RealVNC
  • UltraVNC (англ.) - реализация VNC под Microsoft Windows
  • Vinagre (англ.) - VNC-клиент для рабочего окружения GNOME ОС Какое программное обеспечение VNC лучше?
  • Wikimedia Foundation . 2010 .

    Смотреть что такое "VNC" в других словарях:

      VNC - son las siglas en inglés de Virtual Network Computing (Computación Virtual en Red). VNC es un programa de software libre basado en una estructura cliente servidor el cual nos permite tomar el control del ordenador servidor remotamente a través de … Wikipedia Español

      VNC - son las siglas en inglés de Virtual Network Computing (Computación en Red Virtual). VNC es un programa de software libre basado en una estructura cliente servidor el cual nos permite tomar el control del ordenador servidor remotamente a través de … Enciclopedia Universal

      REDIRECT Virtual Network Computing … Википедия

      VNC

      Vnc - typische VNC Sitzung in einem Fenster Virtual Network Computing (VNC) ist eine Software, die den Bildschirminhalt eines entfernten Rechners (Server) auf einem lokalen Rechner (Client) anzeigt und im Gegenzug Tastatur und Mausbewegungen des… … Deutsch Wikipedia

      VNC - Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. VNC, sigle composé des trois lettres V, N et C, peut faire référence à : Virtual Network Computing, un logiciel d affichage graphique distant ;… … Wikipédia en Français

    Как помочь своим пользователям получить доступ к многопользовательской Linux-системе из любого места

    Архитектура VNC и X server

    В качестве графического интерфейса пользователя (GUI) в Linux®применяется X Window System (сокращенно X ). X - это необычный GUI в нескольких отношениях, в частности, это изначально сетевой интерфейс. X-сервер , по сути, представляет собой программу сетевого сервера. Программы сетевого сервера предоставляют клиентским программам доступ к локальным ресурсам, и это верно также для X-сервера. Особенность заключается в том, что в случае Х-сервера "локальные ресурсы" – это дисплей, клавиатура и мышь, с которыми работает пользователь. В самой распространенной конфигурации программы Х-клиента работают на том же компьютере, что и сервер. Таким образом, LibreOffice, GNU Image Manipulation Program (GIMP) или другие программы являются X-клиентами, использующими сетевые протоколы Х для приема данных от пользователя и отображения результатов на том же компьютере.

    Однако когда X используется в сети, пользователь сидит за компьютером X-сервера, а X-клиентами служат программы, которые нужно запускать на другом компьютере. Для этой конфигурации требуется второй сетевой протокол, устанавливающий соединение. Таким вторым протоколом может быть telnet, Secure Shell (SSH) или X Display Manager Control Protocol (XDMCP). Сервер этого протокола удаленного входа работает на компьютере X-клиента, а клиент удаленного входа ― на компьютере X-сервера. Сервер удаленного входа запускает X-клиенты, которые, в свою очередь, устанавливают соединение с X-сервером. иллюстрирует это взаимодействие. Пунктирными стрелками обозначено начало сеанса. (В случае XDMCP XDMCP-клиент встроен в программу X-сервера.)

    Рисунок 1. Для удаленного доступа X требуется клиент и сервер на обоих компьютерах

    Эта конфигурация прекрасно работает во многих локальных сетях, но не лишена недостатков. Например, для нее нужно инициировать двусторонний сетевой протокол, а этому может помешать межсетевой экран или маршрутизатор Network Address Translation (NAT). (SSH устраняет это препятствие, позволяя туннелировать X-сеансы.) Кроме того, хотя существуют X-серверы для большинства платформ, они обычно не устанавливаются на компьютерах под управлением Windows®. По этим и иным причинам многие предпочитают использовать другой протокол, Remote Frame Buffer (RFB), который реализован в семействе программ Virtual Network Computing (VNC).

    VNC - это кроссплатформенный инструмент, который обеспечивает удаленный доступ к Linux, UNIX®, Mac OS X, Windows и другим системам из клиента любого типа. Пользователь сидит за клиентским компьютером и обращается к удаленному серверному компьютеру. В Linux VNC-сервер либо зеркально отражает содержимое локального экрана Х-сервера на удаленный компьютер, либо содержит свой собственный X-сервер, способный работать независимо от того, что управляет локальным экраном. Результат показан на рисунке 2. Опять же, пунктирная стрелка указывает начало сеанса. Эта конфигурация устраняет необходимость в обратном сетевом соединении, а так как клиенты и серверы VNC имеются для многих операционных систем, одна и та же клиентская программа обеспечивает доступ к любому серверу.

    Рисунок 2. В состав VNC-сервера входит X-сервер, способный взаимодействовать с локальными программами через X-клиент

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

    Для решения этой проблемы можно объединить эти два подхода: перенастроить локальный XDMCP-сервер так, чтобы он помогал X-серверу, встроенному в VNC, обеспечить недостающую многопользовательскую аутентификацию. (Результирующая конфигурация иллюстрируется на рисунке 3. Пунктирная стрелка указывает начало сеанса.) Теперь, когда удаленные пользователи VNC обращаются к компьютеру VNC-сервера, они могут вводить имена пользователей и пароли доступа к своим собственным уникальным сеансам VNC, так что с компьютером могут работать сколько угодно пользователей.

    Рисунок 3. Добавление XDMCP к конфигурации VNC обеспечивает повышенную гибкость

    Настройка VNC-сервера

    Существует несколько способов запуска VNC, включая использование сценариев, привязку VNC к среде рабочего стола с помощью настольных инструментов и использование xinetd для прослушивания VNC-соединений. Этот последний подход и описывается здесь, так как он позволяет запускать VNC так, что тот может использовать XDMCP-сервер. Прежде чем перейти к инструкциям по настройке VNC для запуска посредством xinetd , необходимо выбрать VNC-сервер.

    Выбор VNC-сервера

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

    Установка xinetd

    Многие дистрибутивы устанавливают суперсервер xinetd по умолчанию, но не все. Так как описанный здесь метод предполагает использование xinetd , необходимо установить xinetd , если он еще не установлен. В большинстве дистрибутивов xinetd можно установить с помощью менеджера пакетов, например, вызывав apt-get install xinetd в дистрибутивах на основе Debian или zypper install xinetd в openSUSE.

    Может также потребоваться настройка процесса запуска xinetd . Обычно для одноразового запуска можно использовать сценарий запуска System V (SysV):

    # /etc/init.d/xinetd start

    Для настройки автоматического запуска xinetd при загрузке компьютера требуется знание методов работы сценариев запуска своего дистрибутива. Как правило, это делается с помощью утилиты, такой как chkconfig (используется в Fedora, openSUSE и родственных дистрибутивах), update-rc.d (используется в Debian и родственных дистрибутивах) или rc-update (используется в Gentoo), примерно так:

    # chkconfig xinetd on # update-rc.d xinetd enable # rc-update add xinetd default

    Введите только одну из этих команд или найдите эквивалент для своего дистрибутива.

    Заметим, что xinetd может не запускаться, если он не настроен на выполнение каких-либо служб. Так что, возможно, придется отложить его запуск до тех пор, пока вы не настроете xinetd для управления своим VNC-сервером.

    Настройка xinetd

    Серверы, которыми должен управлять xinetd , помещают файлы конфигурации в каталог /etc/xinetd.d. Таким образом, чтобы настроить xinetd на управление VNC, нужно создать или отредактировать файл с именем типа /etc/xinetd.d/vnc. (В некоторых дистрибутивах, таких как openSUSE, пакет VNC-сервера устанавливает такой файл.) В листинге 1 приведен пример.

    Листинг 1. Пример настройки VNC для xinetd
    service vnc { disable = no socket_type = stream protocol = tcp wait = no user = nobody server = /usr/bin/Xvnc server_args = -inetd -once -query localhost -geometry 1024x768 -depth 16 type = UNLISTED port = 5900 }

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

    • service . VNC с разными параметрами можно запустить через несколько портов, но в этом случае в первой строке листинга 1 нужно присвоить VNC отдельное имя службы для каждого порта.
    • server . Этот параметр нужно изменить так, чтобы он указывал на главный двоичный файл VNC-сервера, который обычно называется Xvnc.
    • server_args . Некоторые из этих значений вы почти наверняка захотите изменить, как описано ниже.
    • port . VNC использует порты с номерами 5900 и выше. Можно запустить сервер с разными значениями параметров через разные порты. В этом случае каждому экземпляру нужно назначить свой номер порта.

    Самая каверзная часть настройки xinetd - это настройка аргументов сервера. В качестве модели можно использовать аргументы, приведенные в листинге 1, изменив некоторые из них.

    • -query localhost . Этот параметр указывает, что сервер VNC X должен проверять систему localhost на аутентификацию XDMCP. Его можно изменить, если вы хотите использовать один компьютер в качестве транслятора для доступа к программам другого.
    • -geometry 1024x768 . Этот параметр устанавливает виртуальное разрешение сеанса VNC. Заметим, что это разрешение не обязательно должно соответствовать разрешению обычного X-сервера, работающего на компьютере сервера. Можно создать несколько записей, работающих с разным разрешением, чтобы пользователи могли входить в VNC-сервер с тем разрешением, которое удобно для их локальных систем.
    • -depth 16 . Этот параметр задает глубину цвета. Чем ниже значение, тем быстрее обновляется дисплей, но на экране с большим количеством цветов могут появиться искажения. Диапазон допустимых значений от 2 до 32.

    Имеются многие другие параметры, и некоторые из них зависят от VNC-сервера. Обращайтесь к документации по своему серверу VNC.

    Настройка XDMCP-сервера

    Большинство дистрибутивов Linux настраивают свои XDMCP-серверы только для управления локальным дисплеем. Чтобы обеспечить удаленный доступ, нужно перенастроить XDMCP-сервер так, чтобы принимать запросы на доступ с VNC-сервера, работающего на том же компьютере. Детали зависят от XDMCP-сервера. Три наиболее часто используемых в Linux ― это GNOME Display Manager (GDM), Light Display Manager (LightDM) и KDE Display Manager (KDM). Для других XDMCP-серверов, таких как XDM, требуются настройки, отличные от описанных здесь. В любом случае после перенастройки XDMCP-сервера его придется перезапустить.

    Редактирование файла конфигурации XDMCP

    Если вы не уверены, какой XDMCP-сервер используется в вашей системе, это можно определить, просмотрев листинг процесса с помощью строки dm , например:

    $ ps ax | grep dm 929 ? Ss 0:00 /usr/bin/kdm 962 tty7 Ss+ 0:19 /usr/bin/Xorg -br:0 vt7 -nolisten tcp -auth \ /var/lib/xdm/authdir/authfiles/A:0-pp4shb 30157 pts/3 S+ 0:00 grep --color=auto dm

    В первой строке этой распечатки указано, что работает KDM, поэтому для того чтобы VNC мог использовать XDMCP, нужно отредактировать файл конфигурации этого сервера. Файлы конфигурации большинства программ XDMCP имеют один и тот же формат. Они содержат разделы с именами, указанными в квадратных скобках, например . Строки, следующие за именем раздела, задают параметры через знак равенства, например: enable=true . В таблице 1 перечислены имена файлов конфигурации, имена разделов и параметры, которые необходимо определить, чтобы XDMCP работал на нескольких распространенных XDMCP-серверах Linux.

    Таблица 1. Параметры, позволяющие XDMCP поддерживать VNC для разных XDMCP-серверов

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

    Enable=true

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

    В OpenSUSE есть дополнительный файл конфигурации, который управляет некоторыми типами доступа, включая XDMCP-доступ: /etc/sysconfig/displaymanager. Откройте этот файл в текстовом редакторе и найдите следующую строку:

    DISPLAYMANAGER_REMOTE_ACCESS="no"

    Измените значение этого параметра на "yes" . Если оставить "no" , окно входа XDMCP-сервера при подключении к VNC-серверу отображаться не будет. В большинстве дистрибутивов такое изменение не требуется: этот файл использует только openSUSE.

    Перезапуск XDMCP-сервера

    Когда XDMCP-сервер настроен на поддержку удаленных соединений, его необходимо перезапустить. В дистрибутивах, которые запускают X посредством файла инициализации SysV, таких как Debian и Gentoo, это можно сделать с помощью параметра restart:

    # /etc/init.d/gdm restart

    В системе, которая для запуска X использует уровень runlevel, такой как Fedora или openSUSE, нужно перейти на уровень текстового режима (обычно 3), а затем вернуться на уровень GUI (обычно 5):

    # telinit 3 # telinit 5

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

    Тестирование и отладка

    Теперь можно входить в систему с удаленного компьютера с помощью VNC-клиента. Большинство дистрибутивов Linux содержат команду vncviewer , так что можно ввести:

    vncviewer

    Чтобы войти в систему remotename через VNC. Если VNC настроена и работает правильно, результат будет примерно таким, как показано на рисунке 4. Если настроить несколько сеансов VNC через разные порты, можно указать номер сеанса VNC, передав его как часть имени хоста. Введите:

    vncviewer:3

    Чтобы войти в сеанс 3 (через порт 5903).

    Рисунок 4. При настройке на работу с XDMCP VNC обеспечивает обычное приглашение Linux

    Если при выполнении этого теста вы не видите экран входа в систему XDMCP, придется произвести отладку. Ниже приведены некоторые рекомендации.

    • Если vncviewer сообщает, что в соединении было отказано, это, скорее всего, означает, что суперсервер на компьютере сервера VNC не настроен должным образом. Проверьте конфигурацию xinetd и попробуйте перезапустить суперсервер. Возможно также, что межсетевой экран блокирует доступ к компьютеру VNC-сервера.
    • Если VNC-клиент запускается и подключается к серверу, но вы видите только серый экран с курсором, который можно перемещать, проблема, скорее всего, в настройке XDMCP-сервера. Проверьте описанные выше параметры и перезапустите XDMCP-сервер.
    • Просмотрите файлы журнала событий, как это обычно делается при отладке. Может потребоваться поиск всех файлов журнала в каталоге /var/log по ссылкам на ваши xinetd , XDMCP-сервер и VNC-сервер.

    Вопросы безопасности VNC

    RFB не является безопасным протоколом; большинство VNC-клиентов и серверов не шифруют свои данные. (VNC шифрует свои собственные пароли, но при описанном здесь подходе эти пароли не используются.) Будьте осторожны при выборе способа и места установки VNC. Если вы хотите использовать VNC в незащищенной сети, возможны три варианта:

    • использовать виртуальную частную сеть (VPN);
    • туннелировать протокол через SSH;
    • использовать вариант VNC, поддерживающий шифрование, такой как TigerVNC с возможностью шифрования Transport Layer Security.

    При включении окон входа VNC, как описано в этой статье, во внешний мир открываются, по крайней мере, два порта (VNC и XDMCP). Оба порта можно ограничить правилами межсетевого экрана, чтобы свести к минимуму риск злоупотреблений. Заметим, что порт XDMCP (UDP 177) должен быть открыт только для localhost, поэтому правило межсетевого экрана для него может быть весьма ограничивающим.

    Заключение

    В целом соединение VNC и XDMCP ― полезный метод обеспечения удаленного входа с графическим интерфейсом пользователя для многопользовательских Linux компьютеров. Этот метод имеет преимущества по сравнению с прямым применением XDMCP в кроссплатформенной среде или при наличии проблем, вызванных межсетевым экраном или NAT. На многопользовательских компьютерах он предпочтительнее более распространенных способов прямого подключения VNC. При использовании этого метода необходимо рассмотреть вопросы безопасности. Будьте готовы настроить правила межсетевого экрана для ограничения нежелательного доступа извне и используйте шифрование, если данные передаются по ненадежной сети.

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

    В этой статье мы опишем процесс установки VNC на сервер с Ubuntu 16.04, а также узнаем, как создать защищённое соединение с этим сервером с помощью SSH туннеля. В качестве сервера VNC мы будем использовать TightVNC - быстрый и лёгкий пакет для удалённого доступа. Благодаря этому продукту наше VNC соединение будет работать надёжно даже на медленном соединении с Интернетом.

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

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

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

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

    Шаг 1 - Установка Desktop Environment и сервера VNC

    По умолчанию дроплеты с Ubuntu 16.04 не имеют графической среды рабочего стола и установленного сервера VNC, поэтому мы начнём с их установки. Мы установим пакеты последней версии среды рабочего стола Xfce и пакет TightVNC из репозиториев Ubuntu.

    На вашем сервере установите пакеты Xfce и TightVNC.

    • sudo apt install xfce4 xfce4-goodies tightvncserver

    Для завершения первичной настройки VNC сервера после его установки воспользуйтесь командой vncserver для установки надёжного пароля.

    • vncserver

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

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

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

    Сначала укажем команды, которые сервер VNC должен выполнять при запуске. Эти команды задаются в конфигурационном файле xstartup в поддиректории.vnc вашей домашней директории. Скрипт запуска был создан во время выполнения команды vncserver на предыдущем шаге, сейчас мы изменим некоторые команды для работы с Xfce.

    При первом запуске VNC запускает инстанс сервера по умолчанию на порту 5901. Этот порт называется портом отображения (display port), и в VNC он имеет обозначение:1 . VNC может запускать много инстансов на других портах, например, :2 , :3 , и так далее. При работе с серверами VNC помните, что порт отображения с номером:X работает на порту 5900+X .

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

    • vncserver -kill:1

    Вывод должен выглядеть похожим образом с точностью до идентификатора процесса (process ID):

    Killing Xtightvnc process ID 17648

    Перед внесением изменений в новый файл xstartup , сделаем резервную копию исходного файла.

    • mv ~/.vnc/xstartup ~/.vnc/xstartup.bak

    Теперь создадим новый файл xstartup используя nano или другой текстовый редактор.

    • nano ~/.vnc/xstartup

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

    #!/bin/bash xrdb $HOME/.Xresources startxfce4 &

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

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

    • sudo chmod +x ~/.vnc/xstartup

    Теперь перезапустим сервер VNC.

    • vncserver

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

    New "X" desktop is your_server_name.com:1 Starting applications specified in /home/sammy/.vnc/xstartup Log file is /home/sammy/.vnc/liniverse.com:1.log

    Шаг 3 - Тестирование рабочего стола VNC

    Теперь проверим соединение с вашим VNC сервером.

    Сначала создадим SSH соединение на вашей локальной машине для установки безопасного соединения с VNC. Вы можете сделать это с помощью терминала на Linux или OS X следующей командой. Не забудьте заменить username и server_ip_address на имя своего пользователя с правами sudo и IP адрес вашего сервера.

    • ssh -L 5901:127.0.0.1:5901 -N -f -l username server_ip_address

    Если вы используете графический клиент SSH, например, PuTTY, задайте server_ip_address в качестве IP адреса соединения, а также установите localhost:5901 в качестве пробрасываемого порта в настройках соединения SSH своего клиента.

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

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

    Шаг 4 - Создание файла сервиса VNC

    Сначала создадим юнит-файл /etc/systemd/system/[email protected] с помощью вашего текстового редактора:

    Скопируйте и вставьте в него следующее содержимое. Убедитесь, что вы изменили значение поля User и имя пользователя в поле PIDFILE на ваши значения.

    /etc/systemd/system/[email protected]

    Description=Start TightVNC server at startup After=syslog.target network.target Type=forking User=sammy PAMName=login PIDFile=/home/sammy /.vnc/%H:%i.pid ExecStartPre=-/usr/bin/vncserver -kill:%i > /dev/null 2>&1 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800:%i ExecStop=/usr/bin/vncserver -kill:%i WantedBy=multi-user.target

    • sudo systemctl daemon-reload

    Активируем юнит-файл.

    Остановим текущий инстанс сервера VNC, если он запущен.

    • vncserver -kill:1
    • sudo systemctl start vncserver@1

    Убедимся, что сервис запущен, этой командой:

    • sudo systemctl status vncserver@1

    Если запуск прошёл корректно, вывод должен выглядеть похожим образом:

    Название Вывод

    [email protected] - TightVNC server on Ubuntu 16.04 Loaded: loaded (/etc/systemd/system/[email protected]; enabled; vendor preset: enabled) Active: active (running) since Mon 2016-04-25 03:21:34 EDT; 6s ago Process: 2924 ExecStop=/usr/bin/vncserver -kill:%i (code=exited, status=0/SUCCESS) ... systemd: Starting TightVNC server on Ubuntu 16.04... systemd: pam_unix(login:session): session opened for user finid by (uid=0) systemd: pam_unix(login:session): session opened for user finid by (uid=0) systemd: Started TightVNC server on Ubuntu 16.04.

    Заключение

    Теперь у вас есть установленный и настроенный сервер VNC на вашем сервере с Ubuntu 16.04. Вы можете управлять своими файлами, программным обеспечением и настройками с помощью простого и знакомого графического интерфейса пользователя.

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

    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 28 161 times, 7 visits today)



    Загрузка...