
Ukusebenzisa imishini ebonakalayo ku- Linux ku-Hyper-V ngaphandle kwebhokisi kuyinto engakhululekile kangako kunangesivakashi Windows-machines. Isizathu salokhu ukuthi i-Hyper-V yayingaklanyelwanga ukusetshenziswa kwideskithophu ekuqaleni; awukwazi ukufaka nje iphakheji ye-Guest Additions bese uqala ukusebenza ngokusheshisa ihluzo, ibhodi lokunamathisela, amafolda abelwe, nezinye izinzuzo, njengoba ungenza nge-VirtualBox.
I-Hyper-V ngokwayo ihlinzeka - ngakho-ke, izivakashi zingasebenzisa isevisi yekhophi yesithunzi (VSS) yomninikhaya, izivakashi zingathumela isignali yokuvala shaqa, izivakashi zingavumelanisa isikhathi sohlelo nomsingathi we-virtualization, amafayela angashintshwa ngomshini obonakalayo ovela kumsingathi (Copy-VMFile ku-PowerShell). Kwezinye izinhlelo zokusebenza zezivakashi, okuhlanganisa Windows, kuhlelo lokusebenza lwe-Virtual Machine Connection (vmconnect.exe) Imodi Yeseshini Ethuthukisiwe iyatholakala, esebenza ngephrothokholi ye-RDP futhi ikuvumela ukuthi udlulisele amadivayisi wediski namaphrinta emshinini we-virtual, kanye nokusebenzisa ibhodi lokunamathisela okwabelwana ngalo.
Imodi Yeseshini Ethuthukisiwe isebenza ngaphandle kwebhokisi Windows ku-Hyper-V ngokushesha ngemva kokufakwa. Izivakashi zivuliwe Linux udinga ukufaka iseva ye-RDP esekela i-vsock (indawo ekhethekile yekheli lenethiwekhi ebonakalayo ku Linux, eklanyelwe ukuxhumana ne-hypervisor). Uma Ubuntu kuhlelo lokusebenza lwe-VMCreate oluza nezinhlelo ze-Hyper-V kudeskithophu Windows, kukhona ithempulethi ekhethekile yomshini obonakalayo elungiselelwe lapho iseva ye-RDP isebenza khona ne-vsock esevele efakwe ngaphambili, ngakho-ke ngokunye ukusabalalisa akucaci kahle - isibonelo, umbhali Sikwazile ukunika amandla i-ESM ku-Fedora. Lapha siphinde sisebenzise i-Enhanced Session Mode yomshini we-Arch virtual. Linux.
Ifaka izinsiza zokuhlanganisa
Konke kulula noma kulula lapha, sidinga nje ukufaka iphakheji hyperv kusuka endaweni yokugcina umphakathi:
% sudo pacman -S hypervNika amandla izinsiza ze-VSS, ukushintshanisa kanye namafayela:
% for i in {vss,fcopy,kvp}; do sudo systemctl enable hv_${i}_daemon.service; doneUkufakwa kwe-XRDP
inqolobane inikeza izikripthi ku-GitHub ezenza inqubo yokufaka nokulungiselela i-XRDP ye-Arch ibe ngokuzenzakalela Linux и UbuntuAke sifake i-Git, uma ingakafakwa kakade, kanye ne-compiler kanye nenye isofthiwe yokwakha ngesandla, bese sihlanganisa indawo yokugcina:
% sudo pacman -S git base-devel
% git clone https://github.com/microsoft/linux-vm-tools.git
% cd linux-vm-tools/archNgesikhathi salokhu kubhalwa, ukukhishwa kwakamuva kwe-XRDP, okufakwe umbhalo makepkg.shokuhlongozwayo endaweni yokugcina ngu-0.9.11, vsock://-amakheli, ngakho-ke kufanele ufake i-XRDP esuka ku-Git kanye nomshayeli we-Xorg wayo kusuka ku-AUR ngesandla. Isiqeshana se-XRDP esinikezwa ku-AUR naso siphelelwe yisikhathi, ngakho-ke kuzodingeka uhlele i-PKGBUILD nesichibi mathupha.
Sihlanganisa amakhosombe ngama-PKGBUILD asuka ku-AUR (imvamisa le nqubo, kanye nomhlangano, izenzekela ngezinhlelo ezifana , kodwa umbhali wenze yonke le nqubo ohlelweni oluhlanzekile):
% git clone https://aur.archlinux.org/xrdp-devel-git.git
% git clone https://aur.archlinux.org/xorgxrdp-devel-git.gitAsifake i-XRDP ngokwayo kuqala. Asivule ifayela PKGBUILD noma yimuphi umhleli wombhalo.
Masihlele amapharamitha wokwakha. I-PKGBUILD yokwakha i-XRDP esuka ku-Git ayifaki ukwesekwa kwe-vsock ekwakhiweni, ngakho-ke masizinike amandla ngokwethu:
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
}Eqenjini arch-config.diff, amayunithi abusayo kanye nezikripthi zokuqala ze-XRDP ngaphansi kwezindlela zefayela ezisetshenziswa ku-Arch Linux, iqukethe i-patch kuskripthi instfiles/xrdp.sh, okwathi ngesikhathi sokuloba kusukela ekusatshalalisweni kwe-XRDP, ngakho-ke isiqeshana kuzodingeka sihlelwe ngesandla:
[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 -0600Yakha futhi ufake iphakheji ngomyalo % makepkg --skipchecksums -si (ukhiye --skipchecksums iyadingeka ukuze ukhubaze ukuqinisekiswa kwe-checksum kwamafayela omthombo, njengoba siwahlele mathupha).
Ake siye ohlwini lwemibhalo xorgxrdp-devel-git, ngemva kwalokho simane sakhe iphakheji ngomyalo % makepkg -si.
Ake siye ohlwini lwemibhalo linux-vm-tools/arch bese ugijima iskripthi install-config.sh, esetha izilungiselelo ze-XRDP, PolicyKit kanye ne-PAM:
% sudo ./install-config.shIskripthi sifaka izilungiselelo zefa use_vsock, enganakwa kusukela kunguqulo 0.9.11, ngakho-ke asihlele ifayela lokumisa /etc/xrdp/xrdp.ini ngokwenza:
; 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_nodelayEngeza kufayela ~/.xinitrc kwethula isiphathimandla sakho sewindi/indawo yedeskithophu oyikhethayo, ezosetshenziswa lapho iseva ye-X iqalwa:
% echo "exec i3" > ~/.xinitrcMasivale umshini obonakalayo. Nika amandla ukuthutha kwe-vsock kwe-VM ngokusebenzisa umyalo olandelayo ku-PowerShell njengomlawuli:
PS Admin > Set-VM -VMName НАЗВАНИЕ_МАШИНЫ -EnhancedSessionTransportType HvSocketMasivule umshini obonakalayo futhi.
I-Подключение
Ngokushesha nje lapho isevisi ye-XRDP iqala ngemva kokuqala kwesistimu, uhlelo lokusebenza lwe-vmconnect luzonquma lokhu futhi into yemenyu izotholakala. Buka -> Iseshini ethuthukisiwe. Uma ukhetha le nto, sizotshelwa ukuthi simise ukulungiswa kwesikrini, nakuthebhu Izinsiza Zendawo engxoxweni evulayo, ungakhetha amadivayisi adluliselwe ngaphakathi kweseshini ye-RDP.


Asixhume. Sizobona iwindi lokungena ngemvume le-XRDP:

Faka igama lakho lomsebenzisi nephasiwedi.
Sebenzisa
Inzuzo evela kulokhu kukhohlisa iyabonakala: iseshini ye-RDP isebenza ngokusabela kakhulu kunalapho isebenza ngesibonisi esibonakalayo ngaphandle kweSeshini Ethuthukisiwe. Amadiski adluliselwe ngaphakathi kwe-VM nge-RDP ayatholakala kuhla lwemibhalo ${HOME}/shared-drives:

Ibhodi lokunamathisela lisebenza kahle. Awukwazi ukuphonsa amaphrinta ngaphakathi, lokhu akusekelwa kuphela, kodwa futhi . Umsindo nawo awusebenzi, kodwa umbhali wayengawudingi. Ukuze uthwebule izinqamuleli zekhibhodi njenge-Alt + Tab, udinga ukunweba i-vmconnect kusikrini esigcwele.
Uma nganoma yisiphi isizathu ufuna ukusebenzisa uhlelo lokusebenza lwe-vmconnect olwakhelwe ngaphakathi esikhundleni se- Windows Iklayenti le-RDP noma, isibonelo, xhuma kulo mshini kusuka komunye umshini, khona-ke kuzodingeka ushintshe ifayela /etc/xrdp/xrdp.ini port on tcp://:3389. Uma umshini we-virtual uxhunywe ku-Switch Default futhi uthola izilungiselelo zenethiwekhi nge-DHCP, ungakwazi ukuxhuma kuwo kusuka kumsingathi ku- название_машины.mshome.net. Ungangena kuphela ku-TTY kusukela kuhlelo lokusebenza lwe-vmconnect ngokuvala Imodi Ethuthukisiwe.
Imithombo esetshenzisiwe:
- Imibiko yesiphazamisi ku-GitHub: ,
Source: www.habr.com
