User Tools

Site Tools


enhanced_session

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
enhanced_session [2024/11/15 08:40] jpenhanced_session [2024/12/13 13:11] (current) jp
Line 1: Line 1:
 ===== Enhanced Session ===== ===== Enhanced Session =====
 +
 +=== Правим сохраненные настройки подключения к сессии VM ===
  
 Если мы сохранили настройки коннекта к какой-то VM, а теперь нам необходимо их изменить - сделать это можно из PowerShell следующим образом:  Если мы сохранили настройки коннекта к какой-то VM, а теперь нам необходимо их изменить - сделать это можно из PowerShell следующим образом: 
  
    VMConnect.exe HYPERV_SERVER HYPERV_VM /edit    VMConnect.exe HYPERV_SERVER HYPERV_VM /edit
-{{tag>Microsoft HYPER-V RDP}}+ 
 +---- 
 +=== Настройка 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// следующим образом: 
 + 
 +<WRAP prewrap> 
 +<code> 
 +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 
 +</code> 
 +</WRAP> 
 +Пилим скрипт для настрройки сессии 
 + 
 +<WRAP prewrap> 
 +<code> 
 +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 
 +</code> 
 +</WRAP> 
 +Устанавливаем скрипт 
 + 
 +   sed -i_orig -e 's/startwm/startubuntu/g' /etc/xrdp/sesman.ini 
 +Делаем ренейм дисков в общие 
 +<WRAP prewrap> 
 +<code> 
 +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 
 +</code> 
 +</WRAP> 
 + 
 +Настраиваем запуск //vmw//, если необходимо 
 +<WRAP prewrap> 
 +<code> 
 +echo "blacklist vmw_vsock_vmci_transport" > /etc/modprobe.d/blacklist-vmw_vsock_vmci_transport.conf 
 +</code> 
 +</WRAP> 
 +Настраиваем запуск //hv_sock// 
 + 
 +   echo "hv_sock" > /etc/modules-load.d/hv_sock.conf 
 +Настраиваем политику для //xRDP// сессий. 
 + 
 +<WRAP prewrap> 
 +<code> 
 +cat > /etc/polkit-1/localauthority/50-local.d/45-allow-colord.pkla <<EOF 
 +[Allow Colord all Users] 
 +Identity=unix-user:
 +Action=org.freedesktop.color-manager.create-device;org.freedesktop.color-manager.create-profile;org.freedesktop.color-manager.delete-device;org.freedesktop.color-manager.delete-profile;org.freedesktop.color-manager.modify-device;org.freedesktop.color-manager.modify-profile 
 +ResultAny=no 
 +ResultInactive=no 
 +ResultActive=yes 
 +EOF 
 + 
 +systemctl daemon-reload 
 +systemctl start xrdp 
 +</code> 
 +</WRAP> 
 + 
 +:!: После данных действий необходимо выключить нашу 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}}
enhanced_session.1731660003.txt.gz · Last modified: 2024/11/15 08:40 by jp