Как установить и настроить VNC в Ubuntu 20.04

Установка и настройка VNC в Ubuntu 20.04

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

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

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

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

В репозиториях Ubuntu доступны различные среды рабочего стола. Один из вариантов — установить Gnome, которая является средой рабочего стола по умолчанию в Ubuntu 20.04. Другой вариант — установить Xfce . Это быстрая, стабильная и лёгкая среда рабочего стола, идеально подходящая для использования на удалённом сервере.

В этом руководстве мы установим Xfce. Введите следующие команды от имени пользователя с правами sudo :

 sudo apt update sudo apt install xfce4 xfce4-goodies

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

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

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

Мы установим TigerVNC. Это активно поддерживаемый высокопроизводительный VNC-сервер. Введите следующую команду для установки пакета:

 sudo apt install tigervnc-standalone-server

Настройка VNC-доступа

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

Установите пароль пользователя с помощью команды vncpasswd . Не используйте sudo при выполнении следующей команды:

 vncpasswd

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

 Password: Verify: Would you like to enter a view-only password (y/n)? n

Файл паролей хранится в каталоге ~/.vnc , который создается, если его нет.

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

~/.vnc/xstartup

 nano ~/.vnc/xstartup
 #!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec startxfce4

Сохраните и закройте файл. Приведённые выше команды автоматически выполняются при запуске или перезапуске сервера TigerVNC.

Файл ~/.vnc/xstartup также должен иметь права на исполнение. Используйте команду chmod , чтобы задать права доступа к файлу:

 chmod u+x ~/.vnc/xstartup

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

~/.vnc/config

 geometry=1920x1080 dpi=96

Теперь вы можете запустить VNC-сервер с помощью команды vncserver :

 vncserver
 New 'server2.linuxgazette.ru:1 (linuxize)' desktop at :1 on machine server2.linuxgazette.ru Starting applications specified in /home/linuxize/.vnc/xstartup Log file is /home/linuxize/.vnc/server2.linuxgazette.ru:1.log Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/linuxize/.vnc/passwd :1 to connect to the VNC server.

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

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

Вы можете получить список всех запущенных в данный момент сеансов VNC, введя:

 vncserver -list
 TigerVNC server sessions: X DISPLAY # RFB PORT # PROCESS ID :1 5901 5710

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

 vncserver -kill :1
 Killing Xtigervnc process ID 5710... success!

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

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

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

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

/etc/systemd/system/vncserver@.service

 [Unit] Description = Remote desktop service (VNC) After = syslog.target network.target [Service] Type = simple User = linuxize PAMName = login PIDFile = /home/%u/.vnc/%H%i.pid ExecStartPre = /bin/sh -c '/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :' ExecStart = /usr/bin/vncserver :%i -geometry 1440x900 -alwaysshared -fg ExecStop = /usr/bin/vncserver -kill :%i [Install] WantedBy = multi-user.target

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

Уведомить systemd о создании нового файла модуля:

 sudo systemctl daemon-reload

Включите запуск службы при загрузке:

 sudo systemctl enable vncserver@1.service

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

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

 sudo systemctl start vncserver@1.service

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

 sudo systemctl status vncserver@1.service
 ● vncserver@1.service - Remote desktop service (VNC) Loaded: loaded (/etc/systemd/system/vncserver@.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2021-03-26 20:00:59 UTC; 3s ago ...

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

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

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

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

 ssh -L 5901:127.0.0.1:5901 -N -f -l vagrant 192.168.33.10

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

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

Настройка SSH-туннелирования в Windows

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

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

VNC-шпатлевка

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

VNC SSH Tunnel Putty

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

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

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

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

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

VNC-просмотрщик

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

VNC SSH XFCE Desktop

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

Заключение

Мы показали вам, как установить и настроить работающий VNC-сервер в Ubuntu 20.04.

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

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

ubuntu vnc Не используете Ubuntu 20.04?
Выберите другую ОС:
центос 7 центос 8 дебиан 9 убунту 20.04

Связанные руководства

Источник

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

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