U yeel Qaabka Kulanka La Wanaajiyey ee martida Arch Linux gudaha Hyper-V

U yeel Qaabka Kulanka La Wanaajiyey ee martida Arch Linux gudaha Hyper-V

Isticmaalka mishiinada farsamada Linux ee Hyper-V ee sanduuqa ka baxsan ayaa xoogaa raaxo yar marka loo eego mashiinada Windows martida. Sababta tani waa in Hyper-V aan markii hore loogu talagalay isticmaalka desktop; Kaliya ma sii socon kartid oo ma rakibi kartid xirmada dheeriga ah ee martida oo aad hesho dardargelinta sawirada la shaqayn karo, sabuuradaha, buug-tusaha la wadaago iyo farxadaha kale ee nolosha, sida ay uga dhacdo VirtualBox.

Hyper-V lafteedu waxay bixisaa adeegyo badan oo isdhexgalka - marka, martidu waxay isticmaali karaan adeegga nuqulka hadhku (VSS) ee martida loo yahay, martida waxay soo diri karaan calaamadda xidhitaanka, martida waxay la jaanqaadi karaan wakhtiga nidaamka iyo martigeliyaha farsamada, faylasha waxaa lagu beddeli karaa mashiinka farsamada ee martigeliyaha (Copy-VMFile ee PowerShell). Qaar ka mid ah nidaamyada hawlgalka martida, oo ay ku jiraan, dabcan, Windows, ee ku jira arjiga Isku xirka Mashiinka Virtual (vmconnect.exe) Qaabka Kalfadhiga La Wanaajiyey ayaa diyaar ah, kaas oo ku shaqeeya hab-maamuuska RDP oo kuu ogolaanaya inaad u gudbiso aaladaha diskooga iyo daabacayaasha mashiinka farsamada, iyo sidoo kale isticmaal sanduuqa la wadaago.

Qaabka Kulanka La Wanaajiyey wuxuu ka shaqeeyaa meel ka baxsan sanduuqa Windows ee Hyper-V isla markaaba rakibidda ka dib. Martida Linux, waxaad u baahan tahay inaad ku rakibto server RDP ah oo taageera vsock (meel ciwaanka shabakadeed khaas ah oo Linux ah oo loogu talagalay in lagula xiriiro hypervisor). Haddii loogu talagalay Ubuntu, arjiga VMCreate ee la socda Hyper-V ee daabacaadaha desktop-ka ee Windows wuxuu leeyahay qaab-dhismeedka mashiinka farsamada ee khaaska ah kaas oo server-ka RDP uu la socdo vsock XRDP mar hore ayaa horay loo sii rakibay, ka dibna qaybinta kale way yar tahay oo way ka yar tahay - tusaale ahaan, qoraaga qoraalkan Waxay u soo baxday inay awood u siiso ESM gudaha Fedora. Halkan waxaan sidoo kale awood u siineynaa Habka Kulanka La Wanaajiyey ee mashiinka farsamada ee Arch Linux.

Ku rakibida adeegyada isdhexgalka

Wax walba waa ka badan ama ka yar fudud halkan, waxaan kaliya u baahanahay inaan rakibo xirmada hyperv Laga soo bilaabo kaydka bulshada:

% sudo pacman -S hyperv

Daar adeegyada VSS, beddelashada metadata iyo faylasha:

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

Rakibaadda XRDP

kayd linux-vm-qalabka on GitHub waxay bixisaa qoraalo toosiya habka rakibida iyo habaynta XRDP ee Arch Linux iyo Ubuntu. Ku rakib Git, haddii aan hore loo rakibin, oo ay la socoto isku-duwaha iyo software kale oo loogu talagalay dhisidda gacanta, ka dibna xidho kaydka:

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

Waqtiga qoraalkan, sii dayntii ugu dambeysay ee XRDP, kaas oo lagu rakibay qoraalka makepkg.shSoo jeedinta kaydka waa 0.9.11, taas oo faaqidaadu ku jabto vsock://Cinwaannada, markaa waa inaad ku rakibtaa XRDP Git iyo darawalka Xorg ee AUR gacanta. Xirmada XRDP ee lagu bixiyo AUR sidoo kale waxyar waa duugoobay, marka waa inaad gacanta ku tafatirto PKGBUILD iyo balastarka.

Waxaanu ku xidhnay kaydadka PKGBUILDs ee AUR (sida caadiga ah nidaamkan, oo ay weheliso isu imaatinka, waxa otomaatig u ah barnaamijyada sida yay, laakiin qoraagu nidaamkan oo dhan wuxuu ku sameeyay nidaam nadiif ah):

% git clone https://aur.archlinux.org/xrdp-devel-git.git
% git clone https://aur.archlinux.org/xorgxrdp-devel-git.git

Aynu marka hore rakibno XRDP lafteeda. Aan furno faylka PKGBUILD tifaftiraha qoraalka kasta.

Aynu tafatirno cabbiraadaha dhismaha. PKGBUILD ee lagu dhisayo XRDP ee Git kuma jiraan taageerada vsock ee dhismaha, markaa aan awood u siino nafteena:

 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
 }

In balastar ah arch-config.diff, kaas oo wax ka beddela cutubyada iyo qoraallada bilowga ah ee XRDP ee hoos yimaada dariiqyada faylasha loo isticmaalo Arch Linux, oo ka kooban, waxyaabo kale, dhejis qoraalka instfiles/xrdp.sh, kaas oo wakhtiga qorista ayaa laga saaray laga soo bilaabo qaybinta XRDP, markaa balastarku waa in si gacan ah loogu tafatiro:

  [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

Ku dhis oo ku rakib xirmada amarka % makepkg --skipchecksums -si (muhiim --skipchecksums ayaa loo baahan yahay si loo joojiyo hubinta hubinta faylalka isha, maadaama aan gacanta ku tafatirnay).

Aan tagno buugga hagaha xorgxrdp-devel-git, ka dib markaa waxaan si fudud u dhiseynaa xirmada amarka % makepkg -si.

Aan tagno buugga hagaha linux-vm-tools/arch oo maamul qoraalka install-config.sh, kaas oo dejinaya XRDP, PolicyKit iyo dejinta PAM:

% sudo ./install-config.sh

Qoraalku wuxuu rakibaa dejinta dhaxalka use_vsock, kaas oo la iska indhotiray ilaa nooca 0.9.11, markaa aan tafatirno faylka qaabeynta /etc/xrdp/xrdp.ini gacanta:

 ;   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

Kudar faylka ~/.xinitrc bilaabista jawiga maamulaha daaqada/desktop-ka ee aad doorbidayso, kaas oo la fulin doono marka server-ka X la bilaabo:

% echo "exec i3" > ~/.xinitrc

Aan damino mashiinka farsamada. U oggolow gaadiidka vsock ee VM adiga oo ku socodsiinaya amarka soo socda ee PowerShell maamule ahaan:

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

Aan mar kale shidno mashiinka farsamada.

Xidhiidhka

Sida ugu dhakhsaha badan ee adeegga XRDP uu bilaabo ka dib bilaabashada nidaamka, codsiga vmconnect ayaa go'aamin doona tan oo shayga menu ayaa diyaar noqon doona. View -> Kalfadhi la wanaajiyey. Markaad dooratid shaygan, waxaa nalagu soo jeedin doonaa inaan dejino xallinta shaashadda, iyo tabka Kheyraadka Deegaanka wada hadalka furma, waxaad dooran kartaa aaladaha loo soo gudbiyay gudaha fadhiga RDP.

U yeel Qaabka Kulanka La Wanaajiyey ee martida Arch Linux gudaha Hyper-V
U yeel Qaabka Kulanka La Wanaajiyey ee martida Arch Linux gudaha Hyper-V

Aan isku xirno. Waxaan arki doonaa daaqada galitaanka XRDP:

U yeel Qaabka Kulanka La Wanaajiyey ee martida Arch Linux gudaha Hyper-V

Geli magacaaga isticmaale iyo eraygaaga sirta ah.

Isticmaal

Faa'iidada ka soo baxda wax-is-daba-marintan waa mid la dareemi karo: fadhiga RDP wuxuu u shaqeeyaa si ka jawaab celin badan marka loo eego marka lagu shaqeynayo bandhig muuqaal ah oo aan lahayn Kalfadhi La Wanaajiyey. Saxannada lagu soo gudbiyo gudaha VM iyadoo la sii marinayo RDP waxay ku jiraan buugga hagaha ${HOME}/shared-drives:

U yeel Qaabka Kulanka La Wanaajiyey ee martida Arch Linux gudaha Hyper-V

Kilibboodhka si fiican buu u shaqaynayaa. Ma daabici kartid gudaha gudaha, tani ma aha oo kaliya mid la taageeray, laakiin sidoo kale jebiyo gudbinta saxanka. Codku sidoo kale ma shaqeeyo, laakiin qoraagu uma baahna. Si aad u qabsato furayaasha kiiboodhka sida Alt + Tab, waxaad u baahan tahay inaad ku kordhiso vmconnect ilaa shaashad buuxda.

Haddii sabab qaar ka mid ah ay jirto rabitaan ah in la isticmaalo macmiilka RDP ee lagu dhisay Windows beddelka codsiga vmconnect ama, tusaale ahaan, ku xidh mashiinkan mashiinka kale, markaa waxaad u baahan doontaa inaad bedesho faylka. /etc/xrdp/xrdp.ini port on tcp://:3389. Haddii mashiinka farsamada uu ku xiran yahay Bedelka Default oo uu helo goobaha shabakada DHCP, markaa waxaad ku xiri kartaa goobta martida loo yahay Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΌΠ°ΡˆΠΈΠ½Ρ‹.mshome.net. Waxa kaliya oo aad TTY ka gali kartaa codsiga vmconnect adiga oo daminaya Qaabka La Wanaajiyey.

Ilaha la isticmaalo:

  1. Hyper-V Arch Wiki
  2. Bug ayaa ka warbixinaya GitHub: 1, 2

Source: www.habr.com

Add a comment