
virtual machine ááťáŹá¸ááᯠáĄááŻáśá¸ááźáŻááźááşá¸ Linux Hyper-V áážáŹ box áá˛áááą áá˝ááşááŹááŹá guest áá˛áˇ áážááşáááş áááşá¸áááşá¸ áááşááąáŹááˇáşáááşáᏠááážáááŤáá°á¸á Windows-á ááşááťáŹá¸á ááŽáááŻááźá áşááá˛áˇ áĄááźáąáŹááşá¸áááşá¸áááąáŹáˇ Hyper-V ááᯠáá°áá desktop áĄááŻáśá¸ááźáŻáááŻáˇ ááŽáááŻááşá¸ááŻááşááŹá¸áᏠáááŻááşáááŻáˇááŤá VirtualBox áážáŹááᯠGuest Additions package ááᯠinstall ááŻááşááźáŽá¸ graphics acceleration, clipboard, shared directories áá˛áˇ áĄááźáŹá¸ perks áá˝áąááᯠááááŻááşáážáŹ áááŻááşááŤáá°á¸á
Hyper-V áááŻááşáááŻááş ááąáŹááşááśáˇááąá¸áááşá - áááŻáˇááźáąáŹááˇáşá§ááˇáşáááşááťáŹá¸áááş host ááĄááááşáááášáá°áááşááąáŹááşáážáŻ (VSS) áááŻááŻáśá¸áááŻááşáááşá á§ááˇáşáááşááťáŹá¸áááş shutdown signal áááŻááąá¸áááŻáˇáááŻááşáááşá á§ááˇáşáááşááťáŹá¸áááşá
áá
áşáĄááťáááşááᯠvirtualization host áážááˇáşáááşáá°ááźáŻáááŻááşáááşá áááŻááşááťáŹá¸ááᯠhost ááž virtual machine áážááˇáşááážááşáááŻááşáááşáCopy-VMFile PowerShell áážáŹ)á áĄááťááŻáˇááąáŹ guest operating system ááťáŹá¸áĄáá˝ááşá áááşá¸áá˝ááş áĄáąáŹááşááŤáááŻáˇ ááŤáááşááŤáááşá WindowsVirtual Machine Connection áĄáááŽááąá¸áážááşá¸áá˝ááş (vmconnect.exe) áááŻáááŻááąáŹááşá¸áá˝ááşááąáŹ Session ááŻááşááᯠRDP ááááŻáááŻááąáŹáážáá
áşáááˇáş ááŻááşááąáŹááşáááŻááşááźáŽá¸ áááşáĄáŹá¸ áá
áşááşááááááŹááťáŹá¸áážááˇáş ááááşááŹááťáŹá¸ááᯠvirtual machine áááŻáˇ ááąá¸áááŻáˇáááŻááşáááˇáşáĄááźááş ááťážááąááŹá¸ááąáŹ ááá
áşááŻááşááᯠáĄááŻáśá¸ááźáŻáááŻááşáááşá
Enhanced Session Mode áááş áĄáááŻáĄááťáąáŹááş áĄááŻááşááŻááşááŤáááşá Windows áááˇáşáá˝ááşá¸ááźáŽá¸ááźáŽá¸ááťááşá¸ Hyper-V áážáŹá guests áá˝áąáá˝ááˇáşááŹá¸áááş Linux vsock (áĄáá°á¸ virtual network address space áá áşááŻááᯠsupport ááŻááşáá˛áˇ RDP server áá áşááŻááᯠinstall ááŻááşáááŤáááş)á Linuxhypervisor áážááˇáş áááşáá˝ááşáááş ááŽáááŻááşá¸ááŻááşááŹá¸áááş)á áĄáááşá Ubuntu desktop edition áá˝áąáážáŹ Hyper-V áá˛áˇáĄáá° ááŤááŹáá˛áˇ VMCreate application áážáŹ WindowsRDP server áá áşáᯠvsock áá˛áˇ áĄááŻááşááŻááşáá˛áˇ áĄáá°á¸ááźááşáááşááŹá¸áá˛áˇ virtual machine template áá áşááŻáážáááŤáááşá ááźááŻáááşáááˇáşáá˝ááşá¸ááŹá¸ááźáŽá¸á áááŻáˇááąáŹááş áĄááźáŹá¸ááźááˇáşááąáážáŻááťáŹá¸áážááˇáşáĄáá° áááşá¸áááş áááşá¸ááŤá¸ááźáŽá¸ áážááşá¸áááşá¸ááźááşááŹá¸áááş - áĽáááŹá á áŹááąá¸áá° Fedora áážáŹ ESM ááᯠenable ááŻááşáááŻááşáá˛áˇááŤáááşá ááŽáážáŹáááşá¸ Arch virtual machine áĄáá˝ááş Enhanced Session Mode ááᯠactivate ááŻááşáááŻááşááŤáááşá Linux.
ááąáŤááşá¸á ááşáááşááąáŹááşáážáŻááťáŹá¸ áááˇáşáá˝ááşá¸ááźááşá¸á
á¤ááąááŹáá˝ááş áĄááŹáĄáŹá¸ááŻáśá¸áááş áĄáááşá¸áážááˇáşáĄááťáŹá¸ áááŻá¸áážááşá¸ááŤáááşá ááťá˝ááşáŻááşáááŻáˇáááş áĄááŻááşááᯠáááˇáşáá˝ááşá¸áááş áááŻáĄááşááŤáááşá hyperv community repository ááž-
% sudo pacman -S hypervVSS áááşááąáŹááşáážáŻááťáŹá¸áááŻáá˝ááˇáşááŤá áá˛áážááşááŤá áážááˇáş áááŻááşááťáŹá¸-
% for i in {vss,fcopy,kvp}; do sudo systemctl enable hv_${i}_daemon.service; doneXRDP áááşáááşááźááşá¸á
áááŻáážáąáŹááşáážáŻ Arch áĄáá˝ááş XRDP ááᯠââinstall ááŻááşááźáŽá¸ configure ááŻááşáá˛áˇ ááŻááşáááşá¸á ááşááᯠáĄáááŻáĄááťáąáŹááşááŻááşááąáŹááşááąá¸áá˛áˇ GitHub áážáŹ script áá˝áą ááąá¸ááŤáááşá Linux и UbuntuGit ááᯠinstall áááŻááşáááąá¸áááş compiler áá˛áˇ manual build ááŻááşáááŻáˇ áááźáŹá¸ software áá˝áąáá˛áˇáĄáá° install ááŻááşááźáŽá¸ repository ááᯠclone ááŻááşááźááˇáşááĄáąáŹááşá
% sudo pacman -S git base-devel
% git clone https://github.com/microsoft/linux-vm-tools.git
% cd linux-vm-tools/archá¤ááąá¸ááŹá¸ááťáááşáá˝ááşá ááŹááşáá˝ážááşá¸ááźááˇáşáááˇáşáá˝ááşá¸ááŹá¸áááˇáş XRDP áááąáŹááşááŻáśá¸áá˝ááşáážááážáŻ makepkg.shrepository áá˝ááşáĄáááŻááźáŻááŹá¸áááş 0.9.11á vsock://- ááááşá
áŹááťáŹá¸á áááŻáˇááźáąáŹááˇáş áááşáááş AUR ááž áááşá¸áĄáá˝ááş Git áážááˇáş Xorg ááááŻááşááŹááž XRDP ááᯠââáááˇáşáá˝ááşá¸áááŤáááşá AUR áá˝ááşááąá¸ááŹá¸ááąáŹ XRDP áĄáá˝ááş patch áááş áĄáááşá¸áááş ááąááşááąáŹááşááťááąááąáŹááźáąáŹááˇáş PKGBUILD áážááˇáş patch ááᯠáááŻááşáááŻááşáááşá¸ááźááşááááşááźá
áşááŤáááşá
ááťá˝ááşáŻááşáááŻáˇáááş AUR ááž PKGBUILDs ááťáŹá¸ááźááˇáş áááŻáážáąáŹááşááŹááąááŹááťáŹá¸ááᯠááŻáśáá°áá˝áŹá¸ááźááşá¸ (ááŻáśáážááşáĄáŹá¸ááźááˇáş á¤ááŻááşááŻáśá¸ááŻááşáááşá¸áááş á ááşá¸ááąá¸áá˝á˛áážááˇáşáĄáá°á áá˛áˇáááŻáˇááąáŹ ááááŻááááşááťáŹá¸ááźááˇáş áĄáááŻáĄááťáąáŹááşááŻááşááąáŹááşááŤáááşá áááŻáˇááąáŹáş á áŹááąá¸áá°áááş á¤ááŻááşáááşá¸á ááşáá áşááŻááŻáśá¸ááᯠáááˇáşáážááşá¸ááąáŹá áá áşááźááˇáş ááŻááşááąáŹááşáá˛áˇáááş)á
% git clone https://aur.archlinux.org/xrdp-devel-git.git
% git clone https://aur.archlinux.org/xorgxrdp-devel-git.gitXRDP áááŻááşáááŻááşáĄáááş install ááŻááşááźááˇáşááĄáąáŹááşá áááŻááşáááŻáá˝ááˇáşááźááˇáşááĄáąáŹááş PKGBUILD á
áŹááŹá¸áááşá¸ááźááşáá°ááááŻá
áááşááąáŹááşáážáŻááąáŹááşááťáŹá¸ááᯠáááşá¸ááźááşááźááŤá ááŻáˇá Git ááž XRDP áááşááąáŹááşáááşáĄáá˝ááş PKGBUILD áááş áááşááąáŹááşáážáŻáá˝ááş 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.diffArch áážáŹáĄááŻáśá¸ááźáŻáá˛áˇ áááŻááşáááşá¸ááźáąáŹááşá¸áá˝áąáĄáąáŹááşáážáŹ ruling units áá˝áąá XRDP startup scripts áá˝áą Linux, script áĄáá˝ááş patch áá
áşááŻááŤáááşáááş instfiles/xrdp.shá
áŹááąá¸ááąááťáááşá XRDP ááźááˇáşááźá°á¸áážáŻáážá áááŻáˇááźáąáŹááˇáş patch ááᯠáááŻááşáááŻááşáááşá¸ááźááşáááŤáááş-
[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 ááťá˝ááşáŻááşáááŻáˇáááş áááşá¸áááŻáˇááᯠáááŻááşáááŻááşáááşá¸ááźááşááąáŹááźáąáŹááˇáş áĄáááşá¸áĄááźá
áşáááŻááşááťáŹá¸á checksum á
áá
á
áşááźááşá¸ááᯠááááşáááş áááŻáĄááşááŤáááşá)
áááşá¸áá˝ážááşáááŻáá˝áŹá¸ááĄáąáŹááş xorgxrdp-devel-gitáááŻáˇááąáŹááşáá˝ááşá ááťá˝ááşáŻááşáááŻáˇáááş command ááźááˇáş package áááŻáááŻá¸áážááşá¸á
á˝áŹáááşááąáŹááşáááşá % makepkg -si.
áááşá¸áá˝ážááşáááŻáá˝áŹá¸ááĄáąáŹááş linux-vm-tools/arch áážááˇáş script ááᯠrun install-config.shXRDPá PolicyKit áážááˇáş PAM áááşáááşááťáŹá¸ááᯠáááşáážááşááąá¸áááş-
% sudo ./install-config.shScript áááş áĄáá˝áąáĄáážá
áşáááşáááşááᯠáááˇáşáá˝ááşá¸áááşá use_vsockááŹá¸áážááşá¸ 0.9.11 ááááşá¸á ááťá
áşááťá°áážáŻááŹá¸ááąáŹááźáąáŹááˇáş configuration file ááᯠáááşá¸ááźááşááźááŤá
ááŻáˇá /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" > ~/.xinitrcvirtual machine áááŻááááşáááŻááşááĄáąáŹááşá PowerShell áá˝ááş áĄáąáŹááşá፠command ááᯠá áŽááśáááˇáşáá˝á˛áá°áĄááźá áş ááŻááşááąáŹááşááźááşá¸ááźááˇáş VM áĄáá˝ááş vsock áááşáá°áááŻáˇááąáŹááşááąá¸ááᯠáá˝ááˇáşááŤ-
PS Admin > Set-VM -VMName ĐĐĐĐĐĐĐĐ_ĐĐШĐĐĐŤ -EnhancedSessionTransportType HvSocketvirtual machine ááᯠááźááşáá˝ááˇáşááźááˇáşááĄáąáŹááşá
ĐОдкНŃŃонио
á áá áşá áááşááźáŽá¸ááąáŹááş XRDP áááşááąáŹááşáážáŻá áááşáááşáážááˇáşáááźááŻááşáááş vmconnect áĄáááŽááąá¸áážááşá¸áááş áááşá¸áááŻááŻáśá¸ááźááşáááşááźá áşááźáŽá¸ ááŽáá°á¸áááŻááážááááŻááşáááşááźá áşáááşá ááźááˇáşáážáŻááźááşá¸ -> áĄáááˇáşááźážááˇáşáááşááŹá¸ááąáŹ áĄáááŻááşá¸. á¤áĄááŹááᯠáááşáá˝áąá¸ááťááşááąáŹáĄááŤá ááťááşáážáŹááźááş ááźááşáááşááźááşááŹá¸áážáŻááᯠáááşáážááşáááşáážááˇáş áááşááşááąáŤáşáá˝ááş ááťá˝ááşáŻááşáááŻáˇáĄáŹá¸ áááááąá¸ááŤáááşá ááąáááśáĄáááşá¸áĄááźá áşááťáŹá¸ áá˝ááˇáşáááˇáş áááŻááşááŹááąáŹáˇááşáá˝ááşá áááşáááş RDP á ááşáážááşáĄáá˝ááşá¸ áááşáááˇáşááąá¸áááŻáˇáááˇáş á ááşáá ášá ááşá¸ááťáŹá¸ááᯠáá˝áąá¸ááťááşáááŻááşáááşá


ááťáááşáááşááźááŤá ááŻáˇá ááťá˝ááşáŻááşáááŻáˇáááş XRDP áĄááąáŹááˇáşáááşáááşá¸áááŻá¸áááŻááźááşáááááˇáşáááş-

áááˇáşáĄááŻáśá¸ááźáŻáá°áĄáááşáážááˇáş á ááŹá¸áážááşááᯠáááˇáşáá˝ááşá¸ááŤá
ááĄááŻáśá¸ááźáŻáážáŻ
á¤ááźááşáážááşáážáŻááťáŹá¸ááž áĄááťááŻá¸áĄááźááşáážáŹ ááááŹáááşáážáŹá¸áááş- RDP á
ááşáážááşáááş áááŻáááŻááąáŹááşá¸áá˝ááşááąáŹ áááşáážááşáááŤáááşáᲠvirtual display ááźááˇáş ááŻááşááąáŹááşááąáŹáĄááŤáááş ááťáŹá¸á
á˝áŹáááŻá ááŻáśáˇááźááşáážáŻáážááááşá RDP áážáá
áşáááˇáş VM áĄáá˝ááşá¸áááŻáˇ áááşáááˇáşáááŻáˇááąáŹ disk ááťáŹá¸ááᯠáááşá¸áá˝ážááşáá˝ááş ááááŻááşááŤáááşá ${HOME}/shared-drives:

ááá áşááŻááşáááş ááąáŹááşá¸áá˝ááşá á˝áŹ áĄááŻááşááŻááşááŤáááşá áááşáááş ááááşááŹááťáŹá¸ááᯠáĄáá˝ááşá¸áá˛áááŻáˇ áá áşááťáááááŤá áááşá¸ááᯠáááśáˇáááŻá¸ááŻáśááŹááá . áĄááśáááşá¸ ááťááşááąáááˇáş á áŹááąá¸áá°á ááááŻáĄááşááŤáá°á¸á Alt + Tab áá˛áˇáááŻáˇááąáŹ ááŽá¸ááŻááşááźááşáááşá¸ááťáŹá¸ááᯠáááŻááşáá°á¸áááşáĄáá˝ááş vmconnect ááᯠááťááşáážáŹááźááşáĄááźááˇáşáááŻáˇ ááťá˛áˇáá˝ááşáááş áááŻáĄááşáááşá
áááşáááˇáşáĄááźáąáŹááşá¸ááźáąáŹááˇáşáááᯠbuilt-in vmconnect application áĄá
áŹá¸ áĄááŻáśá¸ááźáŻáááŻááŤá Windows áĽááᏠRDP client ááŤáážáááŻááş áááźáŹá¸á
ááşáááą ááŽá
ááşááᯠááťáááşáááşááźáŽá¸áááş áááŻááşááᯠááźáąáŹááşá¸áá˛áááŻáˇ áááŻáĄááşááŤááááˇáşáááşá /etc/xrdp/xrdp.ini port áĄááąáŤáş tcp://:3389. áĄáááşá virtual machine áááş Default Switch áááŻáˇ ááťáááşáááşááŹá¸ááźáŽá¸ DHCP áážáá
áşáááˇáş áá˝ááşáááşáááşáááşááťáŹá¸ááᯠáááşááśááážáááŤáá áááşá¸ááᯠhost ááž ááťáááşáááşáááŻááşáááşá наСванио_ПаŃинŃ.mshome.net. áĄáááˇáşááźážááˇáşáááşááŻááşááᯠááááşááźááşá¸ááźááˇáş áááşáááş vmconnect áĄáááŽááąá¸áážááşá¸ááž TTY áááŻáˇáᏠáááşááąáŹááşáááŻááşáááşá
áĄááŻáśá¸ááźáŻááąáŹ áĄáááşá¸áĄááźá áşááťáŹá¸:
- GitHub áážá ááťá˝ááşáá˝ááşá¸ááťááşáĄá áŽáááşááśá áŹááťáŹá¸- ,
source: www.habr.com
