
Kutumia mashine pepe kwenye Linux katika Hyper-V nje ya boksi ni uzoefu usio na raha kidogo kuliko na mgeni Windows-ΠΌΠ°ΡΠΈΠ½Π°ΠΌΠΈ. ΠΡΠΈΡΠΈΠ½ΠΎΠΉ ΡΠΎΠΌΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ Hyper-V Π²ΡΠ΅ ΠΆΠ΅ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π½Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ°Π»ΡΡ Π΄Π»Ρ Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ; Π½Π΅Π»ΡΠ·Ρ ΠΏΡΠΎΡΡΠΎ Π²Π·ΡΡΡ, ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΠ°ΠΊΠ΅Ρ Π³ΠΎΡΡΠ΅Π²ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅, Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π°, ΠΎΠ±ΡΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°Π΄ΠΎΡΡΠΈ ΠΆΠΈΠ·Π½ΠΈ, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² VirtualBox.
Hyper-V yenyewe hutoa - kwa hivyo, wageni wanaweza kutumia huduma ya nakala ya kivuli (VSS) ya mwenyeji, wageni wanaweza kutuma ishara ya kuzima, wageni wanaweza kusawazisha wakati wa mfumo na mwenyeji wa uboreshaji, faili zinaweza kubadilishwa na mashine ya kawaida kutoka kwa mwenyeji (Copy-VMFile Π² PowerShell). ΠΠ»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
Π³ΠΎΡΡΠ΅Π²ΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ, Π² ΡΠΈΡΠ»Π΅ ΠΊΠΎΡΠΎΡΡΡ
, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΠΈ Windows, Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Virtual Machine Connection (vmconnect.exe) Hali ya Kipindi iliyoboreshwa inapatikana, ambayo inafanya kazi kupitia itifaki ya RDP na hukuruhusu kusambaza vifaa vya diski na vichapishi kwenye mashine pepe, na pia kutumia ubao wa kunakili ulioshirikiwa.
Enhanced Session Mode ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² Windows Π² Hyper-V ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ. Π‘ Π³ΠΎΡΡΡΠΌΠΈ Π½Π° Linux Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ RDP-ΡΠ΅ΡΠ²Π΅Ρ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠΉ vsock (ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π²ΠΎΠ΅ Π°Π΄ΡΠ΅ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π² Linux, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠ΅ Π΄Π»Ρ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ Ρ Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠΎΠΌ). ΠΡΠ»ΠΈ Π΄Π»Ρ Ubuntu Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ VMCreate, ΠΈΠ΄ΡΡΠΈΠΌ Ρ Hyper-V Π½Π° Π½Π°ΡΡΠΎΠ»ΡΠ½ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡ Windows, Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Ρ vsock RDP-ΡΠ΅ΡΠ²Π΅Ρ tayari imewekwa, basi kwa usambazaji mwingine ni chini na wazi - kwa mfano, mwandishi ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ Π²ΠΊΠ»ΡΡΠΈΡΡ ESM Π² Fedora. ΠΠ΄Π΅ΡΡ ΠΆΠ΅ ΠΌΡ Π°ΠΊΡΠΈΠ²ΠΈΡΡΠ΅ΠΌ Enhanced Session Mode Π΄Π»Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ Ρ Arch Linux.
Kufunga huduma za ujumuishaji
Kila kitu ni rahisi zaidi au kidogo hapa, tunahitaji tu kusanikisha kifurushi hyperv kutoka kwa hazina ya jamii:
% sudo pacman -S hypervWasha huduma za VSS, kubadilishana na faili:
% for i in {vss,fcopy,kvp}; do sudo systemctl enable hv_${i}_daemon.service; doneUfungaji wa XRDP
hazina Π½Π° 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/archWakati wa kuandika hii, kutolewa hivi karibuni kwa XRDP, ambayo imewekwa na script makepkg.shiliyopendekezwa kwenye ghala ni 0.9.11, vsock://-addresses, kwa hivyo lazima usakinishe XRDP kutoka kwa Git na kiendeshi cha Xorg kwa hiyo kutoka kwa AUR kwa mikono. Kiraka cha XRDP kinachotolewa katika AUR pia kimepitwa na wakati, kwa hivyo itabidi uhariri PKGBUILD na kiraka wewe mwenyewe.
Tunaunganisha hazina na PKGBUILDs kutoka kwa AUR (kawaida utaratibu huu, pamoja na mkusanyiko, hujiendesha kiotomatiki na programu kama vile , lakini mwandishi alifanya utaratibu huu wote kwenye mfumo safi):
% git clone https://aur.archlinux.org/xrdp-devel-git.git
% git clone https://aur.archlinux.org/xorgxrdp-devel-git.gitWacha tusakinishe XRDP yenyewe kwanza. Hebu tufungue faili PKGBUILD mhariri wa maandishi yoyote.
Hebu tuhariri vigezo vya kujenga. PKGBUILD ya kujenga XRDP kutoka Git haijumuishi usaidizi wa vsock kwenye ujenzi, kwa hivyo wacha tuiwezeshe wenyewe:
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
}Katika kiraka arch-config.diff, ΠΏΡΠ°Π²ΡΡΠ΅ΠΌ ΡΠ½ΠΈΡΡ ΠΈ ΡΠΊΡΠΈΠΏΡΡ Π·Π°ΠΏΡΡΠΊΠ° XRDP ΠΏΠΎΠ΄ ΠΏΡΡΠΈ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌ Π² Arch Linux, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΏΠ°ΡΡ ΠΊ ΡΠΊΡΠΈΠΏΡΡ instfiles/xrdp.sh, ambayo wakati wa kuandika kutoka kwa usambazaji wa XRDP, kwa hivyo kiraka kitalazimika kuhaririwa kwa mikono:
[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 -0600Jenga na usakinishe kifurushi kwa amri % makepkg --skipchecksums -si (ufunguo --skipchecksums inahitajika ili kuzima uthibitishaji wa checksum wa faili chanzo, kwa kuwa tulizihariri wenyewe).
Hebu tuende kwenye saraka xorgxrdp-devel-git, baada ya hapo tunaunda kifurushi kwa amri % makepkg -si.
Hebu tuende kwenye saraka linux-vm-tools/arch na endesha hati install-config.sh, ambayo huweka mipangilio ya XRDP, PolicyKit na PAM:
% sudo ./install-config.shHati husakinisha mpangilio wa urithi use_vsock, ambayo imepuuzwa tangu toleo la 0.9.11, kwa hivyo wacha tuhariri faili ya usanidi /etc/xrdp/xrdp.ini kwa mikono:
; 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_nodelayOngeza kwenye faili ~/.xinitrc kuzindua meneja wa dirisha/mazingira ya mezani unayopendelea, ambayo yatatekelezwa seva ya X itakapoanzishwa:
% echo "exec i3" > ~/.xinitrcHebu tuzime mashine ya mtandaoni. Washa usafiri wa vsock kwa VM kwa kutekeleza amri ifuatayo katika PowerShell kama msimamizi:
PS Admin > Set-VM -VMName ΠΠΠΠΠΠΠΠ_ΠΠΠ¨ΠΠΠ« -EnhancedSessionTransportType HvSocketWacha tuwashe tena mashine pepe.
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Mara tu huduma ya XRDP inapoanza baada ya mfumo kuanza, programu ya vmconnect itaamua hili na kipengee cha menyu kitapatikana. Angalia -> Kipindi kilichoboreshwa. Unapochagua kipengee hiki, tutaulizwa kuweka azimio la skrini, na kwenye kichupo Rasilimali za Mitaa kwenye kidirisha kinachofungua, unaweza kuchagua vifaa vinavyotumwa ndani ya kipindi cha RDP.


Hebu tuunganishe. Tutaona dirisha la kuingia la XRDP:

Ingiza jina lako la mtumiaji na nenosiri.
Matumizi ya
Faida kutokana na upotoshaji huu inaonekana: kipindi cha RDP hufanya kazi kwa kuitikia zaidi kuliko wakati wa kufanya kazi na onyesho pepe bila Kipindi Kilichoboreshwa. Diski zilizotumwa ndani ya VM kupitia RDP zinapatikana kwenye saraka ${HOME}/shared-drives:

Ubao wa kunakili unafanya kazi vizuri. Huwezi kutupa vichapishi ndani, hii haitumiki tu, bali pia . Sauti pia haifanyi kazi, lakini mwandishi hakuihitaji. Ili kunasa mikato ya kibodi kama vile Alt + Tab, unahitaji kupanua vmconnect kwenye skrini nzima.
ΠΡΠ»ΠΈ ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ Π΅ΡΡΡ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ vmconnect Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π² Windows RDP-ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈΠ»ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ ΡΡΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ, ΡΠΎ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ /etc/xrdp/xrdp.ini port juu ya tcp://:3389. Ikiwa mashine pepe imeunganishwa kwenye Swichi ya Chaguomsingi na kupokea mipangilio ya mtandao kupitia DHCP, basi unaweza kuiunganisha kutoka kwa seva pangishi kwa. Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΌΠ°ΡΠΈΠ½Ρ.mshome.net. Unaweza tu kuingia kwa TTY kutoka kwa programu ya vmconnect kwa kuzima Hali Iliyoboreshwa.
Vyanzo vilivyotumika:
- Ripoti za mdudu kwenye GitHub: ,
Chanzo: mapenzi.com
