Поиск по сайту:

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


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

В этой статье мы объясним, как установить и настроить VNC-сервер в версии Ubuntu 18.04 для настольных компьютеров с помощью программы tigervnc-server.

Тестовая среда

VNC Server: 192.168.56.108
VNC Client: 192.168.56.2

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

Как я уже сказал, VNC — это система общего доступа к рабочему столу, поэтому на вашем сервере Ubuntu необходимо установить среду рабочего стола. Вы можете установить DE по вашему выбору, выполнив соответствующие команды ниже. Для целей этой статьи мы установим Ubuntu Gnome (официальная версия).

sudo apt-get install ubuntu-desktop		#Default Ubuntu desktop
sudo apt install ubuntu-gnome-desktop	        #Ubuntu Gnome (Official flavor)
sudo apt-get install xfce4			#LXDE
sudo apt-get install lxde			#LXDE
sudo apt-get install kubuntu-desktop		#KDE

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

Tigervnc-server — это высокоскоростная многоплатформенная программа VNC, которая запускает сервер Xvnc и запускает параллельные сеансы Gnome или другой среды рабочего стола на рабочем столе VNC.

Чтобы установить сервер TigerVNC и другие связанные пакеты в Ubuntu, выполните следующую команду.

sudo apt install tigervnc-standalone-server tigervnc-common tigervnc-xorg-extension tigervnc-viewer

Теперь запустите VNC-сервер, выполнив команду vncserver от имени обычного пользователя. Это действие создаст исходную конфигурацию, хранящуюся в каталоге $HOME/.vnc, а также предложит вам установить пароль для входа.

Введите пароль (длина которого должна быть не менее шести символов) и подтвердите/проверьте его. Затем установите пароль только для просмотра, если хотите, следующим образом.

vncserver
ls -l ~/.vnc 

Далее нам нужно настроить DE для работы с сервером VNC. Итак, остановите сервер VNC с помощью следующей команды, чтобы выполнить некоторые настройки.

vncserver -kill :1

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

vi ~/.vnc/xstartup

Добавьте следующие строки в файл. Эти команды будут автоматически выполняться при каждом запуске или перезапуске сервера TigerVNC. Обратите внимание, что команды могут различаться в зависимости от установленной вами DE.

#!/bin/sh
exec /etc/vnc/xstartup
xrdb $HOME/.Xresources
vncconfig -iconic &
dbus-launch --exit-with-session gnome-session &

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

chmod 700 ~/.vnc/xstartup

Затем запустите сервер VNC, выполнив следующую команду от имени обычного пользователя. Установите собственные значения геометрии дисплея. Кроме того, используйте флаг -localhost, чтобы разрешить подключения только с localhost и по аналогии только от пользователей, прошедших аутентификацию на сервере.

Кроме того, VNC по умолчанию использует TCP-порт 5900+N, где N — номер дисплея. В данном случае :1 означает, что VNC-сервер будет работать на порте дисплея 5901.

vncserver :1 -localhost -geometry 1024x768 -depth 32

Чтобы просмотреть сеансы сервера VNC в вашей системе, выполните следующую команду.

vncserver -list

После запуска VNC-сервера проверьте порт, на котором он работает, с помощью команды netstat.

netstat -tlnp

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

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

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

На клиентском компьютере Linux откройте новое окно терминала и выполните следующую команду, чтобы создать туннель SSH к серверу VNC.

ssh -i ~/.ssh/ubuntu18.04 -L 5901:127.0.0.1:5901 -N -f -l tecmint 192.168.56.108

Затем установите клиент vncviewer, например TigerVNC Viewer, как показано ниже (вы можете установить любой другой клиент по вашему выбору).

sudo apt install tigervnc-viewer		#Ubuntu/Debian
sudo yum install tigervnc-viewer		#CnetOS/RHEL
sudo yum install tigervnc-viewer		#Fedora 22+
sudo zypper install tigervnc-viewer	        #OpenSUSE
sudo pacman -S tigervnc			#Arch Linux

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

vncviewer localhost:5901

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

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

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

Внимание. Если вы заботитесь о безопасности, возможно, вы заметили, что средство просмотра VNC показывает «соединение не зашифровано», хотя мы включили SSH-туннелирование.

Это связано с тем, что он предназначен для использования определенных схем безопасности, отличных от туннелирования SSH, при попытке аутентификации на сервере. Однако соединение становится безопасным, если вы включили туннелирование SSH.

Создание юнит-файла Systemd для сервера TigerVNC

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

sudo vim /etc/systemd/system/[email 

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

[Unit] 
Description=Remote desktop service (VNC) 
After=syslog.target network.target 

[Service] 
Type=simple 
User=tecmint 
PAMName=login 
PIDFile=/home/%u/.vnc/%H%i.pid 
ExecStartPre=/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :
ExecStart=/usr/bin/vncserver :%i -localhost no -geometry 1024x768 
ExecStop=/usr/bin/vncserver -kill :%i 

[Install] 
WantedBy=multi-user.target

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

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

sudo systemctl daemon-reload

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


sudo systemctl start vncserver@1
sudo systemctl enable vncserver@1
sudo systemctl status vncserver@1

Вот и все! В этой статье мы объяснили, как установить и настроить сервер VNC в дистрибутиве Ubuntu Linux. Поделитесь с нами своими вопросами или мыслями через форму обратной связи ниже.