Vnc viewer linux debian

Подключение к удаленному компьютеру по VNC

Работа с VNC-клиентом. Материал ориентирован на неопытного пользователя.

1. Установка VNC-клиента
2. Подключение VNC-клиента к удаленному компьютеру
3. Отключение VNC-клиента от удаленного компьютера
4. Тюнинг VNC-клиента
5. Частые проблемы

Для работы с удаленным компьютером по VNC на компьютере пользователя нужно запустить программу-клиент (VNC viewer, VNC client). Эта программа передает на удаленный компьютер данные о нажатиях на клавиши и о движениях мыши, сделанных пользователем, и показывает информацию, предназначенную к выводу на экран.

1. Установка VNC-клиента

Для ОС Windows можно бесплатно скачать и инсталлировать VNC-клиент UltraVNC и TightVNC.

Mac OS X начиная с версии 10.5 имеет поддержку VNC-клиента в RemoteDesktop. Для предыдущих версий можно использовать VNC-клиенты JollysFastVNC и Chicken.

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

apt-get install vncviewer

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

yum install vnc

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

pkg_add -r tightvnc

2. Подключение VNC-клиента к удаленному компьютеру

Для подключения VNC-клиента к удаленному компьютеру требуется указать его IP-адрес или DNS-имя, и номер дисплея (по умолчанию, :0) или номер TCP-порта (по умолчанию, 5900). Если VNC-сервер требует авторизации, то при подключении к нему VNC-клиент запросит пароль. Обратите внимание, что пароль доступа к VNC-серверу не связан с каким-либо аккаунтом (учетной записью пользователя) на удаленном компьютере, а служит только для ограничения доступа к дисплею VNC-сервера.

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

Так как на компьютере одновременно могут работать несколько VNC-серверов, для их разделения используют параметр номер дисплея. Например, один VNC-сервер может быть запущен на дисплее :0, другой — на дисплее :1. Каждому номеру дисплея соответствует номер TCP-порта, на котором VNC-сервер принимает соединения. Номер порта для дисплея получается прибавлением номера дисплея к базовому номеру порта — 5900. Дисплею :0 соответствует TCP-порт 5900, дисплею :1 — порт 5901.

3. Отключение VNC-клиента от удаленного компьютера

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

4. Тюнинг VNC-клиента

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

Главный параметр, который влияет на объем передаваемых данных — алгоритм кодирования передаваемой графики. Для уменьшения объема и, соответственно, ускорения работы, рекомендуется использовать алгоритмы Tight, ZLib, ZRLE — по сравнению с несжатыми данными (Raw), они обеспечивают сжатие в десятки раз, заметно нагружая процессор. Эти алгоритмы кодирования обеспечивают комфортную работу даже на каналах со скоростью 256-512 Кбит/сек.

Для сокращения объема передаваемой по сети информации также можно устанавливать высокий уровень сжатия (Compression Level, Compression Value), низкий уровень качества JPEG (JPEG Quality) и включать режим уменьшения количества цветов (-bgr233, Restricted colors). Самый большой эффект из них при заметном снижении качества изображения дает режим уменьшения количества цветов — объем передаваемой информации уменьшается в 1.5-3 раза, соответственно, в 1.5-3 раза ускоряется отображение на экране.

JPEG применяется алгоритмом кодирования Tight для сжатия участков экрана, содержащих фотографии и другие сложные изображения с большим числом цветов. Использование Tight+JPEG сокращает в 2-5 раз объем передаваемых при этом данных. Другие алгоритмы кодирования JPEG не поддерживают.


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

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

Полноцветный режим 256 цветов (BGR233)
Объем Время Объем Время
ZLib 11 Кб 0.09 сек 7 Кб 0.06 сек
HexTile 208 Кб 1.6 сек 118 Кб 0.95 сек
Raw 248 Кб 2 сек 128 Кб 1 сек
Читайте также:  Конверты windows 10 pro
5. Частые проблемы
Не удается подключиться к VNC-серверу
Медленная работа через достаточно быстрый канал

Если VNC-клиент не может согласовать с VNC-сервером использование алгоритм кодирования графики с компрессией данных, выбирается алгоритм по умолчанию — Raw, который передает данные без сжатия. Также кодирование без сжатия или с низким уровнем сжатия может автоматически выбираться VNC-клиентом при работе через быструю локальную сеть. Данную проблему можно исправить, принудительно указав в настройках VNC-клиента алгоритм кодирования с высоким уровнем сжатия — ZLib, ZRLE, Tight.

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

Источник

Как установить и настроить VNC в Debian 9

В этом руководстве описывается, как установить и настроить сервер VNC в Debian 9. Мы также покажем вам, как создать туннель SSH и безопасно подключиться к серверу VNC.

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

Подготовка

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

Установка среды рабочего стола

Скорее всего, на вашем сервере Debian не будет установлена среда рабочего стола. Наш первый шаг — установить легкую среду рабочего стола.

В репозиториях Debian доступно несколько окружений рабочего стола (DE). Мы будем использовать Xfce в качестве предпочтительной среды рабочего стола. Он быстрый, стабильный и легкий, что делает его идеальным для использования на удаленном сервере.

Обновите индекс пакетов и установите Xfce на свой сервер Debian с помощью следующих команд:

В зависимости от вашей системы загрузка и установка пакетов Xfce может занять некоторое время.

Установка VNC-сервера

В репозиториях Debian также есть несколько различных серверов VNC, таких как TightVNC , TigerVNC и x11vnc . Каждый сервер VNC имеет свои сильные и слабые стороны с точки зрения скорости и безопасности.

Мы будем использовать TigerVNC, который является активно поддерживаемым высокопроизводительным сервером VNC. Чтобы установить TigerVNC на ваш сервер Debian, выполните следующую команду:

После установки сервера VNC запустите команду vncserver чтобы создать начальную конфигурацию и установить пароль. Не используйте sudo при выполнении следующей команды:

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

Когда вы запускаете команду vncserver в первый раз, она создаст и сохранит файл паролей в каталоге

Обратите внимание на :1 после имени хоста в выходных данных выше. Это указывает номер порта дисплея, на котором работает сервер vnc. В нашем случае сервер работает на TCP-порту 5901 (5900 + 1). Если вы создадите второй экземпляр с vncserver он будет работать на следующем свободном порту, например :2 , что означает, что сервер работает на порту 5902 (5900 + 2).

Важно отметить, что при работе с серверами VNC :X — это порт дисплея, который относится к 5900+X

Перед тем как перейти к следующему шагу, остановите экземпляр VNC с помощью команды vncserver с параметром -kill и номером сервера в качестве аргумента. В этом случае сервер работает на порту 5901 ( :1 ), поэтому мы остановим его с помощью:

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

Теперь, когда на машине установлены и Xfce, и TigerVNC, нам нужно настроить TigerVNC для использования Xfce. Для этого создайте следующий файл:

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

/.vnc/xstartup также должен иметь разрешения на выполнение. Выполните следующую команду chmod чтобы убедиться, что разрешения верны:

Если вам нужно передать дополнительные параметры на сервер VNC, вы можете создать файл с именем config и добавить по одному параметру в каждой строке. Вот пример:

Создание файла модуля Systemd

Файл модуля systemd позволит нам легко запускать, останавливать и перезапускать службу VNC по мере необходимости.

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

Сохраните и закройте файл.

Notify Systemd что новый vncserver@.service файл существует , выполнив следующую команду:

Затем включите службу:

Число 1 после знака @ определяет порт дисплея, на котором будет работать служба VNC. Как мы обсуждали в предыдущем разделе, поскольку мы используем 1 сервер VNC будет прослушивать порт 5901 .

Запустите службу VNC, выполнив:

Убедитесь, что служба успешно запущена:

Подключение к VNC-серверу

VNC не является зашифрованным протоколом и может подвергаться перехвату пакетов. Рекомендуемый подход — создать туннель SSH, который будет безопасно перенаправлять трафик с вашего локального компьютера на порт 5901 на сервер на том же порту.

Читайте также:  Как устанавливать windows movie maker

Настроить SSH-туннелирование в Linux и macOS

Если вы используете Linux, macOS или любую другую операционную систему на основе Unix на своем компьютере, вы можете легко создать туннель SSH с помощью команды ssh :

Вам будет предложено ввести пароль пользователя.

Не забудьте заменить username и server_ip_address своим именем пользователя и IP-адресом вашего сервера.

Настроить SSH-туннелирование в Windows

Если вы используете Windows, вы можете настроить SSH-туннелирование с помощью SSH-клиента PuTTY .

Откройте Putty и введите IP-адрес вашего сервера в поле Host name or IP address .

В меню « Connection разверните SSH и выберите « Tunnels . Введите порт сервера VNC ( 5901 ) в поле Source Port и введите server_ip_address:5901 в поле Destination и нажмите кнопку Add , как показано на изображении ниже:

Вернитесь на страницу Session чтобы сохранить настройки, чтобы не вводить их каждый раз. Теперь все, что вам нужно сделать, это выбрать сохраненный сеанс и войти на удаленный сервер, нажав кнопку « Open .

Подключение с помощью Vncviewer

Теперь, когда вы настроили SSH-туннелирование, пора открыть Vncviewer и подключиться к VNC-серверу по адресу localhost:5901 .

Вы можете использовать любую программу просмотра VNC, такую как TigerVNC, TightVNC, RealVNC, UltraVNC, Vinagre и VNC Viewer для Google Chrome .

В этом примере мы будем использовать TigerVNC. Откройте программу просмотра VNC, введите localhost:5901 и нажмите кнопку « Connect .

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

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

Выводы

К настоящему времени у вас должен быть запущен VNC-сервер, и вы можете легко управлять своим сервером Debian 9 с локального компьютера с помощью графического интерфейса.

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

Не стесняйтесь оставлять комментарии, если у вас есть вопросы.

Источник

Установка и настройка VNC в Debian 10

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

Этот мануал поможет установить VNC на виртуальный сервер Debian 10 и настроить безопасное подключение при помощи SSH-туннеля. Сервер VNC будет использовать TightVNC, быстрый и легковесный пакет удалённого управления, поддерживающий работу даже при медленном интернете.

Требования

  • Сервер Debian 10, настроенный по этому мануалу.
  • Локальный компьютер с предустановленным клиентом VNC, который поддерживает VNC-соединения через SSH-туннель. Для Windows можно установить TightVNC, RealVNC или UltraVNC. Пользователи Mac OS X могут использовать встроенный пакет Screen Sharing или использовать кроссплатформенные приложения (например, RealVNC). Пользователи Linux могут выбрать vinagre, krdc, RealVNC, TightVNC и т.п.

1: Установка среды рабочего стола и сервера VNC

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

Чтобы установить на сервер указанные пакеты, обновите индекс и введите команду:

sudo apt update
sudo apt install xfce4 xfce4-goodies

Во время установки вам будет предложено выбрать раскладку клавиатуры из списка доступных параметров. Выберите клавиатуру вашего языка и нажмите Enter. Теперь установите TightVNC:

sudo apt install tightvncserver

Чтобы завершить начальную настройку сервера VNC после его установки и выбрать надёжный пароль, используйте команду vncserver.

Команда предложит установить и подтвердить пароль:

You will require a password to access your desktops.
Password:
Verify:

Пароль должен быть от шести до восьми символов. Более длинные пароли будут автоматически сокращены до 8 символов.

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

Затем начальная настройка VNC завершится и создаст конфигурационные файлы:

Would you like to enter a view-only password (y/n)? n
xauth: file /home/8host/.Xauthority does not exist
New ‘X’ desktop is your_hostname:1
Creating default startup script /home/8host/.vnc/xstartup
Starting applications specified in /home/8host/.vnc/xstartup
Log file is /home/8host/.vnc/your_hostname:1.log

2: Настройка сервера VNC

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

Читайте также:  Как открыть файл mdx windows 10

При первом запуске VNC использует порт 5901. VNC называет этот порт :1. VNC может запускать другие экземпляры на другие порты, которые будут называться :2, :3, и т.д.

Чтобы изменить настройки сервера VNC, нужно остановить экземпляр, использующий порт 5901.

vncserver -kill :1

Команда вернёт такое сообщение (PID будет отличаться):

Killing Xtightvnc process ID 17648

Создайте резервную копию файла xstartup:

Затем создайте новый файл xstartup:

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

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

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

Теперь нужно сделать файл исполняемым:

Во время запуска сервер вернёт:

New ‘X’ desktop is your_hostname:1
Starting applications specified in /home/8host/.vnc/xstartup
Log file is /home/8host/.vnc/your_hostname:1.log

3: Безопасное подключение к VNC

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

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

ssh -L 5901:127.0.0.1:5901 -C -N -l 8host your_server_ip

Флаг -L указывает привязки портов. В этом случае мы привязываем порт 5901 удаленного подключения к порту 5901 на локальном компьютере. Флаг -C включает сжатие, а -N сообщает ssh, что выполнять удаленную команду не нужно. Параметр -l указывает имя удаленного входа.

Не забудьте заменить 8host и your_server_ip своими данными.

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

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

После этого вы увидите стандартный экран Xfce. Выберите Use default config для быстрой настройки.

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

Нажмите CTRL + C в терминале, чтобы закрыть туннель SSH и вернуться в командную строку. Это также завершит ваш сеанс VNC.

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

Теперь нужно настроить сервер VNC как сервис system.

Создайте новый юнит-файл /etc/systemd/system/vncserver@.service:

sudo nano /etc/systemd/system/vncserver@.service

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

Добавьте в файл следующие строки. Обязательно измените значение User, Group, WorkingDirectory и имя пользователя в значении PIDFILE.

[Unit] Description=Start TightVNC server at startup
After=syslog.target network.target
[Service] Type=forking
User=8host
Group=8host
WorkingDirectory=/home/8host
PIDFile=/home/8host/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280×800 :%i
ExecStop=/usr/bin/vncserver -kill :%i
[Install] WantedBy=multi-user.target

Команда ExecStartPre останавливает VNC, если сервис уже запущен. Команда ExecStart запускает VNC и устанавливает глубину цвета – 24-битный цвет с разрешением 1280×800. Вы также можете изменить эти параметры в зависимости от потребностей.

Сохраните и закройте файл.

Затем сообщите системе про новый юнит файл.

sudo systemctl daemon-reload

sudo systemctl enable vncserver@1.service

Цифра 1, идущая за @, определяет, какой номер дисплея должен отображаться в сервисе, в этом случае это значение по умолчанию.

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

vncserver -kill :1

Теперь попробуйте запустить его как любой другой сервис systemd:

sudo systemctl start vncserver@1

Чтобы убедиться, что сервер запущен, проверьте его состояние:

sudo systemctl status vncserver@1
vncserver@1.service — Start TightVNC server at startup
Loaded: loaded (/etc/systemd/system/vncserver@.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2019-10-10 17:56:17 UTC; 5s ago
Process: 935 ExecStartPre=/usr/bin/vncserver -kill :1 > /dev/null 2>&1 (code=exited, status=2)
Process: 940 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280×800 :1 (code=exited, status=0/SUCCESS)
Main PID: 948 (Xtightvnc)
. . .

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

Снова запустите SSH туннель:

ssh -L 5901:127.0.0.1:5901 -C -N -l 8host your_server_ip

Создайте новое подключение с клиента VNC на localhost:5901, чтобы протестировать настройку.

Заключение

Теперь на сервере Debian 10 установлен сервер VNC. С его помощью вы можете управлять файлами, программами и настройками удалённого сервера (например, удаленно запускать веб-браузер).

Источник

Оцените статью