Настройка VNC сервера в Kali с использованием systemd (для оконного менеджера MATE)

Kali Linux постоянно улучшается и изменяется, поэтому приходится писать похожие статьи. В этот раз рассмотрим обновленный VNC сервер и автоматический запуск его из нового системного менеджера — systemd. Данная статья заменяет вторую часть статьи SSH сервер и VNC сервер в Kali 2 и Kali 2016.
Будем считать, что оконный менеджер MATE уже установлен, если он не установлен, то его можно установить командой:

apt-get install mate-desktop-environment

Один раз запускаем vncserver:

vncserver

При первом запуске сервер попросит указать пароль для входа.

После первого запуска завершаем vncserver:

vncserver -kill :1

И переходим к настройке:

Открываем файл /etc/X11/Xvnc-session
Находим строку:

test x"$1" = x"" && set -- default

и после нее дописываем:

unset DBUS_SESSION_BUS_ADDRESS
export SHELL=/bin/bash
xrdb $HOME/.Xresources
xsetroot -solid grey
export XKL_XMODMAP_DISABLE=1

Должно получиться:

#! /bin/sh
test x"$SHELL" = x"" && SHELL=/bin/bash
test x"$1" = x"" && set -- default

unset DBUS_SESSION_BUS_ADDRESS
export SHELL=/bin/bash
xrdb $HOME/.Xresources
xsetroot -solid grey
export XKL_XMODMAP_DISABLE=1

vncconfig -iconic &
$SHELL -l <

Теперь нужно создать сервис для systemd. Для сервиса создадим файл /etc/systemd/system/vncserver.service и запишем в него:

[Unit] Description=TightVNC remote desktop server
After=syslog.target network.target

[Service] Type=forking
PAMname=login
Restart=on-failure
ExecStart=/usr/bin/vncserver -depth 16 -geometry 1360x768 :10000
User=root

[Install] WantedBy=multi-user.target

Описание параметров сервиса systemd:

Description — описание сервиса;
After — после каких сервисов должен запускаться наш сервис;
Type=forking — сервис запускается однократно и процесс может разветвляться.
PAMname=login — используемый PAM сервис;
Restart=on-failure — перезапускать сервис в случае ошибки.
ExecStart — команда для запуска сервиса;
User — от имени какого пользователя происходит запуск сервиса;
WantedBy — многопользовательский режим без графики.

Описание параметров запуска vncserver:

-depth 16 — глубина цвета (возможно 8,16,24,32 бита);
-geometry 1360×768 — разрешение экрана;
:10000 — номер виртуального экрана. Порт подключения будет 5900 + номер экрана.

Полное описание всех параметров systemd можно прочитать тут.

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

systemctl enable vncserver.service

и запустим сервис:

sudo systemctl start vncserver.service

Теперь можно подключаться к Kali по протоколу VNC.

Заказать Аудит Безопасности или Пентест Вашей IT-инфраструктуры

Быть уверенным в своей IT-инфраструктуре — это быть уверенным в завтрашнем дне.

Для того, чтобы сделать заказ:

Заполните форму обратной связи и мы обязательно с вам свяжемся:
Форма обратной связи
Позвоните нам по телефону:
+7(909)952-44-33
Напишите нам на электронную почту:
order@blackdiver.net
Напишите нам в Telegram:
Telegram
Другие способы связи Вы сможете найти в разделе Контакты.