ProHoster > Blogi > antaminen > Ota käyttöön tehostettu istuntotila Arch Linux -vieraille Hyper-V:ssä
Ota käyttöön tehostettu istuntotila Arch Linux -vieraille Hyper-V:ssä
Linux-virtuaalikoneiden käyttö valmiina Hyper-V:ssä on hieman epämukavampaa kuin vierailevien Windows-koneiden kanssa. Syynä tähän on se, että Hyper-V:tä ei alun perin ollut tarkoitettu työpöytäkäyttöön; Et voi vain mennä eteenpäin ja asentaa vieraslisäyspakettia ja saada toimivaa grafiikkakiihdytystä, leikepöytää, jaettuja hakemistoja ja muita elämän iloja, kuten VirtualBoxissa tapahtuu.
Hyper-V tarjoaa itse useita integraatiopalveluita - joten vieraat voivat käyttää isännän varjokopiopalvelua (VSS), vieraat voivat lähettää sammutussignaalin, vieraat voivat synkronoida järjestelmän ajan virtualisointipalvelimen kanssa, tiedostoja voidaan vaihtaa virtuaalikoneen kanssa isännästä (Copy-VMFile PowerShellissä). Joillekin vieraskäyttöjärjestelmille, mukaan lukien tietysti Windows, Virtual Machine Connection -sovelluksessa (vmconnect.exe) Saatavilla on Enhanced Session Mode, joka toimii RDP-protokollan kautta ja mahdollistaa levylaitteiden ja tulostimien välittämisen virtuaalikoneeseen sekä jaetun leikepöydän käytön.
Enhanced Session Mode toimii heti asennuksen jälkeen Windowsissa Hyper-V:ssä. Linuxissa vieraiden kanssa sinun on asennettava RDP-palvelin, joka tukee vsockia (erityinen virtuaalinen verkkoosoitetila Linuxissa, joka on suunniteltu kommunikoimaan hypervisorin kanssa). Jos kyseessä on Ubuntu, Hyper-V:n mukana tulevassa VMCreate-sovelluksessa Windows-työpöytäversioissa on erityinen valmisteltu virtuaalikonemalli, jossa RDP-palvelin toimii vsockin kanssa. XRDP jo esiasennettuna, niin muilla jakeluilla se on vähemmän selvää - esimerkiksi kirjoittaja Tämä postaus kävi ilmi, että ESM on käytössä Fedorassa. Tässä otamme myös käyttöön parannetun istuntotilan Arch Linux -virtuaalikoneelle.
Integrointipalvelujen asennus
Kaikki on enemmän tai vähemmän yksinkertaista täällä, meidän on vain asennettava paketti hyperv yhteisön arkistosta:
% sudo pacman -S hyperv
Ota VSS-palvelut käyttöön, vaihda metatiedot ja tiedostot:
% for i in {vss,fcopy,kvp}; do sudo systemctl enable hv_${i}_daemon.service; done
XRDP-asennus
arkisto linux-vm-tools GitHubissa tarjoaa komentosarjoja, jotka automatisoivat XRDP:n asennuksen ja konfiguroinnin Arch Linuxille ja Ubuntulle. Asenna Git, jos sitä ei ole vielä asennettu, sekä kääntäjä ja muut ohjelmistot manuaalisia koontiversioita varten ja kloonaa sitten arkisto:
Tätä kirjoitettaessa XRDP:n viimeisin julkaisu, jonka komentosarja asentaa makepkg.sharkistoon ehdotettu on 0.9.11, jossa jäsentäminen on katkennutvsock://-osoitteet, joten sinun on asennettava XRDP Gitistä ja Xorg-ajuri sille AUR:sta manuaalisesti. AUR:ssa tarjottu XRDP-korjaus on myös hieman vanhentunut, joten joudut muokkaamaan PKGBUILD-tiedostoa ja korjaustiedostoa manuaalisesti.
Kloonamme arkistot AUR:n PKGBUILD-koodeilla (yleensä tämä menettely yhdessä kokoonpanon kanssa on automatisoitu sellaisilla ohjelmilla kuin jee, mutta kirjoittaja teki tämän koko toimenpiteen puhtaalla järjestelmällä):
Patchissa arch-config.diff, joka muokkaa yksiköitä ja XRDP-käynnistysskriptejä Arch Linuxissa käytettyjen tiedostopolkujen alla, sisältää muun muassa korjaustiedoston komentosarjaan instfiles/xrdp.sh, joka kirjoitushetkellä poistettiin XRDP-jakelusta, joten korjaustiedostoa on muokattava manuaalisesti:
Rakenna ja asenna paketti komennolla % makepkg --skipchecksums -si (avain --skipchecksums tarvitaan lähdetiedostojen tarkistussummatarkistuksen poistamiseksi käytöstä, koska muokkasimme niitä manuaalisesti).
Mennään hakemistoon xorgxrdp-devel-git, jonka jälkeen rakennamme paketin komennolla % makepkg -si.
Mennään hakemistoon linux-vm-tools/arch ja suorita skripti install-config.sh, joka määrittää XRDP-, PolicyKit- ja PAM-asetukset:
% sudo ./install-config.sh
Komentosarja asentaa vanhan asetuksen use_vsock, jota ei huomioida versiosta 0.9.11 lähtien, joten muokataan asetustiedostoa /etc/xrdp/xrdp.ini käsin:
; 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
Lisää tiedostoon ~/.xinitrc käynnistää haluamasi ikkunanhallinta-/työpöytäympäristö, joka suoritetaan, kun X-palvelin käynnistetään:
% echo "exec i3" > ~/.xinitrc
Sammuta virtuaalikone. Ota vsock-siirto käyttöön VM:lle suorittamalla seuraava komento PowerShellissä järjestelmänvalvojana:
Heti kun XRDP-palvelu käynnistyy järjestelmän käynnistymisen jälkeen, vmconnect-sovellus määrittää tämän ja valikkokohta tulee saataville. Näytä -> Tehostettu istunto. Kun valitset tämän kohteen, meitä kehotetaan asettamaan näytön tarkkuus ja -välilehdellä Paikalliset resurssit avautuvasta valintaikkunasta voit valita RDP-istunnon sisällä edelleenlähetetyt laitteet.
Otetaan yhteyttä. Näemme XRDP-kirjautumisikkunan:
Anna käyttäjätunnuksesi ja salasanasi.
Käyttää
Hyöty näistä manipuloinneista on havaittavissa: RDP-istunto toimii paljon herkemmin kuin työskenneltäessä virtuaalisen näytön kanssa ilman Enhanced Session -ohjelmaa. VM:n sisällä RDP:n kautta edelleenlähetetyt levyt ovat saatavilla hakemistossa ${HOME}/shared-drives:
Leikepöytä toimii hyvin. Et voi heittää tulostimia sisään, sitä ei vain tueta, vaan myös katkaisee levyn edelleenlähetyksen. Ääni ei myöskään toimi, mutta kirjoittaja ei tarvinnut sitä. Jotta voit kaapata pikanäppäimiä, kuten Alt + Tab, sinun on laajennettava vmconnect koko näytön kokoiseksi.
Jos jostain syystä halutaan käyttää Windowsiin sisäänrakennettua RDP-asiakasta vmconnect-sovelluksen sijaan tai esimerkiksi muodostaa yhteys tähän koneeseen toisesta koneesta, sinun on vaihdettava tiedosto /etc/xrdp/xrdp.iniport päälle tcp://:3389. Jos virtuaalikone on yhdistetty oletuskytkimeen ja vastaanottaa verkkoasetukset DHCP:n kautta, voit muodostaa yhteyden siihen isännästä osoitteessa название_машины.mshome.net. Voit kirjautua sisään TTY:hen vain vmconnect-sovelluksesta poistamalla Enhanced Mode -tilan käytöstä.