Иногда появляется необходимость иметь возможность подключаться к своему компьютеру с Debian Linux удаленно не в консоль по SSH, а прямо к графической оболочке.
Тут я опишу самый простой и короткий путь без излишеств и с помощью утилиты, что входит в стандартные репозитории Debian.
Наиболее простой, на мой взгляд, для настройки сервер VNC: x11vnc
Ставится просто:
sudo apt install x11vnc
После установки, его надо зарегистрировать, как сервис, чтобы он всегда стартовал с запуском компьютера и хлеба не просил.
Для этого создаем по пути /etc/systemd/system файл x11vnc.service
sudo nano /etc/systemd/system/x11vnc.service
Данная команда не только создает файл, но и открывает его на редактирование в консольном редакторе nano. И раз уж он сразу открыт на редактирование, вставляем в него требуемое содержимое:
[Unit]
Description=VNC Server for X11
Requires=display-manager.service
After=network-online.target ##optional for better performance
Wants=network-online.target ##optional for better performance
[Service]
ExecStart=/usr/bin/x11vnc -ncache 10 -auth guess -display :0 -rfbauth /etc/x11vnc.pwd -shared -forever -o /var/log/x11vnc.log
ExecStop=/usr/bin/x11vnc -R stop
Restart=on-failure
RestartSec=2
[Install]
WantedBy=multi-user.target
Сохраняем файл.
Остается только задать пароль VNC, который будет нужен для подключения к нашему компьютеру из VNC клиента:
sudo x11vnc -storepasswd MY_PASSWORD /etc/x11vnc.pwd
MY_PASSWORD - следует заменить Вашим паролем. Надо помнить, что пароль может быть 6-8 символов. Если зададите пароль длиннее, то он обрежется до 8 символов.
Для запуска x11vnc как службы вводим:
sudo systemctl start x11vnc
Для проверки её статуса:
systemctl status x11vnc
Осталось лишь включить наш сервис в автозапуск при загрузке компьютера:
sudo systemctl enable x11vnc
Ура! Вы закончили настройки на стороне компьютера, к которому собрались подключаться удаленно в графический интерфейс.
Конечно, можно еще настроить шифрование, сжатие и многое другое, чтобы обезопасить соединение или подогнать под свои задачи. Но для работы достаточно и уже имеющегося.
Настройка на стороне клиента VNC
Теперь можно устанавливать на любой компьютер в той же сети любой клиент VNC. Вводим в нем IP компьютера, где только что настраивали сервер x11vnc и указываем порт 5900.
Клиент запросит у вас пароль. Помните, как задавали MY_PASSWORD?
Вот его от Вас и ждут.
Поздравляю! Вы удаленно зашли прямиком в графический интерфейс настроенного компьютера.
Заметьте, введенный вами пароль дает доступ только к самой "картинке" и способности шевелить мышкой, нажимая клавиши на клавиатуре.
Этот пароль не освобождает Вас от необходимости знать имя пользователя и его пароль на удаленном компьютере с сервером x11vnc.
И это прекрасно. Безопасность должна быть безопасной.