Debian vnc server настройка

Обновлено: 06.07.2024

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

Подготовка

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

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

В репозиториях 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 с помощью команды 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-серверу

Настроить 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 Server на Debian/Ubuntu/Linux Mint

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

Чтобы установить VNC, достаточно выполнить команду:

Вы можете использовать любого пользователя для входа в свой VNC Server, но по соображениям безопасности, я собираюсь создать VNC пользователя для моего VNC Server-а:

Устанавливаем для него пароль:

Теперь переключимся на этого пользователя (vncuser) для создания некоторых конфигурационных файлов для VNC:

После этого, запускаем VNC сервер:

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

На рисунке ниже видно как стартанул наш vnc сервер, но нам его нужно немного подредактировать:

запуск vncserver

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

Измените немного конфигурацию по вашему усмотрению ( у меся я поправил разрешение экрана), мой готовый конфигурационный файл я выложил и прочитать его можно тут, чтобы скачать используйте команду:

Установка Gnome X Window для Ubuntu (на стороне клиента, можно установить и другую среду):

Вот еще моя статья как установить другую графическую оболочку:
Установка GUI на Debian/Ubuntu/Mint

PS: не забываем прописывать нужную строку в конфиг xstartup.

Если вы решите использовать другие графические интерфейсы:

Для Gnome-Desktop Environment

Для KDE-Desktop Environment

Для MATE-Desktop Environment

Для LXDE-Desktop Environment

Для Cinnamon-Desktop Environment

Для Openbox-Desktop Environment

Я собрал это все до кучи и закоментировал не нужные строки, оставил только gnome, т.к я его устанавливал. Вы можете скачать данный конфиг и отредактировать его для настройки своего VNC сервера (для своего графического интерфейса):

Я приведу пример со своим использованием, я юзаю windows 8, по этому я скачал vnc- viewer.

Использование VNC Viewer для просмотра и управления VNC-сервера с удаленного хоста.

Перед тем как использовать vnc-viewer, нужно его скачать. После чего запускаем его и вводим в поле IP адрес хоста (у меня это сделать не получилось и не знаю по чему), я использую виртуальную машину, по этому я ввел следующее:
ubuntu:1

Открылось окно и я ввел свой пароль, который я вводил (создал) немного выше. Вот и все, работает все)

Для начала создадим следующее:

Затем создайте пустой сценарий инициализации и сделайте его исполняемым:

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

Обновим все это:

Сейчас перезапустим наш сервер:

Если вы не можете получить доступ к VNC-сервера, то убедитесь, что вы открыли порты VNC в IPTables:

если не открыли, то открываем их:

и сохраняем все изменения:

Делаем возможность подключения для нескольких пользователей.

Создание локального пользователя, с помощью следующей команды:

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

vncserver для дополнительного сервера

vncserver для дополнительного сервера

Перейдем в домашнюю директорию и отредактируем файл XStartup:

и вставляем в этот файл тоже самое что и для моего первого юзера, берем его от сюда.

Теперь откройте файл /etc/vncserver/vncservers.conf как рут пользователь:

Добавим в уже имеющийся конфиг:

Ребутим наш сервер:

Предотвращение запуск Gnome при загрузке на сервере.

Гном автоматически запускается при загрузке в Ubuntu 12.04 LTS, если мы подключить монитор к нашему серверу мы увидим, что GUI запустился и ждет чтобы мы вошли, это не очень удобно. Сейчас мы это исправим. Чтобы это предотвратить нужно отредактировать файл gdm.conf:

Нужно в этом файле конфигурации закомментировать 6 строчек:

VNC шифрование через ssh туннель

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

В Ubuntu нужно отредактировать:

проксирование vnc-server на localhost

проксирование vnc-server на localhost

Запустите PuTTY/ Kitty, введите IP-адрес или имя хоста сервера VNC:

использование vnc через kitty

использование vnc через kitty

Переходим на другую вкладку, Session->Connection->SSH.

использование vnc через kitty, настройка

использование vnc через kitty, настройка

Через команду можно посмотреть что все работает:

После чего уже запускаем непосредственно, vnc viewer и прописываем заместо нашего реального ИП, localhost:1 (или 2). Вводим пароль и можно использовать.

4 thoughts on “ Установка и настройка VNC Server на Debian/Ubuntu/Linux Mint ”

Все настроил как тут описано, но в итоге после отключения завершается сеанс, это очень не удобно.
Как сделать что бы он не завершался

Я думаю что Вы не прописали (добавили) автозапуск vncserver-а.


Установите VNC на Debian 10 Buster

Шаг 1. Перед установкой любого программного обеспечения важно убедиться, что ваша система обновлена, выполнив следующие команды apt-get в терминале:

Шаг 2. Установка VNC Server на Debian 10.

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

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

Шаг 3. Настройте VNC-сервер.

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

Следующим шагом будет создание файла модуля systemd с именем : vncserver@ . service

Вставьте следующий контент:

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

Шаг 4. Подключение к VNC-серверу.

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


Если вы используете шпатлевку, вам необходимо настроить ssh-туннелирование. Давайте посмотрим на команду ниже, чтобы включить туннелирование ssh в Linux:

Поздравляю! Вы успешно установили VNC . Благодарим за использование этого руководства для установки VNC в системе Debian 10 Buster. Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить официальный сайт VNC .

На рисунке ниже видно как стартанул наш vnc сервер, но нам его нужно немного подредактировать:

vncserver

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

После чего запускаем нашу сессию с разрешением экрана 1024×600:

Установка Gnome X Window для Ubuntu (на стороне клиента, можно установить и другую среду): PS: не забываем прописывать нужную строку в конфиг xstartup. Если вы решите использовать другие графические интерфейсы: После перезагрузки сервера, мы не будем иметь возможность подключиться к серверу с VNC, это потому, что команда “vncserver -geometry 1024×600″ , что мы набрали выше не является постоянным. Чтобы решить эту проблему, я будем использовать отличный сценарий Джастин Buser.Для начала создадим следующее: VNCSERVERS="1:vncuser"
VNCSERVERARGS[1]="-geometry 1024x600 -depth 24" Затем создайте пустой сценарий инициализации и сделайте его исполняемым: Если вы не можете получить доступ к VNC-сервера, то убедитесь, что вы открыли порты VNC в IPTables:

Через команду можно посмотреть что все работает:

После того как будут установлены все эти пакеты, нужно будет открыть файл /etc/default/locale и в нем отредактировать две первые строки заменив их на эти:

Если ошибка аутентификации — назначаем пароль командой vncpasswd

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

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

Устанавливаем sudo (в Debian данный пакет не установлен по умолчанию).

Добавляем пользователя vnc в группу sudo.

Переходим под пользователя vnc.

Запускаем vnc сервер.

Если это первый запуск vnc сервера, будет создан конфиг файл и запрошены некоторые параметры:

по умолчанию порт vnc сервера будет 5901, порт каждого следующего дисплея будет увеличиваться на 1 (5902,5903,…).

Проверить запущен ли VNC сервер и на каком порту слушает можно следующей командой.

Убить конкретный дисплей можно так:

:1 — какой дисплей нужно убить.

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

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

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

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

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

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

использование созданного нами скрипта:

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

Читайте также: