Π’ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Enhanced Session Mode для Arch Linux-гостСй Π² Hyper-V

Π’ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Enhanced Session Mode для Arch Linux-гостСй Π² Hyper-V

ПользованиС Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ машинами Π½Π° Linux Π² Hyper-V ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ β€” нСсколько ΠΌΠ΅Π½Π΅Π΅ ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚Π½ΠΎΠ΅ занятиС, Ρ‡Π΅ΠΌ с гостСвыми Windows-машинами. ΠŸΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ Ρ‚ΠΎΠΌΡƒ являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Hyper-V всС ΠΆΠ΅ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π½Π΅ прСдназначался для дСсктопного пользования; нСльзя просто Π²Π·ΡΡ‚ΡŒ, ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ гостСвых Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ работоспособноС графичСскоС ускорСниС, Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°, ΠΎΠ±Ρ‰ΠΈΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ радости ΠΆΠΈΠ·Π½ΠΈ, ΠΊΠ°ΠΊ это происходит Π² VirtualBox.

Hyper-V сам прСдоставляСт нСсколько сСрвисов ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ β€” Ρ‚Π°ΠΊ, гости ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ слуТбой Ρ‚Π΅Π½Π΅Π²ΠΎΠ³ΠΎ копирования (VSS) хоста, гостям ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠ»Π°Ρ‚ΡŒ сигнал Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, гости ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ систСмноС врСмя с хостом Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, с хоста Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΠΎΠ±ΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ с Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машиной (Copy-VMFile Π² PowerShell). Для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… гостСвых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм, Π² числС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ…, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, находится ΠΈ Windows, Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Virtual Machine Connection (vmconnect.exe) доступСн Enhanced Session Mode, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ RDP ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒ Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ дисковыС устройства ΠΈ ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠ±Ρ‰ΠΈΠΌ Π±ΡƒΡ„Π΅Ρ€ΠΎΠΌ ΠΎΠ±ΠΌΠ΅Π½Π°.

Enhanced Session Mode ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Windows Π² Hyper-V сразу послС установки. Π‘ гостями Π½Π° Linux Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ RDP-сСрвСр, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ vsock (ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ сСтСвоС адрСсноС пространство Π² Linux, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ для ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ с Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ΠΎΠΌ). Если для Ubuntu Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ VMCreate, ΠΈΠ΄ΡƒΡ‰ΠΈΠΌ с Hyper-V Π½Π° Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… рСдакциях Windows, Π΅ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ шаблон Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ с vsock RDP-сСрвСр XRDP ΡƒΠΆΠ΅ прСдустановлСн, Ρ‚ΠΎ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ дистрибутивами всС ΠΌΠ΅Π½Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ β€” Ρ‚Π°ΠΊ, Ρƒ Π°Π²Ρ‚ΠΎΡ€Π° этого поста ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ESM Π² Fedora. Π—Π΄Π΅ΡΡŒ ΠΆΠ΅ ΠΌΡ‹ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅ΠΌ Enhanced Session Mode для Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ с Arch Linux.

Установка сСрвисов ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ

Π—Π΄Π΅ΡΡŒ всС Π±ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ просто, Π½Π°ΠΌ достаточно ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ hyperv ΠΈΠ· рСпозитория community:

% sudo pacman -S hyperv

Π’ΠΊΠ»ΡŽΡ‡ΠΈΠΌ сСрвисы VSS, ΠΎΠ±ΠΌΠ΅Π½Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ:

% for i in {vss,fcopy,kvp}; do sudo systemctl enable hv_${i}_daemon.service; done

Установка XRDP

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ linux-vm-tools Π½Π° GitHub прСдоставляСт скрипты, Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ процСсс установки ΠΈ настройки XRDP, для Arch Linux ΠΈ Ubuntu. Установим Git, Ссли ΠΎΠ½ Π΅Ρ‰Π΅ Π½Π΅ установлСн, вмСстС с компилятором ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ софтом для Ρ€ΡƒΡ‡Π½Ρ‹Ρ… сборок, послС Ρ‡Π΅Π³ΠΎ склонируСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ:

% sudo pacman -S git base-devel
% git clone https://github.com/microsoft/linux-vm-tools.git
% cd linux-vm-tools/arch

На ΠΌΠΎΠΌΠ΅Π½Ρ‚ написания этой ΡΡ‚Π°Ρ‚ΡŒΠΈ самым свСТим выпуском XRDP, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ устанавливаСтся скриптом makepkg.sh, ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, являСтся 0.9.11, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ сломан парсинг vsock://-адрСсов, поэтому придСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ XRDP ΠΈΠ· Git ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Xorg ΠΊ Π½Π΅ΠΌΡƒ ΠΈΠ· AUR Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. ΠŸΠ°Ρ‚Ρ‡ ΠΊ XRDP, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹ΠΉ Π² AUR, Ρ‚Π°ΠΊΠΆΠ΅ слСгка устарСл, поэтому придСтся ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ PKGBUILD ΠΈ ΠΏΠ°Ρ‚Ρ‡ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

Π‘ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΠ΅ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ с PKGBUILD-Π°ΠΌΠΈ ΠΈΠ· AUR (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ эту ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ вмСстС со сборкой Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ Π²Ρ€ΠΎΠ΄Π΅ yay, Π½ΠΎ Π°Π²Ρ‚ΠΎΡ€ ΠΏΡ€ΠΎΠ΄Π΅Π»Ρ‹Π²Π°Π» всю эту ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ Π½Π° чистой систСмС):

% git clone https://aur.archlinux.org/xrdp-devel-git.git
% git clone https://aur.archlinux.org/xorgxrdp-devel-git.git

Установим сначала сам XRDP. ΠžΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ Ρ„Π°ΠΉΠ» PKGBUILD Π»ΡŽΠ±Ρ‹ΠΌ тСкстовым Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ.

ΠžΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ сборки. PKGBUILD для сборки XRDP ΠΈΠ· Git Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ vsock ΠΏΡ€ΠΈ сборкС, поэтому Π²ΠΊΠ»ΡŽΡ‡ΠΈΠΌ Π΅Π΅ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ:

 build() {
   cd $pkgname
   ./configure --prefix=/usr 
               --sysconfdir=/etc 
               --localstatedir=/var 
               --sbindir=/usr/bin 
               --with-systemdsystemdunitdir=/usr/lib/systemd/system 
               --enable-jpeg 
               --enable-tjpeg 
               --enable-fuse 
               --enable-opus 
               --enable-rfxcodec 
               --enable-mp3lame 
-              --enable-pixman
+              --enable-pixman 
+              --enable-vsock
   make V=0
 }

Π’ ΠΏΠ°Ρ‚Ρ‡Π΅ arch-config.diff, правящСм ΡŽΠ½ΠΈΡ‚Ρ‹ ΠΈ скрипты запуска XRDP ΠΏΠΎΠ΄ ΠΏΡƒΡ‚ΠΈ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ Π² Arch Linux, содСрТится Π² Ρ‚ΠΎΠΌ числС ΠΏΠ°Ρ‚Ρ‡ ΠΊ скрипту instfiles/xrdp.sh, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ написания ΡΡ‚Π°Ρ‚ΡŒΠΈ Π±Ρ‹Π» ΡƒΠ΄Π°Π»Π΅Π½ ΠΈΠ· поставки XRDP, поэтому ΠΏΠ°Ρ‚Ρ‡ придСтся ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ:

  [Install]
  WantedBy=multi-user.target
-diff -up src/xrdp-devel-git/instfiles/xrdp.sh.orig src/xrdp-devel-git/instfiles/xrdp.sh
---- src/xrdp-devel-git/instfiles/xrdp.sh.orig  2017-08-30 00:27:28.000000000 -0600
-+++ src/xrdp-devel-git/instfiles/xrdp.sh   2017-08-30 00:28:00.000000000 -0600
-@@ -17,7 +17,7 @@
- # Description: starts xrdp
- ### END INIT INFO
- 
--SBINDIR=/usr/local/sbin
-+SBINDIR=/usr/bin
- LOG=/dev/null
- CFGDIR=/etc/xrdp
- 
 diff -up src/xrdp-devel-git/sesman/startwm.sh.orig src/xrdp-devel-git/sesman/startwm.sh
 --- src/xrdp-devel-git/sesman/startwm.sh.orig  2017-08-30 00:27:30.000000000 -0600

Π‘ΠΎΠ±Π΅Ρ€Π΅ΠΌ ΠΈ установим ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ % makepkg --skipchecksums -si (ΠΊΠ»ΡŽΡ‡ --skipchecksums Π½ΡƒΠΆΠ΅Π½ для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… сумм исходных Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΠΈΡ… Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ).

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ xorgxrdp-devel-git, послС Ρ‡Π΅Π³ΠΎ просто собСрСм ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ % makepkg -si.

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ linux-vm-tools/arch ΠΈ запустим скрипт install-config.sh, ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ настройки XRDP, PolicyKit ΠΈ PAM:

% sudo ./install-config.sh

Π‘ΠΊΡ€ΠΈΠΏΡ‚ устанавливаСт ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΡƒΡŽ настройку use_vsock, которая игнорируСтся с вСрсии 0.9.11, поэтому ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ /etc/xrdp/xrdp.ini Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ:

 ;   port=vsock://<cid>:<port>
-port=3389
+port=vsock://-1:3389

 ; 'port' above should be connected to with vsock instead of tcp
 ; use this only with number alone in port above
 ; prefer use vsock://<cid>:<port> above
-use_vsock=true
+;use_vsock=true

 ; regulate if the listening socket use socket option tcp_nodelay

Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π² Ρ„Π°ΠΉΠ» ~/.xinitrc запуск своСго ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΎΠΊΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° / срСды Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ запускС X-сСрвСра:

% echo "exec i3" > ~/.xinitrc

Π’Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΠΌ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ. АктивируСм транспорт vsock для Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² PowerShell ΠΎΡ‚ администратора:

PS Admin > Set-VM -VMName ΠΠΠ—Π’ΠΠΠ˜Π•_МАШИНЫ -EnhancedSessionTransportType HvSocket

Π’ΠΊΠ»ΡŽΡ‡ΠΈΠΌ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ снова.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС запуска систСмы запустится сСрвис XRDP, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ vmconnect это ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ ΠΈ Π² мСню станСт доступСн ΠΏΡƒΠ½ΠΊΡ‚ View -> Enhanced Session. ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ этого ΠΏΡƒΠ½ΠΊΡ‚Π° Π½Π°ΠΌ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ°Ρ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ экрана, Π° Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Local Resources ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅Π³ΠΎΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³Π° ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ устройства, пробрасываСмыС Π²Π½ΡƒΡ‚Ρ€ΡŒ RDP-сСссии.

Π’ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Enhanced Session Mode для Arch Linux-гостСй Π² Hyper-V
Π’ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Enhanced Session Mode для Arch Linux-гостСй Π² Hyper-V

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠΌΡΡ. Π£Π²ΠΈΠ΄ΠΈΠΌ ΠΎΠΊΠ½ΠΎ Π²Ρ…ΠΎΠ΄Π° XRDP:

Π’ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Enhanced Session Mode для Arch Linux-гостСй Π² Hyper-V

Π’Π²Π΅Π΄Π΅ΠΌ свои имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ.

ИспользованиС

ΠŸΡ€ΠΎΡ„ΠΈΡ‚ ΠΎΡ‚ этих манипуляций Π·Π°ΠΌΠ΅Ρ‚Π΅Π½: сСссия RDP Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Π΅Π΅, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ дисплССм Π±Π΅Π· Enhanced Session. ΠŸΡ€ΠΎΠ±Ρ€ΠΎΡˆΠ΅Π½Π½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΡŒ VM Ρ‡Π΅Ρ€Π΅Π· RDP диски доступны Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ${HOME}/shared-drives:

Π’ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Enhanced Session Mode для Arch Linux-гостСй Π² Hyper-V

Π‘ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ. ΠŸΡ€ΠΎΠ±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΡŒ нСльзя, это Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ поддСрТиваСтся, Π½ΠΎ ΠΈ Π»ΠΎΠΌΠ°Π΅Ρ‚ проброс дисков. Π’Π°ΠΊΠΆΠ΅ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π·Π²ΡƒΠΊ, Π½ΠΎ Π°Π²Ρ‚ΠΎΡ€Ρƒ это ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Π»ΠΈΡΡŒ сочСтания клавиш Π²Ρ€ΠΎΠ΄Π΅ Alt+Tab, Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ vmconnect Π½Π° вСсь экран.

Если ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ Π΅ΡΡ‚ΡŒ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ вмСсто прилоТСния vmconnect встроСнный Π² Windows RDP-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΈΠ»ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΊ этой машинС ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ Π² Ρ„Π°ΠΉΠ»Π΅ /etc/xrdp/xrdp.ini port Π½Π° tcp://:3389. Если Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΊ Default Switch ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ сСтСвыС настройки ΠΏΠΎ DHCP, Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π΅ΠΉ с хоста ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ адрСсу Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΌΠ°ΡˆΠΈΠ½Ρ‹.mshome.net. Π’ΠΎΠΉΡ‚ΠΈ Π² TTY ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· прилоТСния vmconnect, Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΠ² Enhanced Mode.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ источники:

  1. Hyper-V β€” Arch Wiki
  2. Π‘Π°Π³Ρ€Π΅ΠΏΠΎΡ€Ρ‚Ρ‹ Π½Π° GitHub: 1, 2

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com