
Kugwiritsa ntchito makina enieni Linux Mu Hyper-V, palibe vuto lalikulu kuposa alendo. Windows-ΠΌΠ°ΡΠΈΠ½Π°ΠΌΠΈ. ΠΡΠΈΡΠΈΠ½ΠΎΠΉ ΡΠΎΠΌΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ Hyper-V Π²ΡΠ΅ ΠΆΠ΅ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π½Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ°Π»ΡΡ Π΄Π»Ρ Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ; Π½Π΅Π»ΡΠ·Ρ ΠΏΡΠΎΡΡΠΎ Π²Π·ΡΡΡ, ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΠ°ΠΊΠ΅Ρ Π³ΠΎΡΡΠ΅Π²ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅, Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π°, ΠΎΠ±ΡΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°Π΄ΠΎΡΡΠΈ ΠΆΠΈΠ·Π½ΠΈ, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² VirtualBox.
Hyper-V yokha imapereka - kotero, alendo angagwiritse ntchito mthunzi wa mthunzi wa wolandira (VSS), alendo amatha kutumiza chizindikiro chotseka, alendo akhoza kugwirizanitsa nthawi ya dongosolo ndi woyang'anira virtualization, mafayilo akhoza kusinthidwa kuchokera kwa wolandirayo ndi makina enieni (Copy-VMFile Π² PowerShell). ΠΠ»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
Π³ΠΎΡΡΠ΅Π²ΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ, Π² ΡΠΈΡΠ»Π΅ ΠΊΠΎΡΠΎΡΡΡ
, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΠΈ Windows, Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Virtual Machine Connection (vmconnect.exe) Njira Yowonjezera ya Session ikupezeka, ikugwira ntchito kudzera pa protocol ya RDP ndikukulolani kusamutsa zida za disk ndi osindikiza kumakina enieni, komanso kugwiritsa ntchito bolodi logawana nawo.
Enhanced Session Mode ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² Windows Π² Hyper-V ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ. Π‘ Π³ΠΎΡΡΡΠΌΠΈ Π½Π° Linux Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ RDP-ΡΠ΅ΡΠ²Π΅Ρ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠΉ vsock (ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π²ΠΎΠ΅ Π°Π΄ΡΠ΅ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π² Linux, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠ΅ Π΄Π»Ρ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ Ρ Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠΎΠΌ). ΠΡΠ»ΠΈ Π΄Π»Ρ Ubuntu Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ VMCreate, ΠΈΠ΄ΡΡΠΈΠΌ Ρ Hyper-V Π½Π° Π½Π°ΡΡΠΎΠ»ΡΠ½ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡ Windows, Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Ρ vsock RDP-ΡΠ΅ΡΠ²Π΅Ρ zokhazikitsidwa kale, ndiye ndi magawo ena ndizosamveka bwino - mwachitsanzo, wolemba ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ Π²ΠΊΠ»ΡΡΠΈΡΡ ESM Π² Fedora. ΠΠ΄Π΅ΡΡ ΠΆΠ΅ ΠΌΡ Π°ΠΊΡΠΈΠ²ΠΈΡΡΠ΅ΠΌ Enhanced Session Mode Π΄Π»Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ Ρ Arch Linux.
Kuyika ntchito zophatikiza
Chilichonse chiri chophweka kwambiri apa, timangofunika kukhazikitsa phukusi hyperv kuchokera kumalo osungirako anthu:
% sudo pacman -S hypervTiyeni tiwone VSS ndi ntchito zosinthana ndi mafayilo:
% for i in {vss,fcopy,kvp}; do sudo systemctl enable hv_${i}_daemon.service; doneKukhazikitsa XRDP
posungira Π½Π° 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/archPa nthawi yolemba nkhaniyi, kumasulidwa kwaposachedwa kwa XRDP, komwe kumayikidwa ndi script makepkg.shyomwe yaperekedwa m'malo osungirako ndi 0.9.11, vsock://-address, kotero muyenera kukhazikitsa XRDP kuchokera ku Git ndi Xorg driver wake kuchokera ku AUR pamanja. Chigamba cha XRDP choperekedwa mu AUR nachonso chatha pang'ono, kotero muyenera kusintha PKGBUILD ndikuyika pamanja.
Tiyeni titengere nkhokwe ndi PKGBUILDs kuchokera ku AUR (nthawi zambiri njirayi, pamodzi ndi kumanga, imapangidwa ndi mapulogalamu monga , koma wolemba adachita zonsezi pa dongosolo loyera):
% git clone https://aur.archlinux.org/xrdp-devel-git.git
% git clone https://aur.archlinux.org/xorgxrdp-devel-git.gitTiyeni tiyike XRDP yokha kaye. Tiyeni titsegule fayilo PKGBUILD mkonzi wa malemba aliwonse.
Tiyeni tisinthe magawo omanga. PKGBUILD yomanga XRDP kuchokera ku Git sikuphatikiza chithandizo cha vsock pomanga, ndiye tiyeni tidzithandizire tokha:
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
}Mu chigamba arch-config.diff, ΠΏΡΠ°Π²ΡΡΠ΅ΠΌ ΡΠ½ΠΈΡΡ ΠΈ ΡΠΊΡΠΈΠΏΡΡ Π·Π°ΠΏΡΡΠΊΠ° XRDP ΠΏΠΎΠ΄ ΠΏΡΡΠΈ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌ Π² Arch Linux, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΏΠ°ΡΡ ΠΊ ΡΠΊΡΠΈΠΏΡΡ instfiles/xrdp.sh, yomwe pa nthawi yolemba kuchokera pakugawa kwa XRDP, kotero chigambacho chiyenera kusinthidwa pamanja:
[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 -0600Tiyeni tipange ndikuyika phukusi ndi lamulo % makepkg --skipchecksums -si (kiyi --skipchecksums zofunikira kuletsa kutsimikizira kwa checksum kwa mafayilo oyambira, popeza tidawasintha pamanja).
Tiyeni tipite ku chikwatu xorgxrdp-devel-git, pambuyo pake timangosonkhanitsa phukusi ndi lamulo % makepkg -si.
Tiyeni tipite ku chikwatu linux-vm-tools/arch ndikuyendetsa script install-config.sh, yomwe imakhazikitsa XRDP, PolicyKit ndi PAM:
% sudo ./install-config.shScript imayika zoikamo zakale use_vsock, yomwe yanyalanyazidwa kuyambira mtundu 0.9.11, kotero tiyeni tisinthe fayilo yosinthira /etc/xrdp/xrdp.ini pamanja:
; 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_nodelayOnjezani ku fayilo ~/.xinitrc kuyambitsa malo omwe mumakonda pawindo lazenera / desktop, zomwe zidzachitike seva ya X ikayamba:
% echo "exec i3" > ~/.xinitrcTizimitse makina enieni. Timayatsa zoyendera za vsock pamakina enieni poyendetsa lamulo ili mu PowerShell ngati woyang'anira:
PS Admin > Set-VM -VMName ΠΠΠΠΠΠΠΠ_ΠΠΠ¨ΠΠΠ« -EnhancedSessionTransportType HvSocketTiyeni tiyatsenso makina enieni.
Kulumikizana
Ntchito ya XRDP ikangoyamba dongosolo litayamba, pulogalamu ya vmconnect idzazindikira izi ndipo chinthucho chipezeka pamenyu. View -> Gawo Lowonjezera. Posankha chinthuchi, tidzauzidwa kuti tiyike mawonekedwe a skrini, ndi pa tabu Zosowa zapanyumba Muzokambirana zomwe zimatsegulidwa, mutha kusankha zida zomwe zikuyenera kutumizidwa mugawo la RDP.


Tiyeni tigwirizane. Tiwona zenera lolowera XRDP:

Lowetsani dzina lanu lolowera ndi mawu achinsinsi.
Gwiritsani ntchito
Phindu lazosokoneza izi likuwoneka bwino: gawo la RDP limagwira ntchito bwino kwambiri kuposa pogwira ntchito ndi chiwonetsero chazithunzi popanda Gawo Lowonjezera. Ma disks omwe adatsitsidwa mkati mwa VM kudzera pa RDP akupezeka m'ndandanda ${HOME}/shared-drives:

Chojambula chojambula chimagwira ntchito bwino. Simungathe kutumizira osindikiza mkati; izi sizongothandizidwa, komanso . Phokosolinso siligwira ntchito, koma wolemba sanafune izi. Kuti mujambule njira zazifupi za kiyibodi ngati Alt+Tab, muyenera kukulitsa vmconnect ku sikirini yonse.
ΠΡΠ»ΠΈ ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ Π΅ΡΡΡ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ vmconnect Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π² Windows RDP-ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈΠ»ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ ΡΡΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ, ΡΠΎ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ /etc/xrdp/xrdp.ini port pa tcp://:3389. Ngati makina enieni alumikizidwa ku Default Switch ndikulandila zokonda pamaneti kudzera pa DHCP, ndiye kuti mutha kulumikizana nawo kuchokera kwa wolandila Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΌΠ°ΡΠΈΠ½Ρ.mshome.net. Mutha kulowa mu TTY kuchokera pa vmconnect application pozimitsa Mode Yowonjezera.
Magwero ogwiritsidwa ntchito:
- Malipoti a Bug pa GitHub: ,
Source: www.habr.com
