Что такое VNC и для чего он нужен
VNC (Virtual Network Computing) — программное обеспечение, которое представляет ваши «локальные» клавиатуру и мышь так, будто они напрямую подключены к любому другому удаленному серверу. Это позволяет легко и просто управлять файлами, ПО и настройками на удаленном сервере.
Что нужно знать перед установкой
Хотя технически ничего не мешает использовать VNC-консоль для управления сервером из командной строки, с практической точки зрения это совершенно бессмысленно, так как в таком сценарии лучше использовать SSH (кроме случаев когда нужно восстанавливать ОС после глобальной аварии). А так как наличие графического интерфейса требует больше ресурсов системы, потребуется как минимум 2 Гб оперативной памяти, 2-ядерный процессор и 20-30 Гб дискового пространства.
Установка
Для установки VNC пожалуйста выполните следующие действия:
Обновите системный кеш и запустите установку при помощи пакетного менеджера:
apt-get update && apt install xfce4-goodies tightvncserver xfce4
Запустите установленную утилиту и установите пароль VNC-доступа. Вы также можете установить отдельный пароль для режима «только просмотр», если хотите:
vncserver
Остановите сервис:
vncserver -kill :1
Добавьте одну строку в файл настроек:
echo "startxfce4 &" >> /root/.vnc/xstartup
Предоставьте разрешения на выполнение предустановленному скрипту:
chmod -rwxr-xr-x /root/.vnc/xstartup
Запустите службу снова:
vncserver
Теперь ваш VNC-сервис готов к использованию. Помните: если вы предпочитаете использовать любой VNC-клиент, будет нужно добавить «59» перед «настоящим» номером порта. Например. если реальный порт равен “1”, вы должны вместо этого использовать “5901” в VNC-клиенте:
Если все сделано верно, вы увидите результат, как показано ниже. Вы молодец!
Следующий шаг опционален — можно сделать так, чтобы службу VNC запускалась автоматически. Создайте конфигурационный файл для сервиса:
cat <<EOT >> /etc/systemd/system/vnc.service
[Unit]
Description=VNC-server
After=syslog.target network.target
[Service]
Type=forking
User=root
PAMName=login
PIDFile=/root/.vnc/%H:1.pid
ExecStartPre=-/usr/bin/vncserver -kill :1 > /dev/null 2>&1
ExecStart=/usr/bin/vncserver
ExecStop=/usr/bin/vncserver -kill :1
[Install]
WantedBy=multi-user.target
EOT
Добавьте наш сервис в автозагрузку и запустите его вручную чтобы не пришлось перезагружать сервер целиком:
systemctl enable vnc
systemctl start vnc
Заключение
Теперь, после того как вы прочитали данную статью, вы легко сможете организовать постоянный удаленный доступ к рабочему столу вашего сервера в графическом режиме.