notes/Настройка VNC Ubuntu Server...

4.1 KiB
Raw Permalink Blame History

Настройка VNC Ubuntu Server 20.04 Rspberry PI 4

Установку и настройку ОС выполнял по документации How to install Ubuntu on your Raspberry PI

Установим DE

sudo apt update
sudo apt upgrade
sudo apt install xubuntu-desktop
sudo reboot

TightVNC Server За основу взял эти статьи:
Установка и настройка VNC в Ubuntu 20.04
Как настроить и использовать сервер TigerVNC в Linux
TigerVNC настроить не получилось, сервер не пускал к себе никого

sudo apt install tightvncserver

при первом запуске нужно задать пароль
vncserver

Если в будущем понадобиться изменить пароль или добавить пароль для просмотра, это можно сделать с помощью команды vncpasswd: vncpasswd

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

Резервная копия файла xstartup:
mv ~/.vnc/xstartup ~/.vnc/xstartup.bak

Затем создать новый файл xstartup nano ~/.vnc/xstartup

#!/bin/bash
 
PATH=/usr/bin:/usr/sbin
unset SESSION*MANAGER
unset DBUS*SESSION*BUS*ADDRESS
exec ЗАПУСК &

Вместо слова ЗАПУСК должен быть указан исполнимый файл, запускающий X сессию.

Для Cinnamon: cinnamon-session-cinnamon
Для XFCE: startxfce4
Для GNOME: /usr/bin/gnome-session
Для Kodi: kodi-standalone
Для Mate: mate-session
Для lxqt: startlxqt
Узнать исполняемый файл для любого окружения рабочего стола установленного в системе - ls /usr/share/xsessions/
В этой папке лежат файлы с расширением .desktop, например: cinnamon2d.desktop cinnamon.desktop gnome.desktop gnome-xorg.desktop kodi.desktop Открыть любой, найти там строку, которая начинается на «Exec», например для файла xfce.desktop:
Exec=cinnamon-session-cinnamon сделать файл исполняемым: chmod +x ~/.vnc/xstartup

Настройка VNC как сервиса systemd sudo nano /etc/systemd/system/vncserver@.service

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

сохранить, закрыть

Затем сообщите системе про новый юнит-файл.
sudo systemctl daemon-reload
И включите его:
sudo systemctl enable vncserver@1.service
Цифра 1, идущая за @, определяет, какой номер дисплея должен отображаться в сервисе, в этом случае это значение по умолчанию :1.
Остановите текущий экземпляр сервера VNC, если он еще запущен.
vncserver -kill :1
Теперь попробуйте запустить его как любой другой сервис systemd:
sudo systemctl start vncserver@1
Чтобы убедиться, что сервер запущен, проверьте его состояние:
sudo systemctl status vncserver@1