ืืฉืืืืฉ ืืืืื ืืช ืืืจืืืืืืืช ืฉื ืืื ืืงืก ื-Hyper-V ืืืืฅ ืืงืืคืกื ืืื ืงืฆืช ืคืืืช ื ืื ืืืฉืจ ืืืืื ืืช Windows ืืืจืืืช. ืืกืืื ืืื ืืื ืฉื-Hyper-V ืื ื ืืขื ืืืงืืจ ืืฉืืืืฉ ืฉืืืื ื; ืืชื ืื ืืืื ืคืฉืื ืืืืฉืื ืืืืชืงืื ืืช ืืืืืช ืืชืืกืคืืช ืืืืจืืื ืืืงืื ืืืฆืช ืืจืคืืงื ื ืืื ืืขืืืื, ืืื, ืกืคืจืืืช ืืฉืืชืคืืช ืืฉืืจ ืื ืืืช ืืืื, ืืคื ืฉืื ืงืืจื ื-VirtualBox.
Hyper-V ืขืฆืื ืืกืคืง Copy-VMFile
ื- PowerShell). ืขืืืจ ืืื ืืขืจืืืช ืืคืขืื ืืืจืืืช, ืืืื, ืืืืื, Windows, ืืืืฉืื Virtual Machine Connection (vmconnect.exe
) ืืืื ืืฆื ืืคืขืื ืืฉืืคืจ, ืืคืืขื ืืืืฆืขืืช ืคืจืืืืงืื RDP ืืืืคืฉืจ ืืืขืืืจ ืืชืงื ื ืืืกืง ืืืืคืกืืช ืืืืื ื ืืืืจืืืืืืช, ืืื ืื ืืืฉืชืืฉ ืืืื ืืืฉืืชืฃ.
ืืฆื ืืคืขืื ืืฉืืคืจ ืคืืขื ืืืืฅ ืืงืืคืกื ื-Windows ื-Hyper-V ืืื ืืืืจ ืืืชืงื ื. ืขื ืืืจืืื ืืืื ืืงืก, ืขืืื ืืืชืงืื ืฉืจืช RDP ืืชืืื ื-vsock (ืืจืื ืืชืืืืช ืจืฉืช ืืืจืืืืื ืืืืื ืืืื ืืงืก ืฉื ืืขื ืืชืงืฉืจ ืขื ื-Hypervisor). ืื ืขืืืจ ืืืืื ืื, ืืืืฉืื VMCreate ืฉืืืืข ืขื Hyper-V ืืืืืืจืืช ืฉืืืื ืืขืืืื ืฉื Windows ืืฉ ืชืื ืืช ืืืื ื ืืืจืืืืืืช ืืืื ื ืืืืืืช ืฉืื ืฉืจืช RDP ืคืืขื ืขื vsock
ืืชืงื ืช ืฉืืจืืชื ืืื ืืืจืฆืื
ืืื ืคืืืช ืื ืืืชืจ ืคืฉืื ืืื, ืื ืื ื ืจืง ืฆืจืืืื ืืืชืงืื ืืช ืืืืืื hyperv
ืืืืืจ ืืงืืืื:
% sudo pacman -S hyperv
ืืคืฉืจ ืฉืืจืืชื VSS, ืืืืคื
% for i in {vss,fcopy,kvp}; do sudo systemctl enable hv_${i}_daemon.service; done
ืืชืงื ืช XRDP
ืืืืจ
% 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 (ืืืจื ืืื ืืืื ืื, ืืื ืขื ื-assembly, ืืื ืืืืืืื ืขื ืืื ืชืืื ืืืช ืืื
% 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, ืื ืืืื ื ืคืขืื ืืืชื ืืขืฆืื ื:
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
, ืืฉืจ ืืืื ืืชืืืช ืฉืืจืืช ืืื
[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 ืขืืืจ ื-VM ืขื ืืื ืืคืขืืช ืืคืงืืื ืืืื ื-PowerShell ืืื ืื ืืขืจืืช:
PS Admin > Set-VM -VMName ะะะะะะะะ_ะะะจะะะซ -EnhancedSessionTransportType HvSocket
ืืืื ื ืคืขืื ืฉืื ืืช ืืืืื ื ืืืืจืืืืืืช.
ะะพะดะบะปััะตะฝะธะต
ืืจืืข ืฉืฉืืจืืช XRDP ืืชืืื ืืืืจ ืืคืขืืช ืืืขืจืืช, ืืคืืืงืฆืืืช vmconnect ืชืงืืข ืืืช ืืคืจืื ืืชืคืจืื ืืืคืื ืืืืื. ืืฆืคืื -> ืืคืขืื ืืฉืืคืจืช. ืืืฉืจ ืชืืืจ ืืคืจืื ืื, ื ืชืืงืฉ ืืืืืืจ ืืช ืจืืืืืฆืืืช ืืืกื, ืืืืจืืืกืืื ืืฉืืืื ืืงืืืืื ืืชืืืช ืืื-ืฉืื ืฉื ืคืชืืช, ืชืืื ืืืืืจ ืืช ืืืืฉืืจืื ืฉืืืขืืจื ืืชืื ืืคืขืืช RDP.
ืืืื ื ืชืืืจ. ื ืจืื ืืช ืืืื ืืืชืืืจืืช ืฉื XRDP:
ืืื ืืช ืฉื ืืืฉืชืืฉ ืืืกืืกืื ืฉืื.
ืืืฉืชืืฉ
ืืจืืื ืืืื ืืคืืืฆืืืช ืืืื ืืืจืืฉ: ืกืฉื RDP ืขืืื ืืจืื ืืืชืจ ืจืกืคืื ืกืืื ืืืฉืจ ืืขืืืื ืขื ืชืฆืืื ืืืจืืืืืืช ืืื Enhanced Session. ืืืืกืงืื ืฉืืืขืืจื ืืชืื ื-VM ืืืืฆืขืืช RDP ืืืื ืื ืืกืคืจืืื ${HOME}/shared-drives
:
ืืืื ืขืืื ืืกืืจ. ืืชื ืื ืืืื ืืืจืืง ืืืคืกืืช ืคื ืืื, ืื ืื ืจืง ืื ื ืชืื, ืืื ืื
ืื ืืกืืื ืืืฉืื ืืฉ ืจืฆืื ืืืฉืชืืฉ ืืืงืื RDP ืืืืื ื ื-Windows ืืืงืื ืืืืฉืื vmconnect ืื, ืืืฉื, ืืืชืืืจ ืืืืฉื ืื ืืืืฉื ืืืจ, ืื ืชืฆืืจื ืืฉื ืืช ืืช ืืงืืืฅ /etc/xrdp/xrdp.ini
port
ืขื tcp://:3389
. ืื ืืืืื ื ืืืืจืืืืืืช ืืืืืจืช ืืืชื ืืจืืจืช ืืืืื ืืืงืืืช ืืืืจืืช ืจืฉืช ืืืืฆืขืืช DHCP, ืชืืื ืืืชืืืจ ืืืื ืืืืืจื ืืืชืืืช ะฝะฐะทะฒะฐะฝะธะต_ะผะฐัะธะฝั.mshome.net
. ืืชื ืืืื ืืืืื ืก ื-TTY ืจืง ืืืคืืืงืฆืืืช vmconnect ืขื ืืื ืืืืื ืืฆื ืืฉืืคืจ.
ืืงืืจืืช ืืฉืืืฉืื:
Hyper-V Arch Wiki - ืืืืืื ืืืืื ื-GitHub:
1 ,2
ืืงืืจ: www.habr.com