## Настройка VNC Ubuntu Server 20.04 Rspberry PI 4 *Установку и настройку ОС выполнял по документации* [How to install Ubuntu on your Raspberry PI](https://ubuntu.com/tutorials/how-to-install-ubuntu-on-your-raspberry-pi#1-overview) **Установим DE** ```bash sudo apt update sudo apt upgrade sudo apt install xubuntu-desktop sudo reboot ``` **TightVNC Server** *За основу взял эти статьи:* [Установка и настройка VNC в Ubuntu 20.04](https://www.8host.com/blog/ustanovka-i-nastrojka-vnc-v-ubuntu-20-04/) [Как настроить и использовать сервер TigerVNC в Linux](https://zalinux.ru/?p=3905) *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` ```bash #!/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` ```bash [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`