Galluogi Modd Sesiwn Uwch ar gyfer gwesteion Arch Linux yn Hyper-V

Galluogi Modd Sesiwn Uwch ar gyfer gwesteion Arch Linux yn Hyper-V

Mae defnyddio peiriannau rhithwir Linux yn Hyper-V allan o'r bocs yn brofiad ychydig yn llai cyfforddus na defnyddio peiriannau gwestai Windows. Y rheswm am hyn yw nad oedd Hyper-V wedi'i fwriadu'n wreiddiol ar gyfer defnydd bwrdd gwaith; ni allwch osod pecyn o ychwanegiadau gwestai yn unig a chael cyflymiad graffeg swyddogaethol, clipfwrdd, cyfeiriaduron a rennir a llawenydd bywyd eraill, fel sy'n digwydd yn VirtualBox.

Mae Hyper-V ei hun yn darparu nifer o wasanaethau integreiddio - 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 gwestai, gan gynnwys, wrth gwrs, Windows, yn y rhaglen Virtual Machine Connection (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 Gwell yn gweithio allan o'r blwch yn Windows yn Hyper-V yn syth ar Γ΄l ei osod. Gyda gwesteion ar Linux, mae angen i chi osod gweinydd RDP sy'n cefnogi vsock (gofod cyfeiriad rhwydwaith rhithwir arbennig yn Linux a ddyluniwyd ar gyfer cyfathrebu Γ’'r hypervisor). Os ar gyfer Ubuntu yn y cymhwysiad VMCreate sy'n dod gyda Hyper-V ar rifynnau bwrdd gwaith o Windows, mae yna dempled peiriant rhithwir parod arbennig lle mae gweinydd RDP yn gweithio gyda vsock XRDP eisoes wedi'i osod ymlaen llaw, yna gyda dosbarthiadau eraill mae'n llai a llai clir - er enghraifft, yr awdur y swydd hon Llwyddais i alluogi ESM yn Fedora. Yma byddwn yn actifadu Modd Sesiwn Uwch ar gyfer 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 hyperv

Gadewch i ni alluogi VSS a gwasanaethau cyfnewid metadata a ffeiliau:

% for i in {vss,fcopy,kvp}; do sudo systemctl enable hv_${i}_daemon.service; done

Gosod XRDP

ystorfa linux-vm-offer ar GitHub yn darparu sgriptiau sy'n awtomeiddio'r broses o osod a ffurfweddu XRDP ar gyfer Arch Linux a Ubuntu. Gadewch i ni osod Git, os nad yw wedi'i osod eisoes, ynghyd Γ’'r casglwr a meddalwedd arall ar gyfer adeiladu Γ’ llaw, ac yna clonio'r ystorfa:

% sudo pacman -S git base-devel
% git clone https://github.com/microsoft/linux-vm-tools.git
% cd linux-vm-tools/arch

Ar 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, yn yr hwn y dosberthir 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 hoyw, 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.git

Gadewch 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, sy'n rheoli unedau a sgriptiau lansio XRDP o dan y llwybrau ffeil a ddefnyddir yn Arch Linux, hefyd yn cynnwys darn i'r sgript instfiles/xrdp.sh, sydd ar adeg ysgrifennu ei ddileu 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 -0600

Gadewch 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.sh

Sgript 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_nodelay

Ychwanegu 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" > ~/.xinitrc

Gadewch 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 HvSocket

Gadewch 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.

Galluogi Modd Sesiwn Uwch ar gyfer gwesteion Arch Linux yn Hyper-V
Galluogi Modd Sesiwn Uwch ar gyfer gwesteion Arch Linux yn Hyper-V

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

Galluogi Modd Sesiwn Uwch ar gyfer gwesteion Arch Linux yn Hyper-V

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:

Galluogi Modd Sesiwn Uwch ar gyfer gwesteion Arch Linux yn Hyper-V

Mae'r clipfwrdd yn gweithio'n iawn. Ni allwch anfon argraffwyr ymlaen y tu mewn; nid yn unig y cefnogir hyn, ond hefyd yn torri anfon disg ymlaen. 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 ydych chi am ddefnyddio'r cleient RDP sydd wedi'i gynnwys yn Windows am ryw reswm yn lle'r cymhwysiad vmconnect 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:

  1. Hyper-V - Arch Wici
  2. Adroddiadau nam ar GitHub: 1, 2

Ffynhonnell: hab.com

Ychwanegu sylw