===== Enhanced Session ===== === Правим сохраненные настройки подключения к сессии VM === Если мы сохранили настройки коннекта к какой-то VM, а теперь нам необходимо их изменить - сделать это можно из PowerShell следующим образом: VMConnect.exe HYPERV_SERVER HYPERV_VM /edit ---- === Настройка Enhanced Session для Ubuntu 22.04 === Обновляем apt apt update && apt upgrade -y Устанавливаем //hv_kvp// драйвер HYPER-V apt install -y linux-tools-virtual${HWE} apt install -y linux-cloud-tools-virtual${HWE} Устанавливаем //xRDP// apt install -y xrdp Настраиваем автостарт //xRDP// systemctl stop xrdp systemctl stop xrdp-sesman Правим конфиги //xRDP// следующим образом: sed -i_orig -e 's/port=3389/port=vsock:\/\/-1:3389/g' /etc/xrdp/xrdp.ini sed -i_orig -e 's/security_layer=negotiate/security_layer=rdp/g' /etc/xrdp/xrdp.ini sed -i_orig -e 's/crypt_level=high/crypt_level=none/g' /etc/xrdp/xrdp.ini sed -i_orig -e 's/bitmap_compression=true/bitmap_compression=false/g' /etc/xrdp/xrdp.ini Пилим скрипт для настрройки сессии if [ ! -e /etc/xrdp/startubuntu.sh ]; then cat >> /etc/xrdp/startubuntu.sh << EOF #!/bin/sh export GNOME_SHELL_SESSION_MODE=ubuntu export XDG_CURRENT_DESKTOP=ubuntu:GNOME exec /etc/xrdp/startwm.sh EOF chmod a+x /etc/xrdp/startubuntu.sh fi Устанавливаем скрипт sed -i_orig -e 's/startwm/startubuntu/g' /etc/xrdp/sesman.ini Делаем ренейм дисков в общие sed -i -e 's/FuseMountName=thinclient_drives/FuseMountName=shared-drives/g' /etc/xrdp/sesman.ini sed -i_orig -e 's/allowed_users=console/allowed_users=anybody/g' /etc/X11/Xwrapper.config Настраиваем запуск //vmw//, если необходимо echo "blacklist vmw_vsock_vmci_transport" > /etc/modprobe.d/blacklist-vmw_vsock_vmci_transport.conf Настраиваем запуск //hv_sock// echo "hv_sock" > /etc/modules-load.d/hv_sock.conf Настраиваем политику для //xRDP// сессий. cat > /etc/polkit-1/localauthority/50-local.d/45-allow-colord.pkla < :!: После данных действий необходимо выключить нашу VM. Дальнейшие действия выполняем на хост-системе с HYPER-V. Проверям, включена ли поддержка //Enhanced session// в принципе - на уровне политики HYPER-V. Get-VMHost | select Name, EnableEnhancedSessionMode Если нет - включаем Set-VMHost -EnableEnhancedSessionMode $true Переключаем нашу VM с //VMBus// на //HVSocket// Set-VM -VMName AdronsPrimaryWorkstation -EnhancedSessionTransportType HvSocket Теперь //Enhanced session// должна заработать. :!: Внимание, если при подключении через //Enhanced session// мы вводим данные на экране //Xorg//, но никакого успешного логина (или ошибки) нет - вероятно в Ubuntu УЖЕ залогинен пользователь, под которым мы пытаемся войти. Для работы сессии необходимо РАЗЛОГИНИТЬСЯ сначала, а потом снова зайти через //Enhanced session// и //Xorg//. ;#; {{:wiki:xorg_ench_sess_hyperv.png|}} ;#; {{tag>Microsoft HYPER-V RDP Ubuntu Linux}}