ื’ืขื‘ืŸ ืขื ื›ืึทื ืกื˜ ืกืขืกื™ืข ืžืึธื“ืข ืคึฟืึทืจ ืึทืจื˜ืฉ ืœื™ื ื•ืงืก ื’ืขืกื˜ ืื™ืŸ Hyper-V

ื’ืขื‘ืŸ ืขื ื›ืึทื ืกื˜ ืกืขืกื™ืข ืžืึธื“ืข ืคึฟืึทืจ ืึทืจื˜ืฉ ืœื™ื ื•ืงืก ื’ืขืกื˜ ืื™ืŸ Hyper-V

ื ื™ืฆืŸ ืœื™ื ื•ืงืก ื•ื•ื™ืจื˜ื•ืึทืœ ืžืืฉื™ื ืขืŸ ืื™ืŸ Hyper-V ืื•ื™ืก ืคื•ืŸ ื“ื™ ืงืขืกื˜ืœ ืื™ื– ืึท ื‘ื™ืกืœ ื•ื•ื™ื™ื ื™ืงืขืจ ื‘ืึทืงื•ื•ืขื ื“ืขืจืคืึทืจื•ื ื’ ื•ื•ื™ ื ื™ืฆืŸ Windows ื’ืึทืกื˜ ืžืืฉื™ื ืขืŸ. ื“ื™ ืกื™ื‘ื” ืคึฟืึทืจ ื“ืขื ืื™ื– ืึทื– Hyper-V ืื™ื– ื ื™ืฉื˜ ืขืจื™ื“ื–ืฉื ืึทืœื™ ื‘ื“ืขื” ืคึฟืึทืจ ื“ืขืกืงื˜ืึทืคึผ ื ื•ืฆืŸ; ืื™ืจ ืงืขื ืขืŸ ื ื™ื˜ ื ืึธืจ ื™ื ืกื˜ืึทืœื™ืจืŸ ืึท ืคึผืขืงืœ ืคื•ืŸ ื’ืึทืกื˜ ืึทื“ื™ืฉืึทื ื– ืื•ืŸ ื‘ืึทืงื•ืžืขืŸ ืคืึทื ื’ืงืฉืึทื ืึทืœ ื’ืจืึทืคื™ืงืก ืึทืงืกืขืœืขืจื™ื™ืฉืึทืŸ, ืึท ืงืœื™ืคึผื‘ืึธืจื“, ืฉืขืจื“ ื“ื™ืจืขืงื˜ืขืจื™ื– ืื•ืŸ ืื ื“ืขืจืข ื“ื–ืฉื•ื™ืก ืคื•ืŸ ืœืขื‘ืŸ, ื•ื•ื™ ื›ืึทืคึผืึทื ื– ืื™ืŸ VirtualBox.

Hyper-V ื–ื™ืš ื’ื™ื˜ ืขื˜ืœืขื›ืข ื™ื ื˜ืึทื’ืจื™ื™ืฉืึทืŸ ื‘ืึทื“ื™ื ื•ื ื’ืก - ืึทื–ื•ื™, ื’ืขืกื˜ ืงืขื ืขืŸ ื ื•ืฆืŸ ื“ื™ ื‘ืึทืœืขื‘ืึธืก 'ืก ืฉืึธื˜ืŸ ืงืึธืคึผื™ืข ื“ื™ื ืกื˜ (VSS), ื’ืขืกื˜ ืงืขื ืขืŸ ืฉื™ืงืŸ ืึท ืฉืึทื˜ื“ืึทื•ืŸ ืกื™ื’ื ืึทืœ, ื’ืขืกื˜ ืงืขื ืขืŸ ืกื™ื ื’ืงืจืึทื ื™ื™ื– ื“ื™ ืกื™ืกื˜ืขื ืฆื™ื™ื˜ ืžื™ื˜ ื“ื™ ื•ื•ื™ืจื˜ื•ืึทืœื™ื–ืึทื˜ื™ืึธืŸ ื‘ืึทืœืขื‘ืึธืก, ื˜ืขืงืขืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื™ืงืกื˜ืฉื™ื™ื ื“ื–ืฉื“ ืคึฟื•ืŸ ื“ืขืจ ื‘ืึทืœืขื‘ืึธืก ืžื™ื˜ ื“ื™ ื•ื•ื™ืจื˜ื•ืึทืœ ืžืึทืฉื™ืŸ (Copy-VMFile ืื™ืŸ PowerShell). ืคึฟืึทืจ ืขื˜ืœืขื›ืข ื’ืึทืกื˜ ืึธืคึผืขืจื™ื™ื˜ื™ื ื’ ืกื™ืกื˜ืขืžืขืŸ, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜, ืคื•ืŸ ืงื•ืจืก, Windows, ืื™ืŸ ื“ื™ ื•ื•ื™ืจื˜ื•ืึทืœ ืžืึทืฉื™ืŸ ืงืึทื ืขืงืฉืึทืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ (vmconnect.exe) ืขื ื›ืึทื ืกื˜ ืกืขืกื™ืข ืžืึธื“ืข ืื™ื– ื‘ื ื™ืžืฆื, ืืจื‘ืขื˜ืŸ ื“ื•ืจืš ื“ื™ RDP ืคึผืจืึธื˜ืึธืงืึธืœ ืื•ืŸ ืึทืœืึทื•ื™ื ื’ ืื™ืจ ืฆื• ืึทืจื™ื‘ืขืจืคื™ืจืŸ ื“ื™ืกืง ื“ืขื•ื•ื™ืกืขืก ืื•ืŸ ืคึผืจื™ื ื˜ืขืจืก ืฆื• ื“ื™ ื•ื•ื™ืจื˜ื•ืึทืœ ืžืึทืฉื™ืŸ, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ื ื•ืฆืŸ ืึท ืฉืขืจื“ ืงืœื™ืคึผื‘ืึธืจื“.

ืขื ื›ืึทื ืกื˜ ืกืขืกื™ืข ืžืึธื“ืข ืึทืจื‘ืขื˜ ืื•ื™ืก ืคื•ืŸ ื“ื™ ืงืขืกื˜ืœ ืื™ืŸ Windows ืื™ืŸ Hyper-V ื’ืœื™ื™ืš ื ืึธืš ื™ื ืกื˜ืึทืœื™ืจื•ื ื’. ืžื™ื˜ ื’ืขืกื˜ ืื•ื™ืฃ ืœื™ื ื•ืงืก, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื™ื ืกื˜ืึทืœื™ืจืŸ ืึท RDP ืกืขืจื•ื•ืขืจ ื•ื•ืึธืก ืฉื˜ื™ืฆื˜ vsock (ืึท ืกืคึผืขืฆื™ืขืœ ื•ื•ื™ืจื˜ื•ืึทืœ ื ืขืฅ ืึทื“ืจืขืก ืคึผืœืึทืฅ ืื™ืŸ ืœื™ื ื•ืงืก ื“ื™ื–ื™ื™ื ื“ ืคึฟืึทืจ ืงืึธืžื•ื ื™ืงืึทืฆื™ืข ืžื™ื˜ ื“ื™ ื›ื™ื™ืคึผืขืจื•ื•ื™ื™ื–ืขืจ). ืื•ื™ื‘ ืคึฟืึทืจ ื•ื‘ื•ื ื˜ื• ืื™ืŸ ื“ื™ VMCreate ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื•ื•ืึธืก ืงื•ืžื˜ ืžื™ื˜ Hyper-V ืื•ื™ืฃ ื“ืขืกืงื˜ืึทืคึผ ืื•ื™ืกื’ืื‘ืขืก ืคื•ืŸ Windows, ืขืก ืื™ื– ืึท ืกืคึผืขืฆื™ืขืœ ืฆื•ื’ืขื’ืจื™ื™ื˜ ื•ื•ื™ืจื˜ื•ืึทืœ ืžืึทืฉื™ืŸ ืžื•ืกื˜ืขืจ ืื™ืŸ ื•ื•ืึธืก ืึท RDP ืกืขืจื•ื•ืขืจ ืืจื‘ืขื˜ืŸ ืžื™ื˜ vsock. ืงืกืจื“ืคึผ ืฉื•ื™ืŸ ืคืึทืจ-ืื™ื ืกื˜ืึทืœื™ืจืŸ, ืื•ืŸ ืžื™ื˜ ืื ื“ืขืจืข ื“ื™ืกื˜ืจื™ื‘ื™ื•ืฉืึทื ื– ืขืก ืื™ื– ื•ื•ื™ื™ื ื™ืงืขืจ ืื•ืŸ ื•ื•ื™ื™ื ื™ืงืขืจ ืงืœืึธืจ - ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ื“ืขืจ ืžื—ื‘ืจ ื“ืขื ืคึผืึธืกื˜ืŸ ืื™ืš ื’ืขืจืื˜ืŸ ืฆื• ื’ืขื‘ืŸ ESM ืื™ืŸ ืคืขื“ืึธืจืึท. ื“ืึธ ืžื™ืจ ื•ื•ืขืœืŸ ืึทืงื˜ืึทื•ื•ื™ื™ื˜ ืขื ื›ืึทื ืกื˜ ืกืขืกื™ืข ืžืึธื“ืข ืคึฟืึทืจ ื“ื™ ืึทืจื˜ืฉ ืœื™ื ื•ืงืก ื•ื•ื™ืจื˜ื•ืึทืœ ืžืึทืฉื™ืŸ.

ื™ื ืกื˜ืึธืœื™ื ื’ ื™ื ื˜ืึทื’ืจื™ื™ืฉืึทืŸ ื‘ืึทื“ื™ื ื•ื ื’ืก

ืึทืœืฅ ืื™ื– ืžืขืจ ืึธื“ืขืจ ื•ื•ื™ื™ื ื™ืงืขืจ ืคึผืฉื•ื˜ ื“ืึธ, ืžื™ืจ ื ืึธืจ ื“ืึทืจืคึฟืŸ ืฆื• ื™ื ืกื˜ืึทืœื™ืจืŸ ื“ืขื ืคึผืขืงืœ hyperv ืคื•ืŸ ื“ื™ ืงื”ืœ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™:

% sudo pacman -S hyperv

ื–ืืœ ืก ื’ืขื‘ืŸ VSS ืื•ืŸ ื•ื•ืขืงืกืœ ื‘ืึทื“ื™ื ื•ื ื’ืก ืžืขื˜ืึทื“ืึทื˜ืึท ืื•ืŸ ื˜ืขืงืขืก:

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

ื™ื ืกื˜ืึธืœื™ื ื’ XRDP

ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ ืœื™ื ื•ืงืก-ื•ื•ื-ืžื›ืฉื™ืจื™ื ืื•ื™ืฃ 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 ืื•ืŸ ืœืึทื˜ืข ืžืึทื ื™ื•ืึทืœื™.

ืœืึธืžื™ืจ ืงืœืึธื•ืŸ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ื– ืžื™ื˜ PKGBUILDs ืคึฟื•ืŸ AUR (ื™ื•ื–ืฉืึทื•ื•ืึทืœื™ ื“ืขื ืคึผืจืึธืฆืขื“ื•ืจ, ืฆื•ื–ืึทืžืขืŸ ืžื™ื˜ ื“ื™ ื‘ื•ื™ืขืŸ, ืื™ื– ืึธื˜ืึทืžื™ื™ื˜ื™ื“ ื“ื•ืจืš ืžื’ื™ืœื” ื•ื•ื™ ื ืžื—ื™ื”, ืึธื‘ืขืจ ื“ืขืจ ืžื—ื‘ืจ ื”ืื˜ ื“ืขื ื’ืื ืฆืข ืคึผืจืึธืฆืขื“ื•ืจ ืื•ื™ืฃ ืึท ืจื™ื™ืŸ ืกื™ืกื˜ืขื):

% 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 ืงืึทื˜ืขืจ ืกืงืจื™ืคึผืก ืื•ื ื˜ืขืจ ื“ื™ ื˜ืขืงืข ืคึผืึทื˜ืก ื’ืขื ื™ืฆื˜ ืื™ืŸ ืึทืจื˜ืฉ ืœื™ื ื•ืงืก, ืื•ื™ืš ื›ึผื•ืœืœ ืึท ืœืึทื˜ืข ืฆื• ื“ื™ ืฉืจื™ืคื˜ 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 ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื•ื•ืขื˜ ื“ืขื˜ืขืงื˜ ื“ืขื ืื•ืŸ ื“ื™ ื ื•ืžืขืจ ื•ื•ืขื˜ ื–ื™ื™ืŸ ื‘ืืจืขื›ื˜ื™ื’ื˜ ืื™ืŸ ื“ื™ ืžืขื ื™ื• ืงื•ืง -> ืขื ื›ืึทื ืกื˜ ืกืขืกื™ืข. ื•ื•ืขืŸ ืกืึทืœืขืงื˜ื™ื ื’ ื“ืขื ื ื•ืžืขืจ, ืžื™ืจ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืคึผืจืึทืžืคึผื˜ื™ื“ ืฆื• ืฉื˜ืขืœืŸ ื“ื™ ืคืึทืจืฉื˜ืขืœืŸ ื”ืึทื›ืœืึธื˜ืข ืื•ืŸ ืื•ื™ืฃ ื“ื™ ืงื•ื•ื™ื˜ืœ ืœืืงืืœืข ืจืขืกืึธื•ืจืกืขืก ืื™ืŸ ื“ื™ ื“ื™ืึทืœืึธื’ ื•ื•ืึธืก ืึธืคึผืขื ืก, ืื™ืจ ืงืขื ืขืŸ ืื•ื™ืกืงืœื™ื™ึทื‘ืŸ ื“ืขื•ื•ื™ืกืขืก ืฆื• ื–ื™ื™ืŸ ืคืึธืจื•ื•ืขืจื“ื™ื“ ืื™ืŸ ื“ื™ RDP ืกืขืกื™ืข.

ื’ืขื‘ืŸ ืขื ื›ืึทื ืกื˜ ืกืขืกื™ืข ืžืึธื“ืข ืคึฟืึทืจ ืึทืจื˜ืฉ ืœื™ื ื•ืงืก ื’ืขืกื˜ ืื™ืŸ Hyper-V
ื’ืขื‘ืŸ ืขื ื›ืึทื ืกื˜ ืกืขืกื™ืข ืžืึธื“ืข ืคึฟืึทืจ ืึทืจื˜ืฉ ืœื™ื ื•ืงืก ื’ืขืกื˜ ืื™ืŸ Hyper-V

ืœืืžื™ืจ ื–ื™ืš ืคืืจื‘ื™ื ื“ืŸ. ืžื™ืจ ื•ื•ืขืœืŸ ื–ืขืŸ ื“ื™ XRDP ืœืึธื’ื™ืŸ ืคึฟืขื ืฆื˜ืขืจ:

ื’ืขื‘ืŸ ืขื ื›ืึทื ืกื˜ ืกืขืกื™ืข ืžืึธื“ืข ืคึฟืึทืจ ืึทืจื˜ืฉ ืœื™ื ื•ืงืก ื’ืขืกื˜ ืื™ืŸ Hyper-V

ืึทืจื™ื™ึทืŸ ื“ื™ื™ืŸ ื ืืžืขืŸ ืื•ืŸ ืคึผืึทืจืึธืœ.

ื ื•ืฆืŸ

ื“ื™ ื ื•ืฅ ืคื•ืŸ ื“ื™ ืžืึทื ื™ืคึผื™ืึทืœื™ื™ืฉืึทื ื– ืื™ื– ื‘ืืžืขืจืงื˜: ื“ื™ RDP ืกืขืกื™ืข ืึทืจื‘ืขื˜ ืคื™ืœ ืžืขืจ ืจื™ืกืคึผืึทื ืกื™ื•ื•ืœื™ ื•ื•ื™ ื•ื•ืขืŸ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ืึท ื•ื•ื™ืจื˜ื•ืึทืœ ืึทืจื•ื™ืกื•ื•ื™ื™ึทื–ืŸ ืึธืŸ ืขื ื›ืึทื ืกื˜ ืกืขืกื™ืข. ื“ื™ืกืงืก ื“ืจืึทืคึผื˜ ื™ืŸ ื“ื™ VM ื“ื•ืจืš RDP ื–ืขื ืขืŸ ื‘ื ื™ืžืฆื ืื™ืŸ ื“ืขืจ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ${HOME}/shared-drives:

ื’ืขื‘ืŸ ืขื ื›ืึทื ืกื˜ ืกืขืกื™ืข ืžืึธื“ืข ืคึฟืึทืจ ืึทืจื˜ืฉ ืœื™ื ื•ืงืก ื’ืขืกื˜ ืื™ืŸ Hyper-V

ื“ื™ ืงืœื™ืคึผื‘ืึธืจื“ ืึทืจื‘ืขื˜ ื’ื•ื˜. ืื™ืจ ืงืขื ืขืŸ ื ื™ืฉื˜ ืคืึธืจื•ื™ืก ืคึผืจื™ื ื˜ืขืจืก ื™ืŸ; ื“ืึธืก ืื™ื– ื ื™ื˜ ื‘ืœื•ื™ื– ื ื™ืฉื˜ ื’ืขืฉื˜ื™ืฆื˜, ืึธื‘ืขืจ ืื•ื™ืš ื‘ืจื™ื™ืงืก ื“ื™ืกืง ืคืึธืจื•ื•ืขืจื“ื™ื ื’. ื“ืขืจ ื’ืขื–ื•ื ื˜ ืื•ื™ืš ื˜ื•ื˜ ื ื™ืฉื˜ ืึทืจื‘ืขื˜ืŸ, ืึธื‘ืขืจ ื“ืขืจ ืžื—ื‘ืจ ื”ืื˜ ื ื™ืฉื˜ ื“ืึทืจืคึฟืŸ ื“ืขื. ืื™ืŸ ืกื“ืจ ืฆื• ื›ืึทืคึผืŸ ืงืœืึทื•ื•ื™ืึทื˜ื•ืจ ื“ื•ืจื›ื•ื•ืขื’ ื•ื•ื™ ืึทืœื˜ + ื˜ืึทื‘, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื™ืงืกืคึผืึทื ื“ vmconnect ืฆื• ืคื•ืœ ืคืึทืจืฉื˜ืขืœืŸ.

ืื•ื™ื‘ ืคึฟืึทืจ ืขื˜ืœืขื›ืข ืกื™ื‘ื” ืื™ืจ ื•ื•ื™ืœืŸ ืฆื• ื ื•ืฆืŸ ื“ื™ RDP ืงืœื™ืขื ื˜ ื’ืขื‘ื•ื™ื˜ ืื™ืŸ Windows ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ื“ื™ vmconnect ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืึธื“ืขืจ, ืœืžืฉืœ, ืคืึทืจื‘ื™ื ื“ืŸ ืฆื• ื“ืขื ืžืึทืฉื™ืŸ ืคึฟื•ืŸ ืืŸ ืื ื“ืขืจ ืžืึทืฉื™ืŸ, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื˜ื•ื™ืฉืŸ ื“ื™ ื˜ืขืงืข. /etc/xrdp/xrdp.ini port ืื•ื™ืฃ tcp://:3389. ืื•ื™ื‘ ื“ื™ ื•ื•ื™ืจื˜ื•ืึทืœ ืžืึทืฉื™ืŸ ืื™ื– ืงืึธื ื ืขืงื˜ืขื“ ืฆื• ื“ื™ืคืึธืœื˜ ืกื•ื•ื™ื˜ืฉ ืื•ืŸ ื ืขืžื˜ ื ืขืฅ ืกืขื˜ื˜ื™ื ื’ืก ื“ื•ืจืš DHCP, ืื™ืจ ืงืขื ืขืŸ ืคืึทืจื‘ื™ื ื“ืŸ ืฆื• ืขืก ืคึฟื•ืŸ ื“ืขืจ ื‘ืึทืœืขื‘ืึธืก ืื™ืŸ ะฝะฐะทะฒะฐะฝะธะต_ะผะฐัˆะธะฝั‹.mshome.net. ืื™ืจ ืงืขื ื˜ ื ืึธืจ ืงืœืึธืฅ ืื™ืŸ TTY ืคึฟื•ืŸ ื“ื™ vmconnect ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื“ื•ืจืš ื•ื™ืกืžืขืงืŸ ืขื ื›ืึทื ืกื˜ ืžืึธื“ืข.

ื’ืขื•ื•ื™ื™ื ื˜ ืงื•ื•ืืœืŸ:

  1. Hyper-V - ืึทืจื˜ืฉ ื•ื•ื™ืงื™
  2. ื–ืฉื•ืง ืจื™ืคึผืึธืจืฅ ืื•ื™ืฃ GitHub: 1, 2

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’