4.1 KiB
Настройка 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