Как настроить VNC-сервер на Debian 13 в режиме «только просмотр»

Как настроить VNC-сервер на Debian 13 в режиме «только просмотр»

Расскажем в этой статье как настроить VNC-сервер на Debian 13 с GNOME, работающим на X11, чтобы удалённо наблюдать за рабочим столом в реальном времени — с возможностью выбора между режимом просмотра (view-only) и полным контролем.

Почему именно X11?

В современных дистрибутивах по умолчанию используется Wayland, но он намеренно запрещает скрытый захват экрана — в целях безопасности. Чтобы получить полный и стабильный доступ к экрану без диалогов и ограничений, рекомендуется:

✅ Переключиться на GNOME на X11 («GNOME on Xorg» при входе).

Это даёт:

  • Прямой доступ к X-дисплею :0
  • Возможность захвата всего экрана без разрешения
  • Совместимость с классическими инструментами: x11vnc, xwd, import, ffmpeg

Шаг 1. Установка x11vnc

x11vnc — легковесный VNC-сервер, который подключается к существующей X-сессии, а не создаёт новую (в отличие от vnc4server или tigervnc).

sudo apt update
sudo apt install x11vnc -y

Шаг 2. Настройка пароля (рекомендуется)

VNC поддерживает встроенный пароль (до 8 символов — ограничение протокола RFB):

x11vnc -storepasswd ваш_пароль ~/.vnc/passwd

🔐 Храните пароль в домашней директории пользователя — не в /root!

Шаг 3. Запуск в режиме «только просмотр»

Чтобы наблюдать, но не управлять, используйте флаг -viewonly:

x11vnc \
  -display :0 \
  -forever \
  -shared \
  -viewonly \
  -rfbport 5900 \
  -rfbauth ~/.vnc/passwd \
  -o ~/.x11vnc.log

Ключевые опции:

  • -viewonlyзапрет ввода (мышь и клавиатура заблокированы для клиента)
  • -shared — разрешить несколько подключений
  • -forever — не завершать сервер после отключения
  • -rfbauth — использовать файл пароля
  • -o — лог в домашнюю директорию (без прав root)

Шаг 4. (Опционально) Полный контроль вместо просмотра

Уберите флаг -viewonly, и клиенты получат полную клавиатуру и мышь:

x11vnc \
  -display :0 \
  -forever \
  -shared \
  -rfbport 5900 \
  -rfbauth ~/.vnc/passwd \
  -o ~/.x11vnc.log

⚠️ Предупреждение: при полном контроле действия клиента будут видны пользователю за ПК (движение мыши, нажатия). Это не скрытый мониторинг!

Шаг 5. Автоматический запуск через systemd (для пользователя)

Чтобы VNC-сервер запускался автоматически при входе, создайте пользовательский юнит:

mkdir -p ~/.config/systemd/user

Файл: ~/.config/systemd/user/x11vnc.service

[Unit]
Description=VNC Server for X11 Desktop
After=graphical-session.target

[Service]
Type=simple
Environment=DISPLAY=:0
Environment=XAUTHORITY=%h/.Xauthority
ExecStart=/usr/bin/x11vnc -display :0 -forever -shared -viewonly -rfbport 5900 -rfbauth %h/.vnc/passwd -o %h/.x11vnc.log
Restart=on-failure
RestartSec=5

[Install]
WantedBy=default.target

Активация:

systemctl --user daemon-reload
systemctl --user enable --now x11vnc.service

💡 Чтобы сервис работал даже без входа в GUI, выполните от root:

sudo loginctl enable-linger имя_пользователя

Шаг 6. Безопасность

🔒 Фаервол

Разрешите доступ только из доверенной сети:

sudo ufw allow from 192.168.1.0/24 to any port 5900

🔄 Шифрование (опционально)

VNC не шифрует трафик. Для защиты:

  • Используйте SSH-туннель:
    ssh -L 5900:localhost:5900 user@сервер
    

    И подключайтесь к localhost:5900 локально.

  • Или настройте stunnel или nginx с TLS.

Как подключиться?

Любой VNC-клиент:

  • Remmina (Linux)
  • TigerVNC Viewer (кроссплатформенный)
  • RealVNC / TightVNC (Windows)
  • Vinagre (GNOME)

Адрес: ваш_сервер:5900
Пароль: тот, что вы задали в x11vnc -storepasswd

Преимущества x11vnc

Возможность x11vnc gnome-remote-desktop
Работа с текущей сессией ✅ Да ❌ Только отдельная сессия (в новых версиях)
Режим «только просмотр» ✅ Да ❌ Нет
Поддержка X11 ✅ Отличная ⚠️ Ограниченная
Поддержка Wayland ❌ Нет ✅ Да
Незаметность ✅ Полная (в X11) ⚠️ Есть индикатор в панели

Заключение

Если вам нужен надёжный, незаметный и гибкий способ удалённого просмотра экрана на Debian с GNOME — переключитесь на X11 и используйте x11vnc.

  • Для мониторинга — включите -viewonly.
  • Для удалённой помощи — уберите этот флаг.
  • Для безопасности — используйте SSH-туннель или локальную сеть.

📌 Помните: Wayland не предназначен для таких сценариев. X11 остаётся лучшим выбором для задач администрирования, мониторинга и автоматизации.


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *


Unlix.ru © Все права защищены 2015 - 2025

Копирование материалов с сайта Unlix.ru без указания полной ссылки на источник ЗАПРЕЩЕНО!