Поиск по сайту:
...греки, вложившие в такое множество слов так мало мыслей (Ф. Вольтер).

Как установить и настроить VNC на CentOS 7

17.09.2018
Как установить и настроить VNC на CentOS 7

В этой статье мы рассмотрим шаги по установке и настройке VNC-сервера в системе CentOS 7. Мы также покажем вам, как безопасно подключаться к серверу VNC через туннель SSH.

Виртуальная сетевая вычислительная система (VNC) представляет собой графическую систему совместного использования компьютеров, которая позволяет использовать клавиатуру и мышь для удаленного управления другим компьютером.

Прежде чем продолжить обучение, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo. Предположим, что вы вошли в систему под именем пользователя.andreyex.

Установка CentOS-сервера часто не связана с установленной настольной средой, поэтому мы начнем с установки легкой рабочей среды.

В этой статьи мы установим Xfce. Он быстрый, стабильный и низкий на системных ресурсах, что делает его идеальным для использования на удаленных серверах.

Пакеты Xfce доступны в репозиториях EPEL. Если на вашем сервере нет репозитория EPEL, вы можете сделать это, набрав:

sudo yum install epel-release

 

После добавления репозитория установите Xfce на свой сервер CentOS, набрав:

sudo yum groupinstall xfce

 

В зависимости от вашей системы, загрузка и установка пакетов и зависимостей Xfce может занять некоторое время.

TigerVNC – это активно поддерживаемый высокопроизводительный VNC-сервер с открытым исходным кодом.

Введите следующую команду для установки TigerVNC на вашем сервере CentOS:

yum install tigervnc-server

 

Теперь, когда установлен VNC-сервер, следующий шаг – запустить команду vncserver, которая создаст начальную конфигурацию и настроит пароль. Не добавляйте sudo в следующую команду:

vncserver

 

Вам будет предложено ввести и подтвердить пароль и установить его как пароль только для просмотра. Если вы решите настроить пароль только для просмотра, пользователь не сможет взаимодействовать с экземпляром VNC с помощью мыши и клавиатуры.

You will require a password to access your desktops.

Password:
Verify:
Would you like to enter a view-only password (y/n)? n
/usr/bin/xauth:  file /home/andreyex/.Xauthority does not exist

New 'server2.andreyex.com:1 (andreyex)' desktop at :1 on machine server2.andreyex.com

Starting applications specified in /etc/X11/Xvnc-session
Log file is /home/andreyex/.vnc/server2.andreyex.com:1.log

 

При первом запуске команды vncserver он создаст и сохранит файл пароля в каталоге ~/.vnc, который будет создан, если он отсутствует.

Обратите внимание, что :1 после имени хоста в выводе выше. Это указывает номер порта дисплея, на котором запущен сервер vnc. В нашем случае сервер работает на TCP-порту 5901 (5900 + 1). Если вы создадите второй экземпляр, vncserver он будет запущен на следующем свободном порту, т. Е. :2 Это означает, что сервер работает на порту 5902 (5900 + 2).

Важно помнить, что при работе с серверами VNC :X используется порт отображения 5900+X.

Прежде чем перейти к следующему шагу, сначала остановите экземпляр VNC с помощью команды vncserver с параметром -kill и номером сервера в качестве аргумента. В нашем случае сервер работает в порту 5901 ( :1), поэтому мы остановим его:

vncserver -kill :1

 

Killing Xvnc process ID 2432

 

Теперь, когда и Xfce, и TigerVNC установлены на нашем CentOS-сервере, следующим шагом будет настройка TigerVNC для использования Xfce. Для этого откройте следующий файл:

nano ~/.vnc/xstartup

 

И изменить последнюю строку exec /etc/X11/xinit/xinitrc на exec startxfce4:

~/.vnc/xstartup

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4

 

Сохраните и закройте файл. Приведенный выше сценарий будет автоматически запускаться при каждом запуске или перезапуске сервера TigerVNC.

Если вам нужно передать дополнительные параметры на сервер VNC, вы можете открыть файл ~/.vnc/config и добавить один вариант на строку. Наиболее часто используемые параметры перечислены в файле. Раскомментируйте и измените по своему вкусу.

Вот пример:

~/.vnc/config

# securitytypes=vncauth,tlsvnc
# desktop=sandbox
geometry=1920x1080
# localhost
# alwaysshared
dpi=96

 

Мы создадим системный файл systemd, который позволит нам легко запускать, останавливать и перезапускать службу VNC по мере необходимости, так же, как и любую другую службу systemd.

sudo cp /usr/lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

 

Откройте файл с помощью текстового редактора и замените его <USER> на фактическое имя пользователя.

sudo nano /etc/systemd/system/vncserver@\:1.service

 

/etc/systemd/system/vncserver@:1.service

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking

# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l andreyex -c "/usr/bin/vncserver %i"
PIDFile=/home/andreyex/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[Install]
WantedBy=multi-user.target

 

Сохраните и закройте файл. Сообщите системе, что мы создали новый файл с помощью:

sudo systemctl daemon-reload

 

Следующий шаг – включить файл устройства со следующей командой:

sudo systemctl enable vncserver@:1.service

 

Число 1 после знака @ определяет порт отображения, на котором будет работать служба VNC, в нашем случае это значение по умолчанию, 1 и сервер VNC будет прослушивать порт, 5901 как мы обсуждали в предыдущем разделе.

Запустите службу VNC, выполнив:

sudo systemctl start vncserver@:1.service

 

Убедитесь, что служба успешно запущена:

sudo systemctl status vncserver@:1.service

 

● vncserver@:1.service - Remote desktop service (VNC)
   Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2018-09-16 09:59:53 UTC; 4s ago
  Process: 6391 ExecStart=/usr/sbin/runuser -l andreyex -c /usr/bin/vncserver %i (code=exited, status=0/SUCCESS)
  Process: 6389 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
 Main PID: 6413 (Xvnc)
   CGroup: /system.slice/system-vncserver.slice/vncserver@:1.service
           ‣ 6413 /usr/bin/Xvnc :1 -auth /home/andreyex/.Xauthority -desktop server2.andreyex.com:1 (andreyex) -fp catalogue:/etc/X11/fontpath.d -geometry 1024x768 -pn -rfbauth /home/andreyex/.vnc/passwd -rfbport ...

 

VNC не является зашифрованным протоколом и может подвергаться сниффингу пакетов. Рекомендуемый подход заключается в создании туннеля SSH, который будет безопасно перенаправлять трафик с вашего локального компьютера на порт 5901 на сервер в том же порту.

Если вы запускаете на вашем компьютере Linux, macOS или любую другую операционную систему на базе Unix, вы можете легко создать туннель SSH с помощью следующей команды:

ssh -L 5901:127.0.0.1:5901 -N -f -l username server_ip_address

 

Вам будет предложено ввести пароль пользователя.

Не забудьте заменить username и server_ip_address на ваше имя пользователя и IP-адрес вашего сервера.

Если вы запустите Windows, вы можете настроить туннелирование SSH с помощью клиента PuTTY SSH.

Откройте Putty и введите IP-адрес вашего сервера в поле Host name or IP address.

Как установить и настроить VNC на CentOS 7

 

Затем из окна Category: разверните SSH и выберите Tunnels. Введите порт сервера VNC ( 5901) в поле Source Port и введите server_ip_address:5901 в поле Destination и нажмите кнопку Add, как показано на рисунке ниже:

Как установить и настроить VNC на CentOS 7

 

Вернитесь на страницу Session, чтобы сохранить настройки, чтобы вы не вводили их каждый раз. Теперь вам нужно всего лишь выбрать сохраненный сеанс и войти на удаленный сервер, нажав на кнопку Open.

Теперь, когда вы настроили туннелирование SSH, пришло время открыть Vncviewer и подключиться к VNC-серверу localhost:5901.

Вы можете использовать любые средства просмотра VNC, такие как TigerVNC, TightVNC, RealVNC, UltraVNC Vinagre и VNC Viewer для Google Chrome.

В этом примере мы будем использовать TigerVNC. Откройте средство просмотра VNC, введите localhost:5901 и нажмите кнопку Connect.

Как установить и настроить VNC на CentOS 7

 

Введите пароль при появлении запроса, и вы увидите рабочий стол по умолчанию Xfce. Он должен выглядеть примерно так:

Как установить и настроить VNC на CentOS 7

 

Теперь вы можете начать взаимодействие с удаленным рабочим столом XFCE на вашей локальной машины с помощью клавиатуры и мыши.

К настоящему моменту вы должны запустить сервер VNC, и вы можете легко управлять своим сервером CentOS 7 с помощью графического интерфейса.

Чтобы настроить VNC-сервер для запуска отображения для нескольких пользователей, создайте начальную конфигурацию и настройте пароль с помощью команды vncserver и создайте новый файл службы с помощью другого порта.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (3 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

1 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Никита

[root@localhost ~]# systemctl status vncserver@:1.service
● vncserver@:1.service – Remote desktop service (VNC)
Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled; vendor preset: disabled)
Active: failed (Result: protocol) since Вт 2020-10-20 12:18:36 MSK; 9s ago
Process: 24661 ExecStart=/usr/sbin/runuser -l nikita -c /usr/bin/vncserver %i (code=exited, status=0/SUCCESS)
Process: 24655 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)

окт 20 12:18:33 localhost.localdomain systemd[1]: Starting Remote desktop service (VNC)…
окт 20 12:18:36 localhost.localdomain systemd[1]: Can’t open PID file /home/nikita/.vnc/localhost.localdomain:1.pid (yet?) after start: No such file or directory
окт 20 12:18:36 localhost.localdomain systemd[1]: Failed to start Remote desktop service (VNC).
окт 20 12:18:36 localhost.localdomain systemd[1]: Unit vncserver@:1.service entered failed state.
окт 20 12:18:36 localhost.localdomain systemd[1]: vncserver@:1.service failed.

Читайте также

Спасибо!

Теперь редакторы в курсе.