Это руководство поможет вам настроить VNC-сервер на Ubuntu 22.04 для удалённого доступа к графическому интерфейсу.
- Установка необходимых компонентов
- Настройка VNC-сервера
- Запуск VNC-сервера
- Настройка брандмауэра
- Автозапуск VNC-сервера
- Подключение к VNC-серверу
- Устранение неполадок
Обновите систему и установите необходимые пакеты:
sudo apt update && sudo apt upgrade -y
sudo apt install -y tigervnc-standalone-server tigervnc-common
- Установите пароль для VNC-доступа:
vncpasswd
Вам будет предложено ввести и подтвердить пароль, а также установить опцию только для чтения (по желанию).
- Создайте конфигурационный файл:
mkdir -p ~/.vnc
cat > ~/.vnc/xstartup << 'EOF'
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec /etc/X11/xinit/xinitrc
EOF
chmod +x ~/.vnc/xstartup
Запустите VNC-сервер на дисплее :1:
vncserver :1 -geometry 1920x1080 -depth 24 -localhost no
Проверьте, что сервер запущен и слушает на всех интерфейсах:
ss -tulnp | grep vnc
Вы должны увидеть примерно следующее:
tcp LISTEN 0 5 0.0.0.0:5901 0.0.0.0:* users:(("Xtigervnc",pid=XXXX,fd=9))
tcp LISTEN 0 5 [::]:5901 [::]:* users:(("Xtigervnc",pid=XXXX,fd=10))
Разрешите подключения к VNC-серверу:
sudo ufw allow 5901/tcp
sudo ufw enable
Для автоматического запуска VNC-сервера при загрузке системы:
- Создайте systemd-службу:
sudo nano /etc/systemd/system/[email protected]
- Добавьте следующее содержимое:
[Unit]
Description=Start TigerVNC server at startup
After=syslog.target network.target
[Service]
Type=forking
User=%i
Group=%i
WorkingDirectory=/home/%i
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver -localhost no -geometry 1920x1080 -depth 24 %i
ExecStop=/usr/bin/vncserver -kill %i
[Install]
WantedBy=multi-user.target
- Активируйте и запустите службу:
sudo systemctl daemon-reload
sudo systemctl enable [email protected]
sudo systemctl start [email protected]
Для подключения к серверу вам понадобится:
- IP-адрес сервера
- Порт (5901 для дисплея :1)
- Пароль, установленный командой vncpasswd
Рекомендуемые клиенты:
- Windows: TigerVNC Viewer, RealVNC Viewer, TightVNC
- Linux: Remmina, Vinagre, xtigervncviewer
- Mac: Chicken of the VNC, RealVNC Viewer
Пример подключения через TigerVNC Viewer:
xtigervncviewer <IP_адрес>:1
-
Не удаётся подключиться:
- Проверьте, что сервер запущен:
sudo systemctl status vncserver@1
- Проверьте открытые порты:
ss -tulnp | grep vnc
- Проверьте журналы:
journalctl -u vncserver@1 -f
- Проверьте, что сервер запущен:
-
Чёрный экран при подключении:
- Убедитесь, что файл
~/.vnc/xstartup
существует и исполняем - Установите графическую оболочку (например, GNOME):
sudo apt install ubuntu-desktop
- Убедитесь, что файл
-
Сервер не слушает на внешних интерфейсах:
- Убедитесь, что используется параметр
-localhost no
- Проверьте настройки брандмауэра:
sudo ufw status
- Убедитесь, что используется параметр
Теперь у вас должен быть полностью настроенный VNC-сервер на Ubuntu 22.04, доступный для подключения из локальной сети или интернета.