Virkja aukinn fundarham fyrir Arch Linux-gestir í Hyper-V

Virkja aukinn fundarham fyrir Arch Linux-gestir í Hyper-V

Að nota sýndarvélar á Linux Í Hyper-V er upplifunin aðeins óþægilegri en með gestaþjónustu. Windows-vélar. Ástæðan fyrir þessu er sú að Hyper-V var upphaflega ekki hannað fyrir notkun á skjáborðum; þú getur ekki einfaldlega sett upp Guest Additions pakkann og fengið virka grafíkhraða, klippiborð, sameiginlegar möppur og aðra kosti, eins og þú getur með VirtualBox.

Hyper-V sjálft veitir nokkrar samþættingarþjónustur - þannig að gestir geta notað skuggaafritunarþjónustu gestgjafans (VSS), gestir geta sent lokunarmerki, gestir geta samstillt kerfistímann við sýndarvæðingarhýsilinn, hægt er að skiptast á skrám frá gestgjafanum með sýndarvélinni (Copy-VMFile í PowerShell). Fyrir sum gestastýrikerfi, sem að sjálfsögðu felur í sér Windows, í forritinu Sýndarvélatenging (vmconnect.exe) Aukinn lotuhamur er fáanlegur, vinnur með RDP samskiptareglunum og gerir þér kleift að flytja diskatæki og prentara yfir á sýndarvélina, auk þess að nota sameiginlega klemmuspjald.

Aukinn fundarstilling virkar strax Windows í Hyper-V strax eftir uppsetningu. Með gestum á Linux Þú þarft að setja upp RDP-þjón sem styður vsock (sérstakt sýndarnetfangsrými í Linux, hannað til að eiga samskipti við yfirvöktunarbúnaðinn). Ef fyrir Ubuntu í VMCreate forritinu sem fylgir Hyper-V í skjáborðsútgáfum Windows, það er til sérstakt sniðmát fyrir sýndarvél þar sem RDP-þjónn vinnur með vsock XRDP þegar foruppsett, þá er það minna og minna skýrt með öðrum dreifingum - til dæmis höfundurinn þessa færslu Okkur tókst að virkja ESM í Fedora. Hér virkjum við einnig Enhanced Session Mode fyrir Arch sýndarvélina. Linux.

Að setja upp samþættingarþjónustu

Allt er meira og minna einfalt hér, við þurfum bara að setja upp pakkann hyperv úr samfélagsgeymslunni:

% sudo pacman -S hyperv

Kveikjum á VSS og skiptiþjónustu lýsigögn og skrár:

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

Að setja upp XRDP

geymsla linux-vm-tól býður upp á forskriftir á GitHub sem sjálfvirknivæða uppsetningu og stillingu XRDP fyrir Arch. Linux и UbuntuSetjum upp Git, ef það er ekki þegar uppsett, ásamt þýðanda og öðrum hugbúnaði fyrir handvirkar smíðar, og klónum síðan geymsluna:

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

Þegar þessi grein er skrifuð, nýjasta útgáfan af XRDP, sem er sett upp af handritinu makepkg.shsú sem lagt er til í geymslunni er 0.9.11, þar sem þáttun er biluð vsock://-heimilisföng, þannig að þú verður að setja upp XRDP frá Git og Xorg bílstjórinn fyrir það frá AUR handvirkt. XRDP plásturinn sem boðið er upp á í AUR er líka aðeins úreltur, svo þú verður að breyta PKGBUILD og plástrinum handvirkt.

Við skulum klóna geymslur með PKGBUILDs frá AUR (venjulega er þetta ferli, ásamt smíði, sjálfvirkt af forritum eins og bogi, en höfundurinn gerði alla þessa aðferð á hreinu kerfi):

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

Við skulum setja upp XRDP sjálft fyrst. Við skulum opna skrána PKGBUILD hvaða textaritil sem er.

Við skulum breyta byggingarbreytum. PKGBUILD til að byggja XRDP frá Git inniheldur ekki vsock stuðning við byggingu, svo við skulum virkja það sjálf:

 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
 }

Í plásturinn arch-config.diff, reglueiningar og XRDP ræsingarforskriftir undir skráarslóðunum sem notaðar eru í Arch Linux, inniheldur uppfærslu á handritinu instfiles/xrdp.sh, sem þegar þetta er skrifað var fjarlægt frá XRDP dreifingunni, þannig að plásturinn verður að breyta handvirkt:

  [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

Við skulum setja saman og setja upp pakkann með skipuninni % makepkg --skipchecksums -si (lykill --skipchecksums þarf til að slökkva á eftirlitssummustaðfestingu upprunaskráa, þar sem við breyttum þeim handvirkt).

Við skulum fara í möppuna xorgxrdp-devel-git, eftir það setjum við einfaldlega saman pakkann með skipuninni % makepkg -si.

Við skulum fara í möppuna linux-vm-tools/arch og keyra handritið install-config.sh, sem setur XRDP, PolicyKit og PAM stillingar:

% sudo ./install-config.sh

Script setur upp eldri stillingar use_vsock, sem hefur verið hunsuð frá útgáfu 0.9.11, svo við skulum breyta stillingarskránni /etc/xrdp/xrdp.ini handvirkt:

 ;   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

Bæta við skrá ~/.xinitrc ræsir valinn gluggastjóra/skrifborðsumhverfi sem verður keyrt þegar X þjónninn byrjar:

% echo "exec i3" > ~/.xinitrc

Slökkum á sýndarvélinni. Við virkum vsock flutninginn fyrir sýndarvélina með því að keyra eftirfarandi skipun í PowerShell sem stjórnandi:

PS Admin > Set-VM -VMName НАЗВАНИЕ_МАШИНЫ -EnhancedSessionTransportType HvSocket

Kveikjum aftur á sýndarvélinni.

Подключение

Um leið og XRDP þjónustan byrjar eftir að kerfið byrjar mun vmconnect forritið uppgötva þetta og hluturinn verður aðgengilegur í valmyndinni Skoða próf -> Auka fundur. Þegar þetta atriði er valið verðum við beðin um að stilla skjáupplausnina og á flipanum Staðbundin úrræði Í glugganum sem opnast geturðu valið tæki til að senda inn í RDP lotuna.

Virkja aukinn fundarham fyrir Arch Linux-gestir í Hyper-V
Virkja aukinn fundarham fyrir Arch Linux-gestir í Hyper-V

Tengjumst. Við munum sjá XRDP innskráningargluggann:

Virkja aukinn fundarham fyrir Arch Linux-gestir í Hyper-V

Sláðu inn notandanafn og lykilorð.

Nota

Ávinningurinn af þessum meðhöndlun er áberandi: RDP lotan virkar mun móttækilegri en þegar unnið er með sýndarskjá án endurbættrar lotu. Diskar sem sleppt er inn í VM í gegnum RDP eru fáanlegir í möppunni ${HOME}/shared-drives:

Virkja aukinn fundarham fyrir Arch Linux-gestir í Hyper-V

Klemmuspjaldið virkar fínt. Þú getur ekki framsent prentara inni; þetta er ekki aðeins stutt heldur líka brýtur framsendingu disks. Hljóðið virkar heldur ekki en höfundurinn þurfti ekki á þessu að halda. Til að fanga flýtilykla eins og Alt+Tab þarftu að stækka vmconnect í allan skjáinn.

Ef þú vilt af einhverri ástæðu nota innbyggða vmconnect forritið í staðinn fyrir Windows RDP-biðlari eða til dæmis tengjast þessari vél frá annarri vél, þá þarftu að breyta skránni /etc/xrdp/xrdp.ini port á tcp://:3389. Ef sýndarvélin er tengd við Default Switch og fær netstillingar í gegnum DHCP, þá geturðu tengst henni frá gestgjafanum á название_машины.mshome.net. Þú getur aðeins skráð þig inn á TTY úr vmconnect forritinu með því að slökkva á bættri stillingu.

Notaðar heimildir:

  1. Hyper-V - Arch Wiki
  2. Villuskýrslur á GitHub: 1, 2

Heimild: www.habr.com

Kauptu áreiðanlega hýsingu fyrir síður með DDoS vernd, VPS VDS netþjónum 🔥 Kauptu áreiðanlega vefhýsingu með DDoS vörn, VPS VDS netþjónum | ProHoster