
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 - þ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 þegar foruppsett, þá er það minna og minna skýrt með öðrum dreifingum - til dæmis höfundurinn 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 hypervKveikjum á VSS og skiptiþjónustu og skrár:
% for i in {vss,fcopy,kvp}; do sudo systemctl enable hv_${i}_daemon.service; doneAð setja upp XRDP
geymsla 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, 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 , 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.gitVið 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ð 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 -0600Við 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.shScript 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_nodelayBæta við skrá ~/.xinitrc ræsir valinn gluggastjóra/skrifborðsumhverfi sem verður keyrt þegar X þjónninn byrjar:
% echo "exec i3" > ~/.xinitrcSlö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 HvSocketKveikjum 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.


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

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:

Klemmuspjaldið virkar fínt. Þú getur ekki framsent prentara inni; þetta er ekki aðeins stutt heldur líka . 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:
- Villuskýrslur á GitHub: ,
Heimild: www.habr.com
