Linux-แแก แแแ แขแฃแแแฃแ แ แแแแฅแแแแแแก แแแแแงแแแแแ Hyper-V-แจแ แแแ แแ, แแแ แแแแฃแแฌแแแแ แแแแแแแแ แแแแคแแ แขแฃแแแ, แแแแ แ แกแขแฃแแแ แ แแแแแแฃแกแแก แแแแ แแขแแแจแ. แแแแก แแแแแแ แแก แแ แแก, แ แแ Hyper-V แแแแแแแแ แแแแแ แแ แแงแ แแแแแฃแแแแแแ แแแกแแขแแแแก แแแแแงแแแแแแกแแแแก; แแฅแแแ แแ แจแแแแซแแแแ แฃแแ แแแแ แแแแแแ แซแแ แแ แแแแแแกแขแแแแ แแ แกแขแฃแแ แแแแก แแแแแขแแแแแแก แแแแแขแ แแ แแแแฆแแ แกแแแฃแจแแ แแ แแคแแแฃแแ แแฉแฅแแ แแแ, แแฃแคแแ แจแ, แกแแแ แแ แแแ แแฅแขแแ แแแแ แแ แชแฎแแแ แแแแก แกแฎแแ แกแแฎแแ แฃแแ, แ แแแแ แช แแก แฎแแแแ VirtualBox-แจแ.
Hyper-V แแแแแ แฃแแ แฃแแแแแงแแคแก Copy-VMFile
PowerShell-แจแ). แแแแแแ แแ แกแขแฃแแแ แ แแแแ แแชแแฃแแ แกแแกแขแแแแกแแแแก, แแแ แจแแ แแก, แ แ แแฅแแ แฃแแแ, Windows, Virtual Machine Connection แแแแแแแชแแแจแ (vmconnect.exe
) แฎแแแแแกแแฌแแแแแแ แแแซแแแแ แแแฃแแ แกแแกแแแก แ แแแแแ, แ แแแแแแช แแฃแจแแแแก RDP แแ แแขแแแแแแ แแ แกแแจแฃแแแแแแก แแแซแแแแ แแแแแแแแแแแแ แแแกแแแก แแแฌแงแแแแแแแแแ แแ แแ แแแขแแ แแแ แแแ แขแฃแแแฃแ แแแแฅแแแแจแ, แแกแแแ แแแแแแงแแแแ แแแแแแ แแแฃแแ แแฃแคแแ แ.
แแแซแแแแ แแแฃแแ แกแแกแแแก แ แแแแแ แแฃแจแแแแก Windows-แแ Hyper-V-แจแ แแแกแขแแแแชแแแกแแแแแแ. Linux-แแ แกแขแฃแแ แแแแแ แแ แแแ, แแฅแแแ แฃแแแ แแแแแแกแขแแแแ แแ RDP แกแแ แแแ แ, แ แแแแแแช แแฎแแ แก แฃแญแแ แก vsock-แก (แกแแแชแแแแฃแ แ แแแ แขแฃแแแฃแ แ แฅแกแแแแก แแแกแแแแ แแแก แกแแแ แชแ Linux-แจแ, แ แแแแแแช แจแแฅแแแแแแ แฐแแแแ แแแแแ แแแ แแแแฃแแแแแชแแแกแแแแก). แแฃ Ubuntu-แกแแแแก, 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-แแแ แฎแแแแ. AUR-แจแ แจแแแแแแแแแแแฃแแ XRDP แแแขแฉแ แแกแแแ แแแแแ แแแซแแแแแแฃแแแ, แแกแ แ แแ แแฅแแแ แแแแแฌแแแ PKGBUILD แแ แแแฉแแก แฎแแแแ แ แแแแฅแขแแ แแแ.
แฉแแแ แแแแแแ แแแ แกแแชแแแแแก PKGBUILD-แแแแ AUR-แแแ (แฉแแแฃแแแแ แแ, แแก แแ แแชแแแฃแ แ, แแกแแแแแแแกแแแ แแ แแแ, แแแขแแแแขแแแแ แแแฃแแแ แแกแแแ แแ แแแ แแแแแแ, แ แแแแ แแชแแ
% git clone https://aur.archlinux.org/xrdp-devel-git.git
% git clone https://aur.archlinux.org/xorgxrdp-devel-git.git
แแแแแ, แฏแแ แแแแแ แแแแแงแแแแ XRDP. แแแแแ แแแแฎแกแแแ แคแแแแ PKGBUILD
แแแแแกแแแแ แ แขแแฅแกแขแฃแ แ แ แแแแฅแขแแ แ.
แแแแแ แแแแ แแแแฅแขแแ แแ build แแแ แแแแขแ แแแ. PKGBUILD Git-แแแ XRDP-แแก แแกแแจแแแแแแแ แแ แจแแแชแแแก 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 แกแแกแแ แแฃแจแแแแก แแแแ แแ แฃแคแ แ แกแแแแกแฃแฎแแ, แแแแ แ แแแ แขแฃแแแฃแ แแแ แแแแแ แแฃแจแแแแแกแแก แแแซแแแแ แแแฃแแ แกแแกแแแก แแแ แแจแ. VM-แจแ แแแแแแแแแแแแ แแแกแแแแ RDP-แแก แกแแจแฃแแแแแแ แฎแแแแแกแแฌแแแแแแ แแแ แแฅแขแแ แแแจแ ${HOME}/shared-drives
:
แแฃแคแแ แ แแแ แแแ แแฃแจแแแแก. แแฅแแแ แแ แจแแแแซแแแแ แฉแแแแแแ แแ แแแขแแ แแแ แจแแแแแ, แแก แแ แ แแฎแแแแ แแ แแ แแก แแฎแแ แแแญแแ แแแ, แแ แแแแ แแกแแแ
แแฃ แ แแแแ แแแแแแแ แแแฅแแ แกแฃแ แแแแ, แแแแแแงแแแแ Windows-แจแ แฉแแจแแแแแฃแแ RDP แแแแแแขแ vmconnect แแแแแแแชแแแก แแแชแแแแ, แแ, แแแแแแแแแ, แแแฃแแแแจแแ แแแ แแ แแแแฅแแแแก แกแฎแแ แแแแ แแขแแแแ, แแแจแแ แแแแญแแ แแแแแ แคแแแแแก แจแแชแแแ. /etc/xrdp/xrdp.ini
port
on tcp://:3389
. แแฃ แแแ แขแฃแแแฃแ แ แแแแฅแแแ แแแแแแจแแ แแแฃแแแ แแแแฃแแแกแฎแแแ แแแแแแ แแแแแแแ แแ แแฆแแแก แฅแกแแแแก แแแ แแแแขแ แแแก DHCP-แแก แกแแจแฃแแแแแแ, แแแจแแ แจแแแแซแแแแ แแแฃแแแแจแแ แแแ แแแก แฐแแกแขแแแแ: ะฝะฐะทะฒะฐะฝะธะต_ะผะฐัะธะฝั.mshome.net
. TTY-แจแ แจแแกแแแ แจแแแแซแแแแ vmconnect แแแแแแแชแแแแแ แแฎแแแแ แแแซแแแแ แแแฃแแ แ แแแแแแก แแแแแ แแแแ.
แแแแแงแแแแแฃแแ แฌแงแแ แแแแ:
Hyper-V Arch แแแแ - แจแแชแแแแแแแก แจแแกแแฎแแ แจแแขแงแแแแแแแแแ GitHub-แแ:
1 ,2
แฌแงแแ แ: www.habr.com