VNC (Virtual Network Computing) - это графический инструмент совместного использования рабочего стола, который позволяет управлять компьютером (сервером) удаленно с другого компьютера (клиента). Сервер VNC передает все события клавиатуры и мыши с клиентского компьютера на серверный компьютер. Если вы еще не умеете работать с CLI, такими как терминал и т.д., вы можете использовать VNC, чтобы облегчить управление файлами, программным обеспечением и настройками системы.
В этом руководстве я покажу вам шаг за шагом, как настроить VNC сервер в CentOS. Мы установим рабочий стол Linux XFCE на сервер, затем установим и настроим VNC сервер с помощью TigerVNC.
Предварительные условия
- Сервер или рабочая станция с CentOS 7/8/Stream
- Пользователь с правами root
Что мы будем делать
- Обновите систему CentOS и создайте пользователя Linux.
- Установите XFCE Desktop и TigerVNC.
- Начальная конфигурация VNC.
- Настройка TigerVNC.
- Запуск TigerVNC в качестве службы.
- Подключение к VNC-серверу.
Шаг 1 - Обновление CentOS и добавление пользователя Linux
Прежде чем мы начнем установку и настройку сервера VNC, пожалуйста, обновите CentOS с помощью команды yum.
1 | yum update -y |
В данном руководстве рабочий стол VNC будет доступен для пользователя, не являющегося пользователем root. Поэтому нам нужно создать нового пользователя и добавить его в группу "wheel" для получения root-доступа.
Добавьте нового пользователя с помощью команды ниже. В этом примере я выберу имя пользователя "vnc_user".
1 2 | useradd -m -s /bin/bash vnc_user passwd vnc_user |
Теперь добавьте пользователя в группу "wheel" для доступа к командам sudo.
1 | usermod -a -G wheel vnc_user |
После того как все это будет сделано, войдите в систему под именем "vnc_user" и выполните команду "sudo su".
1 2 | su - vnc_user sudo su |
Введите пароль пользователя "vnc_user" и убедитесь, что вы получили привилегии root.
Шаг 2 - Установите XFCE Desktop и TigerVNC
Linux имеет несколько окружений рабочего стола, таких как Gnome, Unity, KDE, LXDE, XFCE и т.д. В этом руководстве мы будем использовать рабочий стол XFCE в качестве среды рабочего стола VNC. XFCE - это легкий десктоп, который хорошо подходит для серверной среды.
Перед установкой рабочего стола XFCE установите последнюю версию репозитория EPEL.
1 | yum -y install epel-release |
Теперь установите рабочий стол XFCE с помощью команды yum, приведенной ниже.
1 | yum groupinstall "Xfce" -y |
После завершения установки установите пакет "tigervnc-server".
1 | yum -y install tigervnc-server tigervnc-server-minimal |
Дождитесь завершения установки.
Шаг 3 - Начальная конфигурация VNC
В этом шаге мы создадим конфигурацию vnc для пользователя 'vnc_user'.
Войдите в систему под именем пользователя 'vnc_user'.
1 | su - vnc_user |
Теперь запустите конфигурацию vnc для 'vnc_user' с помощью следующей команды.
1 | vncserver |
Вам будет предложено ввести пароль vnc-сервера - введите его. Пароль "только для просмотра" можно включить или выключить. Пользователь, вошедший на сервер с паролем "только для просмотра", не сможет управлять мышью и клавиатурой.
При первом запуске команды 'vncserver' она автоматически создаст новый каталог конфигурации '.vnc' и запустит первый сеанс vnc.
1 2 | ls -lah ~/.vnc/ vncserver -list |
И вы получите первый запущенный сеанс vnc, как показано ниже.
Шаг 4 - Настройка TigerVNC
В этом шаге мы настроим VNC-сервер для использования рабочего стола XFCE. Мы отредактируем файл конфигурации VNC 'xstartup' в каталоге '.vnc'.
Перед редактированием конфигурации vnc, убейте первый сеанс vnc с помощью следующей команды.
vncserver -kill :1
Теперь сделайте резервную копию конфигурации по умолчанию и создайте новую с помощью vim.
1 2 | mv ~/.vnc/xstartup ~/.vnc/xstartup.bekup nano ~/.vnc/xstartup |
Вставьте конфигурацию ниже.
1 2 3 | #!/bin/bash xrdb $HOME/.Xresources startxfce4 & |
Сохраните и выйдите.
Далее скопируйте конфигурацию 'Xresources' по умолчанию в домашний каталог пользователя 'vnc_user'.
1 | cp /etc/X11/Xresources ~/.Xresources |
И сделайте скрипт 'xstartup' исполняемым, изменив его права доступа. Затем снова запустите команду 'vncserver'.
1 2 | chmod +x ~/.vnc/xstartup vncserver |
Новая сессия vnc запущена с нашим рабочим столом по умолчанию XFCE.
Проверьте это с помощью приведенной ниже команды.
1 | vncserver -list |
Шаг 5 - Запуск TigerVNC в качестве службы
В этом руководстве мы будем запускать VNC-сервер как службу. Поэтому нам нужно создать новый служебный файл для него.
Перейдите в каталог "/etc/systemd/system" и создайте новый служебный файл '[email protected]'.
1 2 | cd /etc/systemd/system sudo nano vncserver@.service |
Вставьте туда следующую конфигурацию.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [Unit] Description=Remote desktop service (VNC) After=syslog.target network.target [Service] Type=forking User=vnc_user PIDFile=/home/vnc_user/.vnc/%H:%i.pid ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :%i ExecStop=/usr/bin/vncserver -kill :%i [Install] WantedBy=multi-user.target |
Сохраните файл и выйдите из nano.
Теперь перезагрузите systemd и запустите службу сервера VNC.
1 2 | sudo systemctl daemon-reload sudo systemctl start vncserver@1.service |
Если вы не получили никакой ошибки, включите запуск службы при загрузке системы и проверьте статус службы с помощью systemctl.
1 2 | systemctl enable vncserver@1.service systemctl status vncserver@1.service |
Если в процессе возникает ошибка запуска, то скорее всего придется настроить или отключить SELinux.
1 | SELinux is preventing systemd from read access on the file centos:1.pid. For complete SELinux messages run: sealert -l 0abbee0a-c580-4198-ba5a-e29d09cea0df |
Ниже приведены результаты в нашем случае.
Или вы можете проверить с помощью команды vncserver, как показано ниже.
1 2 | su - vnc_user vncserver -list |
Установка и настройка VNC Server завершена.
Шаг 6 - открыть порт подключения VNC
Для подключения, необходимо открыть порт 5901, командами ниже
1 2 | sudo firewall-cmd --add-port=5901/tcp --permanent sudo firewall-cmd --reload |
Шаг 7 - Подключение к серверу VNC
В этом последнем шаге мы подключимся к нашему VNC-серверу.
Откройте приложение 'VNC viewer', создайте новое соединение и введите адрес VNC сервера с IP-сервера и порт 5901, как показано ниже.
Подключитесь к VNC-серверу, и вам будет предложено ввести пароль VNC-сервера. Введите пароль и нажмите 'OK'.
Теперь вы получите рабочий стол XFCE с вашего сервера.
Установка VNC-сервера на CentOS успешно завершена.