ProHoster > Blogi > Haldamine > Luba täiustatud seansirežiim Arch Linuxi külaliste jaoks Hyper-V-s
Luba täiustatud seansirežiim Arch Linuxi külaliste jaoks Hyper-V-s
Linuxi virtuaalmasinate kasutamine Hyper-V-s karbist väljas on mõnevõrra vähem mugav kui külalis Windowsi masinatega. Põhjus on selles, et Hyper-V ei olnud algselt mõeldud lauaarvuti kasutamiseks; te ei saa lihtsalt minna ja installida külaliste lisade pakett ja saada toimiva graafikakiirendus, lõikelaud, jagatud kataloogid ja muud elurõõmud, nagu see VirtualBoxis juhtub.
Hyper-V ise pakub mitu integratsiooniteenust - seega saavad külalised kasutada hosti varikoopiateenust (VSS), külalised saavad saata väljalülitussignaali, külalised saavad sünkroonida süsteemiaega virtualiseerimishostiga, faile saab hostist virtuaalmasinaga vahetada (Copy-VMFile PowerShellis). Mõne külalisoperatsioonisüsteemi, sealhulgas muidugi Windowsi jaoks rakenduses Virtual Machine Connection (vmconnect.exe) Saadaval on täiustatud seansirežiim, mis töötab RDP-protokolli kaudu ja võimaldab kettaseadmeid ja printereid virtuaalmasinasse edastada, samuti kasutada jagatud lõikepuhvrit.
Täiustatud seansirežiim töötab Windowsis Hyper-V-s kohe pärast installimist. Linuxi külaliste puhul peate installima RDP-serveri, mis toetab vsocki (spetsiaalne virtuaalse võrgu aadressiruum Linuxis, mis on loodud hüperviisoriga suhtlemiseks). Ubuntu puhul on Windowsi töölauaväljaannetes Hyper-V-ga kaasas oleval VMCreate rakendusel spetsiaalne ettevalmistatud virtuaalmasina mall, milles RDP-server töötab koos vsockiga XRDP juba eelinstallitud, siis teiste distributsioonidega on see järjest vähem selge – näiteks autor see postitus selgus, et see lubab Fedoras ESM-i. Siin lubame ka Arch Linuxi virtuaalmasina jaoks täiustatud seansirežiimi.
Integratsiooniteenuste installimine
Siin on kõik enam-vähem lihtne, peame lihtsalt paketi installima hyperv kogukonna hoidlast:
% for i in {vss,fcopy,kvp}; do sudo systemctl enable hv_${i}_daemon.service; done
XRDP installimine
hoidla linux-vm-tööriistad GitHubis pakub skripte, mis automatiseerivad XRDP installimise ja konfigureerimise protsessi Arch Linuxi ja Ubuntu jaoks. Installige Git, kui see pole veel installitud, koos kompilaatori ja muu käsitsi koostamise tarkvaraga ning seejärel kloonige hoidla:
Selle kirjutamise ajal XRDP uusim väljalase, mille skript installib makepkg.shhoidlas pakutud on 0.9.11, milles sõelumine on katkenudvsock://-aadressid, nii et peate installima XRDP Gitist ja Xorgi draiveri AUR-ist käsitsi. AUR-is pakutav XRDP plaaster on samuti veidi vananenud, nii et peate PKGBUILD-i ja plaastrit käsitsi redigeerima.
Kloonime hoidlad AUR-ist pärit PKGBUILD-idega (tavaliselt automatiseerivad selle protseduuri koos kokkupanekuga sellised programmid nagu jess, kuid autor tegi kogu selle protseduuri puhtas süsteemis):
Plaastris arch-config.diff, mis redigeerib üksusi ja XRDP käivitusskripte Arch Linuxis kasutatavate failide teede all, sisaldab muuhulgas skripti paika instfiles/xrdp.sh, mis kirjutamise ajal eemaldati XRDP distributsioonist, seega tuleb plaastrit käsitsi redigeerida:
Ehitage ja installige pakett käsuga % makepkg --skipchecksums -si (võti --skipchecksums on vajalik lähtefailide kontrollsumma kontrollimise keelamiseks, kuna muutsime neid käsitsi).
Läheme kataloogi xorgxrdp-devel-git, mille järel ehitame paketi lihtsalt käsuga % makepkg -si.
Läheme kataloogi linux-vm-tools/arch ja käivitage skript install-config.sh, mis määrab XRDP, PolicyKiti ja PAM-i sätted:
% sudo ./install-config.sh
Skript installib pärandseade use_vsock, mida eiratakse alates versioonist 0.9.11, nii et redigeerime konfiguratsioonifaili /etc/xrdp/xrdp.ini käsitsi:
; 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
Lisa faili ~/.xinitrc eelistatud aknahalduri/töölauakeskkonna käivitamine, mis käivitatakse X-serveri käivitamisel:
% echo "exec i3" > ~/.xinitrc
Lülitame virtuaalmasina välja. Lubage VM-i jaoks vsocki transport, käivitades PowerShellis administraatorina järgmise käsu:
Niipea, kui XRDP-teenus käivitub pärast süsteemi käivitumist, teeb vmconnect rakendus selle kindlaks ja menüüelement muutub kättesaadavaks. vaade -> Täiustatud seanss. Kui valite selle üksuse, palutakse meil määrata ekraani eraldusvõime ja vahekaardil Kohalikud ressursid avanevas dialoogiaknas saate valida RDP seansi sees edastatud seadmed.
Ühendame. Näeme XRDP sisselogimisakent:
Sisesta oma kasutajanimi ja parool.
Kasutama
Nendest manipulatsioonidest saadav kasum on märgatav: RDP seanss töötab palju tundlikumalt kui töötades virtuaalse kuvaga ilma täiustatud seansita. VM-is RDP kaudu edastatud kettad on kataloogis saadaval ${HOME}/shared-drives:
Lõikelaud töötab hästi. Te ei saa printereid sisse visata, seda mitte ainult ei toetata, vaid ka katkestab ketta edastamise. Heli ka ei tööta, aga autoril polnud seda vaja. Klaviatuuri otseteede (nt Alt + Tab) jäädvustamiseks peate laiendama vmconnecti täisekraanile.
Kui mingil põhjusel tekib soov vmconnect rakenduse asemel kasutada Windowsi sisseehitatud RDP klienti või näiteks selle masinaga teisest masinast ühenduda, siis tuleb faili muuta /etc/xrdp/xrdp.iniport edasi tcp://:3389. Kui virtuaalmasin on ühendatud vaikelülitiga ja võtab võrgusätted vastu DHCP kaudu, saate sellega ühenduse luua hostist aadressil название_машины.mshome.net. Saate TTY-sse sisse logida ainult rakendusest vmconnect, lülitades välja täiustatud režiimi.