Download PDF
Download page Подготовка базового ВРМ (настройка гостевой ОС).
Подготовка базового ВРМ (настройка гостевой ОС)
Подготовка базового ВРМ
Обязательные настройки
Для подготовки необходимо:
- в созданной ранее ВМ выполнить настройку гостевой ОС;
- выполнить установку и настройку компонента «Агент» (агента ВРМ, видеоагента, агента виртуальных смарт-карт) Termidesk (см. раздел Установка и удаление компонента документа СЛЕТ.10001-01 90 04 «Руководство администратора. Настройка компонента «Агент»).
Базовое ВРМ в домен вводить не нужно: процесс ввода контролируется параметрами гостевых ОС (см. подраздел Управление параметрами гостевых ОС в Termidesk), которые указываются при создании фонда ВРМ (см. подраздел Добавление фонда ВРМ).
Настройка гостевой ОС Windows сводится к выполнению следующих действий:
- отключить режим гибернации;
- отключить выключение дисплея и жесткого диска в дополнительных параметрах схемы электропитания;
- установить приложения
qemu-guest-agent for Windows
(доступ: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-qemu-ga/qemu-ga-win-106.0.1-1.el9/) иspice-guest-tools
(доступ: https://www.spice-space.org/download/windows/spice-guest-tools/); - установить пакет
spice-webdavd
для Windows (доступ: https://www.spice-space.org/download/windows/spice-webdavd/) для включения возможности перенаправления каталога из пользовательской рабочей станции в ВРМ; - включить возможность удаленного подключения по протоколу RDP. Для включения доступа по протоколу RDP в меню «Пуск» нужно выбрать путь «Параметры - Система - Удаленный рабочий стол» и нажать экранную кнопку [Включить удаленный рабочий стол]. Также снять галочку в экранном поле «Разрешить подключения только с компьютеров, на которых работает удаленный рабочий стол с проверкой подлинности на уровне сети» (рекомендуется выполнить для ОС Windows 7, а также при подключении по протоколу RDP с пользовательской рабочей станции на основе ОС Linux).
Настройка гостевой ОС Astra Linux сводится к выполнению следующих действий:
- установить пакеты
qemu-guest-agent
,spice-vdagent
,xserver-xorg-video-qxl
:
:~$ sudo apt install -y qemu-guest-agent spice-vdagent xserver-xorg-video-qxl
где:
-y
- ключ для пропуска подтверждения установки.
- установить пакет
xrdp
для корректной работы подключения по протоколу RDP к ВРМ:
:~$ sudo apt install -y xrdp
- установить пакет
libcanberra-pulse
для корректной работы аудио:
:~$ sudo apt install -y libcanberra-pulse
- установить пакеты
spice-webdavd
иdavfs2
для включения возможности перенаправления каталога из пользовательской рабочей станции в ВРМ:
:~$ sudo apt install -y spice-webdavd davfs2
Для предоставления пользователям возможности перенаправления каталога в ВРМ необходимо также выполнить настройки, указанные в подразделе Настройка перенаправления каталога из пользовательской рабочей станции в ВРМ.
- привести файл
/etc/acpi/events/powerbtn-acpi-support
к виду:
event=button/power
action=/sbin/poweroff
- установить пакет
astra-ad-sssd-client
при необходимости ввести ВРМ с ОС Astra Linux в домен MS AD:
:~$ sudo apt install -y astra-ad-sssd-client
- установить пакет
astra-freeipa-client
при необходимости ввести ВРМ с ОС Astra Linux в домен FreeIPA:
:~$ sudo apt install -y astra-freeipa-client
При необходимости работы с vGPU по протоколу доставки Loudplay в гостевой ОС дополнительно должны быть установлены серверные драйверы NVIDIA и сервер Loudplay.
Для гостевой ОС Astra Linux необходимо также изменить способ назначения сетевых настроек, для этого необходимо:
- отключить (
systemctl
--now mask
) и удалить (apt remove
) встроенную программу для управления сетевыми соединениямиNetworkManager
:
:~$ sudo systemctl --now mask NetworkManager && sudo apt remove network-manager
- выполнить настройку сетевых интерфейсов при помощи конфигурационных файлов
/etc/network/interfaces.d/<имя интерфейса>.conf
. Необходимо создать конфигурационные файлы и описать их, воспользовавшись справочным центром Astra Linux:https://wiki.astralinux.ru/pages/viewpage.action?pageId=3277370
; - отредактировать файл
/etc/network/interfaces
, добавив в нее следующую строку, если ее нет:
source /etc/network/interfaces.d/*
- после изменения настроек выполнить перезапуск службы сети:
:~$ sudo systemctl restart networking
Для гостевой ОС Linux, отличной от Astra Linux, при необходимости ввода ВРМ в домен FreeIPA нужно внести изменения в файл
/usr/lib/python3.6/site-packages/ipalib/constants.py
:
:~$ sudo sed -i "s/^NAME_REGEX.*$/NAME_REGEX = r'[a-z][_a-z0-9\\\-]*[a-z0-9]$|[a-z]$'/g" $(sudo find / -name constants.py -type f | grep -FzZ 'ipalib/constants.py')
Команда осуществляет поиск файла constants.py
в корневой директории и учитывает, что найденный путь к файлу должен содержать каталог «ipalib». В найденный файл вносится изменение переменной NAME_REGEX
.
Путь к файлу зависит от используемой ОС Linux и версии Python и может отличаться от указанного. Для определения пути к файлу можно воспользоваться утилитой find
:
:~$ sudo find / -name constants.py -type f
Настройка перенаправления каталога из пользовательской рабочей станции в ВРМ
Для того чтобы у пользователя появилась возможность перенаправления каталога в ВРМ, помимо установки пакетов, перечисленных выше, нужно выполнить дополнительную настройку гостевой ОС ВРМ:
- создать каталог для монтирования:
:~$ sudo mkdir /media/davfs
- отредактировать файл
/etc/fstab
, добавив строку:
http://localhost:9843/ /media/davfs davfs users,rw,_netdev,dir_mode=0777,file_mode=666 0 0
где:
http://localhost:9843/
- место размещения файловой системы, по которому определяется устройство хранения для монтирования;
/media/davfs
- каталог, в который будет происходить монтирование;
users,rw
- владелец смонтированной файловой системы с правами на чтение и запись в нее (rw
). Значение users
позволит монтировать файловую систему всем пользователям;
_netdev
- опция автоматического монтирования сетевой файловой системы;
dir_mode=0777,file_mode=666
- права, с которыми будут доступны файлы и каталоги. Рекомендуется не менять указанные значения для исключения случаев монтирования файловой системы от пользователя root
и недоступности файлов при подключении через программу доставки ВРМ (termidesk-viewer
);
- отредактировать файл
/etc/davfs2/secrets
, добавив строку:
http://localhost:9843/ "" ""
- внести в файл
/etc/davfs2/davfs2.conf
наименование группы пользователей и флаг отключения блокирования файлов:
dav_group davfs2
use_locks 0
где:
davfs2
- наименование группы, пользователи которой смогут монтировать файловую систему. Пользователи должны быть членами этой группы, значение должно быть указано в виде имени, а не числового идентификатора;
0
- отключение блокирования файлов, когда они открыты для записи.
Автоматическое масштабирование экрана в ОС Astra Linux
В некоторых случаях при переходе в полноэкранный режим в пользовательской рабочей станции гостевая ОС Astra Linux не производит автоматическое масштабирование экрана.
Условием масштабирования является запущенный процесс spice-vdagent
в сессии пользователя.
Для настройки автоматического масштабирования экрана необходимо:
- отредактировать файл
/etc/udev/rules.d/50-spice-vdagent.rules
, создав правило дляudev
:
ACTION=="change", KERNEL=="card0", SUBSYSTEM=="drm", RUN=="/usr/local/bin/x-resize"
- перезапустить сервис
udev
командой:
:~$ sudo systemctl restart udev
- создать один из вариантов исполняемого файла
/usr/local/bin/x-resize
:- вариант 1 - простое масштабирование:
#! /bin/sh
PATH=/usr/bin
desktopuser=$(/bin/ps -o user:80= -C spice-vdagent | grep -v fly-dm) || exit 0
export DISPLAY=:0
export XAUTHORITY=$(eval echo "~$desktopuser")/.Xauthority
xrandr --output $(xrandr | awk '/ connected/{print $1; exit; }') --auto
- вариант 2 - масштабирование конкретного монитора. В данном примере исполняемого файла второй монитор располагается слева от основного:
#!/bin/sh
PATH=/usr/bin
# Имя пользователя получается через вывод списка пользователей (заголовки отключены), от имени которых запущен spice-vdagent | из списка вырезается имя fly-dm (сессия отображения ввода логина-пароля)
desktopuserlist=$(/bin/ps -o user:80= -C spice-vdagent | grep -v fly-dm) || exit 0
# Проверенное решение, но работает только для имён пользователей без дефисов, пробелов и т.д.
#desktopuserlist=$(/bin/ps -ef | /bin/grep -oP '^\w+ (?=.*vdagent( |$))') || exit 0
for desktopuser in $desktopuserlist; do
export DISPLAY=:0
export XAUTHORITY=$(eval echo "~$desktopuser")/.Xauthority
#Get active monitors
ACTMONS=$(xrandr --listactivemonitors | awk '/[[:alnum:]]+ +/ {print $4}' | sort)
#Get primary monitor
PRIMARYMON=$(xrandr --listactivemonitors | awk '/*/ {print $4}')
#Get current and preferred display resolutions
for MON in $ACTMONS
do
#Get preferred display resolution
PREFRES=$(xrandr | awk -v monpref="$MON connected" '/connected/ {p = 0} $0 ~ monpref {p = 1} p' | awk '/+/ {print $1;}' | sed -n '2~2p')
#Get current display resolution
CURNRES=$(xrandr | awk -v moncurn="$MON connected" '/connected/ {p = 0} $0 ~ moncurn {p = 1} p' | awk '/*/ {print $1;}')
if [[ $CURNRES != $PREFRES ]];
then
if [[ $MON == $PRIMARYMON ]];
then
xrandr --output $MON --auto
logger -p local0.notice -t ${0##*/}[$$] "$MON primary display change resolution to preferred $PREFRES"
else
xrandr --output $MON --left-of $PRIMARYMON --auto
logger -p local0.notice -t ${0##*/}[$$] "$MON display change resolution to preferred $PREFRES and left of $PRIMARYMON"
fi
else
logger -p local0.notice -t ${0##*/}[$$] "$MON display is already using preferred resolution $PREFRES"
fi
done
done
- сделать файл исполняемым при помощи команды:
:~$ sudo chmod +x /usr/local/bin/x-resize
Для масштабирования экрана приветствия необходимо выполнить:
- заблокировать автостарт
kscreen
, переименовав расширение или удалив данные файлы из указанных директорий:/usr/share/fly-dm/autostart/greeter/kscreend_autostart.desktop
,/usr/share/fly-dm/preload/greeter/kscreend_preload.desktop
; - сделать символьную ссылку на ярлык для автозапуска
spice-vdagen
t для экрана приветствия:
:~$ sudo ln -s /etc/xdg/autostart/spice-vdagent.desktop /usr/share/fly-dm/autostart/greeter/spice-vdagent.desktop
- перезапустить процесс
fly-dm
командой:
:~$ sudo systemctl restart fly-dm
Если файл /usr/bin/fly-monitor-hotplug.sh
не является исполняемым или удален, то на экране приветствия масштабирование не выполняется.