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

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

 

VNC означает виртуальные сетевые вычисления. Это поможет вам удаленно управлять вашей машиной Ubuntu. Сервер VNC использует протокол удаленного буфера кадров (RFB) для удаленного управления другим компьютером.

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

В этом руководстве будут рассмотрены шаги по настройке и настройке VNC в Ubuntu 20.04 с использованием TightVNC.

Установите среду рабочего стола и сервер VNC

Во-первых, давайте установим среду рабочего стола на ваш сервер Ubuntu, потому что она не установлена ​​по умолчанию. Есть много вариантов: GNOME, MATE, XFCE и так далее.

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

На сервере Ubuntu выполните следующую команду, чтобы обновить список пакетов:

$ sudo apt update

Затем давайте установим среду рабочего стола XFCE:

$ sudo apt install xfce4 xfce4-goodies gnome-icon-theme

Здесь я использую сервер TightVNC , другие популярные серверы VNC — это TigerVNC и x11vnc .

Установите tightvnc:

$ sudo apt install tightvncserver

Затем давайте запустим экземпляр сервера VNC, и вам нужно установить пароль для установленного этого сервера:

$ vncserver

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

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

Отмечено, что длина пароля составляет от 6 до 8 символов. Если вы введете более длинный пароль, он будет автоматически обрезан.

Если вы хотите изменить пароль VNC-сервера, запустим:

$ vncpasswd

Настроить VNC-сервер

Когда вы запускаете экземпляр сервера VNC в первый раз, будет создан файл начальной конфигурации: ‘~ / .vnc / xstartup’, и сервер VNC прослушивает порт 5901. Мы называем этот порт портом отображения. Мы можем запустить множество экземпляров сервера VNC, и каждый экземпляр имеет свои собственные порты дисплея: первый дисплей слушает порт 5901, второй дисплей слушает порт 5902 и так далее.

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

Во-первых, остановим текущий экземпляр VNC-сервера, работающий на TCP-порту 5901:

$ vncserver -kill :1
Установка и настройка VNC в Ubuntu 20.04

Затем сделайте резервную копию текущего файла конфигурации:

$ cp ~/.vnc/xstartup ~/.vnc/xstartup.bak

Теперь измените файл xstartup с помощью вашего любимого редактора, как показано ниже:

#!/bin/sh

xrdb $HOME/.Xresources
startxfce4 &

Перезагрузите сервер VNC:

$ vncserver -localhost
Установка и настройка VNC в Ubuntu 20.04

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

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

Давайте установим SSH- соединение на локальном компьютере, которое перенаправляет трафик на «localhost» для VNC. Запустите терминал на вашем локальном компьютере (macOS или Linux), выполните следующую команду:

$ ssh -L 59000:localhost:5901 -C -l <user> <server_ip_address>

-L 59000: localhost: 5901 : порт на локальном компьютере 59000 будет перенаправлен на целевой сервер: localhost: 5901

-C : сжать данные для ускорения соединения

-l <user> <server_ip_address> : указать пользователя, к которому вы войдете, и IP-адрес сервера Ubuntu 20.04

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

В случае использования ОС Windows вы можете настроить SSH-туннель с помощью SSH-клиента PuTTY.

Откройте PuTTY, затем введите IP-адрес вашего сервера Ubuntu:

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

Затем разверните подменю Connection> SSH> Tunnels, введите «5901» в «Source port» и «<server_ip_address>: 5901» в «Destination». Затем нажмите кнопку «Добавить», как показано ниже:

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

Используя туннель SSH, подключение VNC к вашему серверу Ubuntu 20.04 разрешает только машины, которые могут подключаться к серверу по ssh. Это не позволяет каждой машине просто подключаться к порту 5901.

Теперь вы можете подключиться к серверу Ubuntu удаленно с помощью клиента VNC. В этом руководстве мы используем программу просмотра VNC. Откройте клиент VNC, затем введите IP-адрес сервера и порт 5901:

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

Вы успешно подключились к рабочему столу XFCE вашего сервера Ubuntu:

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

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

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

Настройте VNC-сервер как службу systemd

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

Давайте создадим новый файл с именем ‘vncserver@.service’ в каталоге ‘/etc/systemd/system/’ на вашем сервере Ubuntu:

$ sudo vim /etc/systemd/system/vncserver@.service

Добавьте следующее содержимое в файл vncserver @ .service и убедитесь, что значения в строках 7, 8, 9 и 13 соответствуют вашей среде.

Установка и настройка VNC в Ubuntu 20.04
[Unit]
Description=Start TightVNC server at startup
After=syslog.target network.target

[Service]
Type=forking
User=ubuntu
Group=ubuntu
WorkingDirectory=/home/ubuntu

PIDFile=/home/ubuntu/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 -localhost :%i
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

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

$ sudo systemctl daemon-reload

Включите сервис:

$ sudo systemctl enable vncserver@1.service

Вывод:

Created symlink /etc/systemd/system/multi-user.target.wants/vncserver@1.service → /etc/systemd/system/vncserver@.service.

Убить запущенный экземпляр:

$ vncserver -kill :1

Killing Xtightvnc process ID 3159

Затем снова запустите эту службу 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 Sun 2020-08-16 17:37:51 UTC; 2min 2s ago
    Process: 4611 ExecStartPre=/usr/bin/vncserver -kill :1 > /dev/null 2>&1 (code=exited, status=2)
    Process: 4615 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 -localhost :1 (code=exited, status>
   Main PID: 4623 (Xtightvnc)
      Tasks: 129 (limit: 7125)
     Memory: 187.5M
...

Заключение

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

Спасибо за чтение и оставьте свое предложение в разделе комментариев ниже.