
Virtuaalsete masinate kasutamine Linux Hyper-V-s on kohe alguses veidi ebamugavam kogemus kui külalisrežiimis. Windows-masinad. Selle põhjuseks on see, et Hyper-V ei olnud algselt mõeldud töölaua jaoks; te ei saa lihtsalt installida Guest Additions paketti ja saada toimivat graafikakiirendust, lõikelauda, jagatud katalooge ja muid eeliseid, nagu VirtualBoxiga.
Hyper-V ise pakub - 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õnede külalisoperatsioonisüsteemide puhul, mis muidugi hõlmavad Windows, virtuaalmasina ühenduse rakenduses (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 kohe karbist võttes Windows Hyper-V-s kohe pärast installimist. Külalistega Linux peate installima RDP-serveri, mis toetab vsocki (spetsiaalne virtuaalne võrgu aadressiruum Linux, mis on loodud hüperviisoriga suhtlemiseks). Kui Ubuntu VMCreate rakenduses, mis on Hyper-V-ga kaasas töölauaversioonides Windows, on olemas spetsiaalselt ettevalmistatud virtuaalmasina mall, milles RDP-server töötab vsockiga juba eelinstallitud, siis teiste distributsioonidega on see järjest vähem selge – näiteks autor Meil õnnestus Fedoras ESM lubada. Siin aktiveerime ka Archi virtuaalmasina jaoks täiustatud seansirežiimi. Linux.
Integratsiooniteenuste installimine
Siin on kõik enam-vähem lihtne, peame lihtsalt paketi installima hyperv kogukonna hoidlast:
% sudo pacman -S hypervLuba VSS-teenused, vaheta ja failid:
% for i in {vss,fcopy,kvp}; do sudo systemctl enable hv_${i}_daemon.service; doneXRDP installimine
hoidla pakub GitHubis skripte, mis automatiseerivad XRDP Archi installimise ja seadistamise protsessi Linux и UbuntuPaigaldame Giti, kui see pole veel installitud, koos kompilaatori ja muu käsitsi ehitamiseks mõeldud tarkvaraga ning seejärel kloonime repositooriumi:
% sudo pacman -S git base-devel
% git clone https://github.com/microsoft/linux-vm-tools.git
% cd linux-vm-tools/archSelle kirjutamise ajal XRDP uusim väljalase, mille skript installib makepkg.shhoidlas pakutud on 0.9.11, vsock://-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 , kuid autor tegi kogu selle protseduuri puhtas süsteemis):
% git clone https://aur.archlinux.org/xrdp-devel-git.git
% git clone https://aur.archlinux.org/xorgxrdp-devel-git.gitInstallime esmalt XRDP enda. Avame faili PKGBUILD mis tahes tekstiredaktor.
Redigeerime ehitusparameetreid. Gitist XRDP ehitamiseks mõeldud PKGBUILD ei sisalda ehitamisel vsocki tuge, seega lubame selle ise:
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
}Plaastris arch-config.diff, valitsevad üksused ja XRDP käivitusskriptid Archis kasutatavate failiteede all Linux, sisaldab skripti parandust instfiles/xrdp.sh, mis kirjutamise ajal XRDP distributsioonist, seega tuleb plaastrit käsitsi redigeerida:
[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 -0600Ehitage 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.shSkript 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_nodelayLisa faili ~/.xinitrc eelistatud aknahalduri/töölauakeskkonna käivitamine, mis käivitatakse X-serveri käivitamisel:
% echo "exec i3" > ~/.xinitrcLülitame virtuaalmasina välja. Lubage VM-i jaoks vsocki transport, käivitades PowerShellis administraatorina järgmise käsu:
PS Admin > Set-VM -VMName НАЗВАНИЕ_МАШИНЫ -EnhancedSessionTransportType HvSocketLülitame virtuaalmasina uuesti sisse.
Подключение
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 . 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 soovite kasutada sisseehitatud vmconnecti rakendust rakenduse asemel Windows RDP klient või näiteks ühenduse loomine selle masinaga teisest masinast, peate faili muutma /etc/xrdp/xrdp.ini port 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.
Kasutatud allikad:
- Veaaruanded GitHubis: ,
Allikas: www.habr.com
