logo

По-умолчанию в Ubuntu уже есть VNC-сервер, который так и называется vncserver. Вы можете установить дополнительно tightvnc, который выступает в роли VNC-сервера.

Командой vncserver вы запускаете VNC-сервер. При первом запуске вам надо будет установить пароль. Пароль должен иметь длину от 6 до 8 символов. Пароли длиной более 8 символов будут автоматически обрезаны. Также можно установить пароль только для просмотра.

Для того, чтобы у нас при подключении отобразилась графическая оболочка KDE мы должны выполнить некоторые изменения в файл ~/.vnc/xstartup.

На всякий случай скопируем данный файл:

sudo cp ~/.vnc/xstartup ~/.vnc/xstartup_old

Потом открываем его:

sudo nano ~/.vnc/xstartup

И для KDE вставляем и сохраняем:

#!/bin/sh
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
/usr/bin/startkde &

Дальше мы можем добавить vncserver в автозагрузку, попутно применив некоторые настройки. Для этого добавим службу. Для этого создаем файл vncserver@.service:

sudo nano /etc/systemd/system/vncserver@.service

Символ @ позволит нам передать аргумент, который мы сможем использовать при настройке службы. Вы будете использовать его, чтобы задать порт дисплея VNC, который хотите использовать при управлении службой.

И вставляем в него:

[Unit]
 Description=service description
 After=gdm.service
 [Service]
 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1920x1080 :%i
 ExecStop=/usr/bin/vncserver -kill :%i
 Type=oneshot
 User=narek
 RemainAfterExit=yes
 [Install]
 WantedBy=multi-user.target

Где User ваш пользователь. В ExecStart можно указать 24-битную глубину цвета и разрешение (здесь 1920x1080).

Сохраняем.

Сообщаем системе о новом файле службы:

sudo systemctl daemon-reload

Включаем службу в автозагрузку:

sudo systemctl enable Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript.

Убиваем активный процесс (если он есть) VNC-сервера:

vncserver -kill :1

Запускаем новые процесс:

sudo systemctl start vncserver@1

Проверяем статус:

sudo systemctl status vncserver@1

Всё, теперь вы можете подключаться через VNC по порту 5901