Nika amandla Imodi Yeseshini Ethuthukisiwe yezivakashi ze-Arch Linux ku-Hyper-V

Nika amandla Imodi Yeseshini Ethuthukisiwe yezivakashi ze-Arch Linux ku-Hyper-V

Ukusebenzisa imishini ebonakalayo ye-Linux ku-Hyper-V ngaphandle kwebhokisi akulula kangako kunemishini ye-Windows yesivakashi. Isizathu salokhu ukuthi i-Hyper-V yayingahloselwe ukusetshenziswa kwedeskithophu; awukwazi ukuvele uqhubeke ufake iphakheji yezengezo zezivakashi futhi uthole ukusheshisa kwezithombe okusebenzisekayo, ibhodi lokunamathisela, izinkomba ezabiwe nezinye izinjabulo zokuphila, njengoba kwenzeka ku-VirtualBox.

I-Hyper-V ngokwayo ihlinzeka amasevisi amaningi okuhlanganisa - 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 zesivakashi, okuhlanganisa, vele, iWindows, 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 ku-Windows ku-Hyper-V ngemva nje kokufaka. Nezivakashi ku-Linux, udinga ukufaka iseva ye-RDP esekela i-vsock (indawo ekhethekile yekheli lenethiwekhi ku-Linux eklanyelwe ukuxhumana ne-hypervisor). Uma ku-Ubuntu, uhlelo lokusebenza lwe-VMCreate oluza ne-Hyper-V kuhlelo lwe-desktop ye-Windows lunesifanekiso esikhethekile somshini obonakalayo esilungiselelwe lapho iseva ye-RDP esebenza nge-vsock I-XRDP esevele efakwe ngaphambili, ngakho-ke ngokunye ukusabalalisa akucaci kahle - isibonelo, umbhali lokhu okuthunyelwe kuvele kunika amandla i-ESM ku-Fedora. Lapha futhi sinika amandla Imodi Yeseshini Ethuthukisiwe yomshini we-Arch Linux virtual.

Ifaka izinsiza zokuhlanganisa

Konke kulula noma kulula lapha, sidinga nje ukufaka iphakheji hyperv kusuka endaweni yokugcina umphakathi:

% sudo pacman -S hyperv

Nika amandla izinsiza ze-VSS, ukushintshanisa imethadatha kanye namafayela:

% for i in {vss,fcopy,kvp}; do sudo systemctl enable hv_${i}_daemon.service; done

Ukufakwa kwe-XRDP

inqolobane amathuluzi e-linux-vm ku-GitHub ihlinzeka ngemibhalo eyenza ngokuzenzakalelayo inqubo yokufaka nokulungisa i-XRDP ye-Arch Linux kanye no-Ubuntu. Faka i-Git, uma ingakafakwa kakade, kanye ne-compiler nenye isofthiwe yokwakha okwenziwa ngesandla, bese uhlanganisa indawo yokugcina:

% sudo pacman -S git base-devel
% git clone https://github.com/microsoft/linux-vm-tools.git
% cd linux-vm-tools/arch

Ngesikhathi salokhu kubhalwa, ukukhishwa kwakamuva kwe-XRDP, okufakwe umbhalo makepkg.shokuhlongozwayo endaweni yokugcina ngu-0.9.11, lapho ukuhlaziya kwephukile 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 Yay, 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.git

Asifake 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, ehlela amayunithi kanye nemibhalo yokuqala ye-XRDP ngaphansi kwezindlela eziya kumafayela asetshenziswa ku-Arch Linux, iqukethe, phakathi kwezinye izinto, isiqeshana sombhalo. instfiles/xrdp.sh, okwathi ngesikhathi sokuloba yasuswa 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 -0600

Yakha 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.sh

Iskripthi 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_nodelay

Engeza kufayela ~/.xinitrc kwethula isiphathimandla sakho sewindi/indawo yedeskithophu oyikhethayo, ezosetshenziswa lapho iseva ye-X iqalwa:

% echo "exec i3" > ~/.xinitrc

Masivale umshini obonakalayo. Nika amandla ukuthutha kwe-vsock kwe-VM ngokusebenzisa umyalo olandelayo ku-PowerShell njengomlawuli:

PS Admin > Set-VM -VMName ΠΠΠ—Π’ΠΠΠ˜Π•_МАШИНЫ -EnhancedSessionTransportType HvSocket

Masivule 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.

Nika amandla Imodi Yeseshini Ethuthukisiwe yezivakashi ze-Arch Linux ku-Hyper-V
Nika amandla Imodi Yeseshini Ethuthukisiwe yezivakashi ze-Arch Linux ku-Hyper-V

Asixhume. Sizobona iwindi lokungena ngemvume le-XRDP:

Nika amandla Imodi Yeseshini Ethuthukisiwe yezivakashi ze-Arch Linux ku-Hyper-V

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:

Nika amandla Imodi Yeseshini Ethuthukisiwe yezivakashi ze-Arch Linux ku-Hyper-V

Ibhodi lokunamathisela lisebenza kahle. Awukwazi ukuphonsa amaphrinta ngaphakathi, lokhu akusekelwa kuphela, kodwa futhi iphula ukudluliselwa kwediski. Umsindo nawo awusebenzi, kodwa umbhali wayengawudingi. Ukuze uthwebule izinqamuleli zekhibhodi njenge-Alt + Tab, udinga ukunweba i-vmconnect kusikrini esigcwele.

Uma ngesizathu esithile kukhona isifiso sokusebenzisa iklayenti le-RDP elakhelwe ku-Windows esikhundleni sohlelo lokusebenza lwe-vmconnect noma, isibonelo, xhuma kulo mshini usuka komunye umshini, uzodinga ukushintsha 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:

  1. I-Hyper-V Arch Wiki
  2. Imibiko yesiphazamisi ku-GitHub: 1, 2

Source: www.habr.com

Engeza amazwana