VNC Ubuntu

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

Введение

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

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

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

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

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

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

Установка tightvncserver

Выполните

sudo apt update

Если у вас нет X-сервера выполните

sudo apt install xfce4 xfce4-goodies
sudo apt install tightvncserver

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

vncserver

You will require a password to access your desktops. Password: Warning: password truncated to the length of 8. Verify: Would you like to enter a view-only password (y/n)? n xauth: file /home/andrei/.Xauthority does not exist New 'X' desktop is webserver:1 Creating default startup script /home/andrei/.vnc/xstartup Starting applications specified in /home/andrei/.vnc/xstartup Log file is /home/andrei/.vnc/webserver:1.log

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

Чтобы поменять пароль можно воспользоваться командой vncpasswd

Директория с настройками

ls ~/.vnc

passwd webserver:1.log webserver:1.pid xstartup

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

Запустить VNC sever вручную

Чтобы запустить сервер на следующем свободном порту

vncserver

New 'X' desktop is webserver:2 Starting applications specified in /home/andrei/.vnc/xstartup Log file is /home/andrei/.vnc/webserver:2.log

Настройка

vncserver -kill :1

Killing Xtightvnc process ID 42727

Создайте резервную копию файла с настройками

mv ~/.vnc/xstartup ~/.vnc/xstartup.bak
vi ~/.vnc/xstartup

#!/bin/bash xrdb $HOME/.Xresources startxfce4 &

chmod +x ~/.vnc/xstartup
vncserver -localhost

New 'X' desktop is webserver:1 Starting applications specified in /home/andrei/.vnc/xstartup Log file is /home/andrei/.vnc/webserver:1.log

Проверить статус VNC сервера

systemctl status 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 Tue 2021-03-16 13:49:55 EET; 3min 56s ago Process: 23138 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS) Main PID: 23145 (vncserver_wrapp) CGroup: /system.slice/system-vncserver.slice/vncserver@:1.service ├─23145 /bin/sh /usr/bin/vncserver_wrapper andrei :1 └─24097 /bin/sh /usr/bin/vncserver_wrapper andrei :1 Jul 01 22:40:53 localhost.localdomain systemd[1]: Starting Remote desktop service (VNC)... Jul 01 22:40:53 localhost.localdomain systemd[1]: Started Remote desktop service (VNC). Jul 01 22:40:53 localhost.localdomain vncserver_wrapper[23145]: New 'localhost.localdomain:1 (andrei)' desktop is localhost.localdomain:1 Jul 01 22:40:53 localhost.localdomain vncserver_wrapper[23145]: Creating default startup script /home/andrei/.vnc/xstartup Jul 01 22:40:53 localhost.localdomain vncserver_wrapper[23145]: Creating default config /home/andrei/.vnc/config Jul 01 22:40:53 localhost.localdomain vncserver_wrapper[23145]: Starting applications specified in /home/andrei/.vnc/xstartup Jul 01 22:40:53 localhost.localdomain vncserver_wrapper[23145]: Log file is /home/andrei/.vnc/localhost.localdomain:1.log

Проверить, что 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))

Открыть порт в Firewall

Теперь порт 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

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

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

Подключение к Ubuntu по VNC изображение с сайта www.andreyolegovich.ru
Подключение к Ubuntu по VNC через Remmina
www.andreyolegovich.ru
Подключение к Ubuntu по VNC изображение с сайта www.andreyolegovich.ru
Подключение к Ubuntu по VNC через Remmina
www.andreyolegovich.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 2022-07-01 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) Jul 01 22:40:53 localhost.localdomain systemd[1]: Starting Remote desktop service (VNC)... Jul 01 22:40:53 localhost.localdomain systemd[1]: Started Remote desktop service (VNC). Jul 01 22:40:53 localhost.localdomain vncserver_wrapper[8426]: Warning: localhost.localdomain:0 is taken because of /tmp/.X0-lock Jul 01 22:40:53 localhost.localdomain vncserver_wrapper[8426]: Remove this file if there is no X server localhost.localdomain:0 Jul 01 22:40:53 localhost.localdomain vncserver_wrapper[8426]: A VNC server is already running as :0 Jul 01 22:40:53 localhost.localdomain systemd[1]: vncserver@:0.service: main process exited, code=exited, status=2/INVALIDARGUMENT Jul 01 22:40:53 localhost.localdomain vncserver_wrapper[8426]: FATAL: 'runuser -l andrei' failed! Jul 01 22:40:53 localhost.localdomain systemd[1]: Unit vncserver@:0.service entered failed state. Jul 01 22:40:53 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 2022-07-01 00:01:00 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) Jul 01 22:40:53 localhost.localdomain systemd[1]: Starting Remote desktop service (VNC)... Jul 01 22:40:53 localhost.localdomain systemd[1]: Started Remote desktop service (VNC). Jul 01 22:40:53 localhost.localdomain vncserver_wrapper[9358]: Warning: localhost.localdomain:0 is taken because of /tmp/.X11-unix/X0 Jul 01 22:40:53 localhost.localdomain vncserver_wrapper[9358]: Remove this file if there is no X server localhost.localdomain:0 Jul 01 22:40:53 localhost.localdomain vncserver_wrapper[9358]: A VNC server is already running as :0 Jul 01 22:40:53 localhost.localdomain systemd[1]: vncserver@:0.service: main process exited, code=exited, status=2/INVALIDARGUMENT Jul 01 22:40:53 localhost.localdomain vncserver_wrapper[9358]: FATAL: 'runuser -l andrei' failed! Jul 01 22:40:53 localhost.localdomain systemd[1]: Unit vncserver@:0.service entered failed state. Jul 01 22:40:53 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 2022-07-01 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 Jul 01 22:40:53 localhost.localdomain systemd[1]: Starting Remote desktop service (VNC)... Jul 01 22:40:53 localhost.localdomain systemd[1]: Started Remote desktop service (VNC). Jul 01 22:40:53 localhost.localdomain vncserver_wrapper[9516]: WARNING: The first attempt to start Xvnc failed, possibly because the font Jul 01 22:40:53 localhost.localdomain vncserver_wrapper[9516]: catalog is not properly configured. Attempting to determine an appropriate Jul 01 22:40:53 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) Jul 01 22:40:53 localhost.localdomain vncserver_wrapper[4260]: (EE) Cannot establish Jul 01 22:40:53 localhost.localdomain vncserver_wrapper[4260]: _XSERVTransSocketUNIX Jul 01 22:40:53 localhost.localdomain vncserver_wrapper[4260]: _XSERVTransMakeAllCOT Jul 01 22:40:53 localhost.localdomain vncserver_wrapper[4260]: (EE) Jul 01 22:40:53 localhost.localdomain vncserver_wrapper[4260]: Fatal server error:

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

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

Похожие статьи
Ubuntu
Установка
Настройка сети
SSH: удалённый доступ
SCP: обмен файлами;
Firewall
Дата и время
X Window System Ubuntu
xrandr: Поменять местами экраны
XRDP: Удалённый рабочий стол
VNC: Удалённый рабочий стол
Wayland
Изменить machine-id
Изменить ulimit
xclip: Работа с буфером обмена
dpkg: Установка из .deb файлов
Удалить старые ядра
FAQ
Файлы
Объединить .pdf файлы
diff: сравнение файлов
find: поиск файлов
kill: завершить процесс
make
signal: системные сигналы
env: переменные окружения
localectl: язык
systemctl: Список активных сервисов
cron: задания по расписанию
sudo

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

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

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

@aofeed

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

@aofeedchat

IT

Образование

Актуально сейчас

Разное

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

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

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

@aofeed

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

@aofeedchat

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