92 lines
4.1 KiB
Markdown
92 lines
4.1 KiB
Markdown
## Настройка 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`
|