VNC: Удалённый рабочий стол в Rocky

Содержание
Введение
Установка tigervnc-server
Подключение к VNC серверу
Запустить VNC сервер
Остановить VNC сервер
Изменить порт
Похожие статьи

Введение

Virtual Network Computing (VNC) — система удалённого доступа к рабочему столу компьютера, использующая протокол RFB (англ. Remote FrameBuffer, удалённый кадровый буфер).

Управление осуществляется путём передачи нажатий клавиш на клавиатуре и движений мыши с одного компьютера на другой и ретрансляции содержимого экрана через компьютерную сеть.

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

Существуют реализации клиентской и серверной части практически для всех операционных систем, в том числе и для Java (включая мобильную платформу J2ME).

К одному VNC-серверу одновременно могут подключаться множественные клиенты.

Наиболее популярные способы использования VNC — удалённая техническая поддержка и доступ к рабочему компьютеру из дома.

Установка tigervnc-server

Выполните

sudo dnf update -y sudo dnf install -y epel-release sudo dnf groupinstall -y "Xfce" "base-x" sudo systemctl set-default graphical sudo reboot sudo dnf install tigervnc-server

Я создам доступ для своего пользователя andrei но в общем случае можно создать отдельного пользователя vncuser

sudo adduser vncuser sudo passwd vncuser sudo su - vncuser

Следующий шаг - создание пароля.

Залогиньтесь под пользователем, которому вы хотите дать доступ по vnc если ещё не сделали этого.

vncpasswd

Password:
Verify:
Would you like to enter a view-only password (y/n)? n
A view-only password is not used

view-only password это пароль для доступа только с правами на просмотр. Действия мыши и клавиатуры во время такого доступа ограничены.

sudo vi /etc/tigervnc/vncserver.users

# TigerVNC User assignment # # This file assigns users to specific VNC display numbers. # The syntax is <display>=<username>. E.g.: # :1=andrei # :2=andrew # :3=lisa

Вместо andrei укажите имя вашего пользователя.

Запуск VNC сервера

sudo systemctl daemon-reload
sudo systemctl start vncserver@:1
systemctl status -l vncserver@:1

vncserver@:1.service - Remote desktop service (VNC) Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled; vendor preset: disabled) Active: active (running) since Fri 2024-03-29 10:14:10 Tue 2022-10-25 19:10:18 EEST; 16min ago Process: 7022 ExecStart=/usr/libexec/vncsession-start :1 (code=exited, status=0/SUCCESS) Process: 7011 ExecStartPre=/usr/libexec/vncsession-restore :1 (code=exited, status=0/SUCCESS) Main PID: 7030 (vncsession) Tasks: 0 (limit: 49312) Memory: 1.1M CGroup: /system.slice/system-vncserver.slice/vncserver@:1.service ‣ 7030 /usr/sbin/vncsession andrei :1 Oct 25 19:10:18 localhost.localdomain systemd[1]: Starting Remote desktop service (VNC)... Oct 25 19:10:18 localhost.localdomain systemd[1]: Started Remote desktop service (VNC).

Чтобы VNC sever запускался при загрузке системы выполните

systemctl enable vncserver@:1

Проверить, что vnc server слушает на порту 5901 можно командой

ss -tulpn| grep vnc

tcp LISTEN 0 5 *:5901 *:* users:(("Xvnc",pid=1330,fd=9)) tcp LISTEN 0 128 *:6001 *:* users:(("Xvnc",pid=1330,fd=6)) tcp LISTEN 0 5 [::]:5901 [::]:* users:(("Xvnc",pid=1330,fd=10)) tcp LISTEN 0 128 [::]:6001 [::]:* users:(("Xvnc",pid=1330,fd=5))

Теперь порт 5901 нужно открыть в firewall

Выполните

sudo firewall-cmd --add-port=5901/tcp --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-ports

19999/tcp 5901/tcp

Как вы можете убедиться - порт 5901 успешно добавлен в список открытых

Если вам вдруг стало интересно - что за порт 19999 - его использует Locust

Подключение к VNC серверу

Теперь можно установить VNC клиент, например, Remmina

sudo yum install remmina

И зайти на VNC сервер введя нужный IP адрес и порт :5901

Подключение к Rocky Linux по VNC изображение с сайта www.eth1.ru
Подключение к Rocky Linux по VNC через Remmina

Введите пароль пользователя для которого вы создали vncpasswd

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

Подключение к Rocky 8 из Ubuntu по VNC изображение с сайта www.eth1.ru
Подключение к Rocky из Ubuntu по VNC через Remmina
www.eth1.ru

Остановить VNC сервер

можно командой

systemctl stop vncserver@:1

==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units === Authentication is required to manage system services or units. Authenticating as: andrei Password: ==== AUTHENTICATION COMPLETE ===

Изменить порт и дисплей

Если скопировать существующий файл /etc/systemd/system/vncserver@:1.service

cp /etc/systemd/system/vncserver@:1.service /etc/systemd/system/vncserver@:0.service
systemctl daemon-reload

==== AUTHENTICATING FOR org.freedesktop.systemd1.reload-daemon === Authentication is required to reload the systemd state. Authenticating as: andrei Password: ==== AUTHENTICATION COMPLETE === [andrei@localhost system]$ systemctl start vncserver@:0 ==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units === Authentication is required to manage system services or units. Authenticating as: andrei Password: ==== AUTHENTICATION COMPLETE === [andrei@localhost system]$ systemctl status vncserver@:0 vncserver@:0.service - Remote desktop service (VNC) Loaded: loaded (/etc/systemd/system/vncserver@:0.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since Wed 2021-03-17 16:55:56 EET; 11s ago Process: 8426 ExecStart=/usr/bin/vncserver_wrapper andrei %i (code=exited, status=2) Process: 8424 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS) Main PID: 8426 (code=exited, status=2) Mar 17 16:55:55 localhost.localdomain systemd[1]: Starting Remote desktop service (VNC)... Mar 17 16:55:55 localhost.localdomain systemd[1]: Started Remote desktop service (VNC). Mar 17 16:55:56 localhost.localdomain vncserver_wrapper[8426]: Warning: localhost.localdomain:0 is taken because of /tmp/.X0-lock Mar 17 16:55:56 localhost.localdomain vncserver_wrapper[8426]: Remove this file if there is no X server localhost.localdomain:0 Mar 17 16:55:56 localhost.localdomain vncserver_wrapper[8426]: A VNC server is already running as :0 Mar 17 16:55:56 localhost.localdomain systemd[1]: vncserver@:0.service: main process exited, code=exited, status=2/INVALIDARGUMENT Mar 17 16:55:56 localhost.localdomain vncserver_wrapper[8426]: FATAL: 'runuser -l andrei' failed! Mar 17 16:55:56 localhost.localdomain systemd[1]: Unit vncserver@:0.service entered failed state. Mar 17 16:55:56 localhost.localdomain systemd[1]: vncserver@:0.service failed.

Обратите внимание на предупреждение Warning: localhost.localdomain:0 is taken because of /tmp/.X0-lock

Файл .X0-lock нужно удалить

rm /tmp/.X0-lock
systemctl start vncserver@:0
systemctl status vncserver@:0

vncserver@:0.service - Remote desktop service (VNC) Loaded: loaded (/etc/systemd/system/vncserver@:0.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since Wed 2021-03-17 17:14:50 EET; 13s ago Process: 9358 ExecStart=/usr/bin/vncserver_wrapper andrei %i (code=exited, status=2) Process: 9356 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS) Main PID: 9358 (code=exited, status=2) Mar 17 17:14:50 localhost.localdomain systemd[1]: Starting Remote desktop service (VNC)... Mar 17 17:14:50 localhost.localdomain systemd[1]: Started Remote desktop service (VNC). Mar 17 17:14:50 localhost.localdomain vncserver_wrapper[9358]: Warning: localhost.localdomain:0 is taken because of /tmp/.X11-unix/X0 Mar 17 17:14:50 localhost.localdomain vncserver_wrapper[9358]: Remove this file if there is no X server localhost.localdomain:0 Mar 17 17:14:50 localhost.localdomain vncserver_wrapper[9358]: A VNC server is already running as :0 Mar 17 17:14:50 localhost.localdomain systemd[1]: vncserver@:0.service: main process exited, code=exited, status=2/INVALIDARGUMENT Mar 17 17:14:50 localhost.localdomain vncserver_wrapper[9358]: FATAL: 'runuser -l andrei' failed! Mar 17 17:14:50 localhost.localdomain systemd[1]: Unit vncserver@:0.service entered failed state. Mar 17 17:14:50 localhost.localdomain systemd[1]: vncserver@:0.service failed.

Теперь нужно удалить файл .X11-unix/X0k нужно удалить

rm /tmp/.X11-unix/X0k
systemctl daemon-reload
systemctl start vncserver@:0
systemctl status vncserver@:0

vncserver@:0.service - Remote desktop service (VNC) Loaded: loaded (/etc/systemd/system/vncserver@:0.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2021-03-17 17:16:39 EET; 4s ago Process: 9513 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS) Main PID: 9516 (vncserver_wrapp) CGroup: /system.slice/system-vncserver.slice/vncserver@:0.service └─9516 /bin/sh /usr/bin/vncserver_wrapper andrei :0 Mar 17 17:16:39 localhost.localdomain systemd[1]: Starting Remote desktop service (VNC)... Mar 17 17:16:39 localhost.localdomain systemd[1]: Started Remote desktop service (VNC). Mar 17 17:16:42 localhost.localdomain vncserver_wrapper[9516]: WARNING: The first attempt to start Xvnc failed, possibly because the font Mar 17 17:16:42 localhost.localdomain vncserver_wrapper[9516]: catalog is not properly configured. Attempting to determine an appropriate Mar 17 17:16:42 localhost.localdomain vncserver_wrapper[9516]: font path for this system and restart Xvnc using that font path ...

Дисплей 0

Если вы пытаетесь запустить сервер на дисплее 0 и получаете ошибку

● vncserver@:0.service - Remote desktop service (VNC) Loaded: loaded (/etc/systemd/system/vncserver@:0.service; enabled; vendor preset: Active: failed (Result: exit-code) since Thu 2021-03-18 15:50:32 EET; 2min 8s ago Process: 4260 ExecStart=/usr/bin/vncserver_wrapper andrei %i (code=exited, status= Process: 4255 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 Main PID: 4260 (code=exited, status=2) Mar 18 15:50:32 localhost.localdomain vncserver_wrapper[4260]: (EE) Cannot establish Mar 18 15:50:32 localhost.localdomain vncserver_wrapper[4260]: _XSERVTransSocketUNIX Mar 18 15:50:32 localhost.localdomain vncserver_wrapper[4260]: _XSERVTransMakeAllCOT Mar 18 15:50:32 localhost.localdomain vncserver_wrapper[4260]: (EE) Mar 18 15:50:32 localhost.localdomain vncserver_wrapper[4260]: Fatal server error:

Убедитесь, что у вас не запущена X Window System обычно она занимает дисплей 0.

Если запущена - закройте иксы

No user configured for display :1

Похожие статьи
VNC в Rocky
Rocky Linux
Настройка сети в Rocky
XRDP: Удалённый рабочий стол

Поиск по сайту

Подпишитесь на Telegram канал @aofeed чтобы следить за выходом новых статей и обновлением старых

Перейти на канал

@aofeed

Задать вопрос в Телеграм-группе

@aofeedchat

Контакты и сотрудничество:
Рекомендую наш хостинг beget.ru
Пишите на info@urn.su если Вы:
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
2. Хотите разместить на сайте рекламу, подходящую по тематике.
3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте
4. Нашли на сайте ошибку, неточности, баг и т.д. ... .......
5. Статьи можно расшарить в соцсетях, нажав на иконку сети: