
Defnyddio peiriannau rhithwir ar Linux yn Hyper-V sy'n barod i'w ddefnyddio mae'n brofiad ychydig yn llai cyfforddus nag gyda gwestai Windows-peiriannau. Y rheswm am hyn yw nad oedd Hyper-V wedi'i gynllunio'n wreiddiol ar gyfer defnydd bwrdd gwaith; ni allwch chi osod y pecyn Guest Additions a chael cyflymiad graffeg gweithredol, clipfwrdd, cyfeiriaduron a rennir, a manteision eraill, fel y gallwch chi gyda VirtualBox.
Mae Hyper-V ei hun yn darparu - felly, gall gwesteion ddefnyddio gwasanaeth copi cysgodol y gwesteiwr (VSS), gall gwesteion anfon signal diffodd, gall gwesteion gydamseru amser y system gyda'r gwesteiwr rhithwiroli, gellir cyfnewid ffeiliau o'r gwesteiwr gyda'r peiriant rhithwir (Copy-VMFile yn PowerShell). Ar gyfer rhai systemau gweithredu gwadd, sydd wrth gwrs yn cynnwys Windows, yn y rhaglen Cysylltiad Peiriant Rhithwir (vmconnect.exe) Mae Modd Sesiwn Uwch ar gael, gan weithio trwy brotocol y Cynllun Datblygu Gwledig a chaniatáu i chi drosglwyddo dyfeisiau disg ac argraffwyr i'r peiriant rhithwir, yn ogystal â defnyddio clipfwrdd a rennir.
Mae Modd Sesiwn Uwch yn gweithio'n syth Windows yn Hyper-V yn syth ar ôl ei osod. Gyda gwesteion ymlaen Linux mae angen i chi osod gweinydd RDP sy'n cefnogi vsock (gofod cyfeiriad rhwydwaith rhithwir arbennig yn Linux, wedi'i gynllunio i gyfathrebu â'r hypervisor). Os ar gyfer Ubuntu yn y rhaglen VMCreate sy'n dod gyda Hyper-V ar rifynnau bwrdd gwaith Windows, mae templed peiriant rhithwir arbennig wedi'i baratoi lle mae gweinydd RDP yn gweithio gyda vsock eisoes wedi'i osod ymlaen llaw, yna gyda dosbarthiadau eraill mae'n llai a llai clir - er enghraifft, yr awdur Llwyddon ni i alluogi ESM yn Fedora. Yma rydym hefyd yn actifadu Modd Sesiwn Uwch ar gyfer y peiriant rhithwir Arch. Linux.
Gosod gwasanaethau integreiddio
Mae popeth yn fwy neu lai yn syml yma, does ond angen i ni osod y pecyn hyperv o'r gadwrfa gymunedol:
% sudo pacman -S hypervGadewch i ni alluogi VSS a gwasanaethau cyfnewid a ffeiliau:
% for i in {vss,fcopy,kvp}; do sudo systemctl enable hv_${i}_daemon.service; doneGosod XRDP
ystorfa yn darparu sgriptiau ar GitHub sy'n awtomeiddio'r broses o osod a ffurfweddu XRDP ar gyfer Arch Linux и UbuntuGadewch i ni osod Git, os nad yw eisoes wedi'i osod, ynghyd â chyfieithydd a meddalwedd arall ar gyfer adeiladu â llaw, ac yna clonio'r storfa:
% sudo pacman -S git base-devel
% git clone https://github.com/microsoft/linux-vm-tools.git
% cd linux-vm-tools/archAr adeg ysgrifennu'r erthygl hon, y datganiad diweddaraf o XRDP, sy'n cael ei osod gan y sgript makepkg.shyr un a awgrymir yn yr ystorfa yw 0.9.11, vsock://-cyfeiriadau, felly bydd yn rhaid i chi osod XRDP o Git a'r gyrrwr Xorg ar ei gyfer o AUR â llaw. Mae'r darn XRDP a gynigir yn yr AUR hefyd ychydig yn hen ffasiwn, felly bydd yn rhaid i chi olygu'r PKGBUILD a'r clwt â llaw.
Gadewch i ni glonio storfeydd gyda PKGBUILDs o AUR (fel arfer mae'r weithdrefn hon, ynghyd â'r adeiladwaith, yn cael ei awtomeiddio gan raglenni fel , ond gwnaeth yr awdur y weithdrefn gyfan hon ar system lân):
% git clone https://aur.archlinux.org/xrdp-devel-git.git
% git clone https://aur.archlinux.org/xorgxrdp-devel-git.gitGadewch i ni osod XRDP ei hun yn gyntaf. Gadewch i ni agor y ffeil PKGBUILD unrhyw olygydd testun.
Gadewch i ni olygu'r paramedrau adeiladu. Nid yw PKGBUILD ar gyfer adeiladu XRDP o Git yn cynnwys cefnogaeth vsock wrth adeiladu, felly gadewch i ni ei alluogi ein hunain:
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
}Yn y clwt arch-config.diff, unedau rheoli a sgriptiau cychwyn XRDP o dan y llwybrau ffeiliau a ddefnyddir yn Arch Linux, yn cynnwys clwt i'r sgript instfiles/xrdp.sh, sydd ar adeg ysgrifennu o'r dosbarthiad XRDP, felly bydd yn rhaid golygu'r clwt â llaw:
[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 -0600Gadewch i ni lunio a gosod y pecyn gyda'r gorchymyn % makepkg --skipchecksums -si (allwedd --skipchecksums angen i analluogi gwirio checksum o ffeiliau ffynhonnell, ers i ni eu golygu â llaw).
Gadewch i ni fynd i'r cyfeiriadur xorgxrdp-devel-git, ac ar ôl hynny rydym yn syml yn cydosod y pecyn gyda'r gorchymyn % makepkg -si.
Gadewch i ni fynd i'r cyfeiriadur linux-vm-tools/arch a rhedeg y sgript install-config.sh, sy'n gosod gosodiadau XRDP, PolicyKit a PAM:
% sudo ./install-config.shSgript yn gosod gosodiad etifeddiaeth use_vsock, sydd wedi'i anwybyddu ers fersiwn 0.9.11, felly gadewch i ni olygu'r ffeil ffurfweddu /etc/xrdp/xrdp.ini â llaw:
; 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_nodelayYchwanegu at ffeil ~/.xinitrc lansio'ch hoff amgylchedd rheolwr ffenestr / bwrdd gwaith, a fydd yn cael ei weithredu pan fydd y gweinydd X yn cychwyn:
% echo "exec i3" > ~/.xinitrcGadewch i ni ddiffodd y peiriant rhithwir. Rydym yn actifadu'r cludiant vsock ar gyfer y peiriant rhithwir trwy redeg y gorchymyn canlynol yn PowerShell fel gweinyddwr:
PS Admin > Set-VM -VMName НАЗВАНИЕ_МАШИНЫ -EnhancedSessionTransportType HvSocketGadewch i ni droi'r peiriant rhithwir ymlaen eto.
Pwysau
Cyn gynted ag y bydd y gwasanaeth XRDP yn cychwyn ar ôl i'r system ddechrau, bydd y cymhwysiad vmconnect yn canfod hyn a bydd yr eitem ar gael yn y ddewislen Gweld -> Sesiwn Uwch. Wrth ddewis yr eitem hon, byddwn yn cael ein hannog i osod cydraniad y sgrin, ac ar y tab Adnoddau Lleol Yn yr ymgom sy'n agor, gallwch ddewis dyfeisiau i'w hanfon ymlaen i'r sesiwn RDP.


Gadewch i ni gysylltu. Byddwn yn gweld ffenestr mewngofnodi XRDP:

Rhowch eich enw defnyddiwr a chyfrinair.
Defnyddio
Mae budd y triniaethau hyn yn amlwg: mae'r sesiwn RDP yn gweithio'n llawer mwy ymatebol nag wrth weithio gydag arddangosfa rithwir heb Sesiwn Uwch. Mae disgiau a ollyngwyd y tu mewn i'r VM trwy RDP ar gael yn y cyfeiriadur ${HOME}/shared-drives:

Mae'r clipfwrdd yn gweithio'n iawn. Ni allwch anfon argraffwyr ymlaen y tu mewn; nid yn unig y cefnogir hyn, ond hefyd . Nid yw'r sain ychwaith yn gweithio, ond nid oedd angen hyn ar yr awdur. Er mwyn dal llwybrau byr bysellfwrdd fel Alt + Tab, mae angen i chi ehangu vmconnect i sgrin lawn.
Os am unrhyw reswm rydych chi eisiau defnyddio'r rhaglen vmconnect adeiledig yn lle'r Windows cleient RDP neu, er enghraifft, cysylltu â'r peiriant hwn o beiriant arall, yna bydd angen i chi newid y ffeil /etc/xrdp/xrdp.ini port ar tcp://:3389. Os yw'r peiriant rhithwir wedi'i gysylltu â Default Switch ac yn derbyn gosodiadau rhwydwaith trwy DHCP, yna gallwch gysylltu ag ef o'r gwesteiwr yn название_машины.mshome.net. Dim ond trwy ddiffodd Modd Gwell y gallwch chi fewngofnodi i TTY o'r cymhwysiad vmconnect.
Ffynonellau a ddefnyddir:
- Adroddiadau nam ar GitHub: ,
Ffynhonnell: hab.com
