Aktivizojmë Modalitetin e Sesionit të Zgjeruar për mysafirët Arch Linux në Hyper-V

Aktivizojmë Modalitetin e Sesionit të Zgjeruar për mysafirët Arch Linux në Hyper-V

Përdorimi i makina virtuale në Linux në Hyper-V është nd slightly më pak i rehatshëm sesa me makina mysafir Windows. Arsyeja është se Hyper-V nuk është fillimisht paraparë për përdorim desktop; nuk mund të thjesht marrësh, të instalosh paketën e përshtatjeve mysafire dhe të marrësh grafik të punueshëm, clipboard, dosje të përbashkëta dhe gëzime të tjera të jetës, siç ndodh në VirtualBox.

Hyper-V vetĂ« ofron disa shĂ«rbime integrimi — kĂ«shtu, mysafirĂ«t mund tĂ« pĂ«rdorin shĂ«rbimin e kopjimit tĂ« errĂ«t (VSS) tĂ« hostit, mysafirĂ«ve mund t'u dĂ«rgohet njĂ« sinjal fikjeje, mysafirĂ«t mund tĂ« sinkronizojnĂ« kohĂ«n e sistemit me hostin e virtualizimit, mund tĂ« bĂ«het shkĂ«mbim skedash me makinĂ«n virtuale (Copy-VMFile nĂ« PowerShell). PĂ«r disa sisteme operative mysafire, pĂ«rfshirĂ«, natyrisht, Windows, nĂ« aplikacionin Virtual Machine Connection (vmconnect.exe) Ă«shtĂ« nĂ« dispozicion Modaliteti i Zgjeruar i Sesionit, i cili funksionon nĂ«pĂ«rmjet protokollit RDP dhe lejon kalimin e pajisjeve disk dhe printerĂ«ve nĂ« makinat virtuale, si dhe pĂ«rdorimin e njĂ« clipboardi tĂ« pĂ«rbashkĂ«t.

Rekomandimi i ModĂ«s sĂ« Sesionit TĂ« Avancuar punon nĂ« Windows nĂ« Hyper-V menjĂ«herĂ« pas instalimit. Me klientĂ«t nĂ« Linux, duhet tĂ« instaloni njĂ« server RDP qĂ« mbĂ«shtet vsock (njĂ« hapĂ«sirĂ« e veçantĂ« e adresave virtuale rrjet nĂ« Linux, e destinuar pĂ«r komunikim me hipervizorin). NĂ«se pĂ«r Ubuntu ka njĂ« model tĂ« pĂ«rgatitur tĂ« makinĂ«s virtuale nĂ« aplikacionin VMCreate, qĂ« vjen me Hyper-V nĂ« versionet desktop tĂ« Windows, ku serveri RDP qĂ« funksionon me vsock XRDP Ă«shtĂ« tashmĂ« i parainstaluar, atĂ«herĂ« me distribucionet e tjera nuk Ă«shtĂ« aq e qartĂ« — pĂ«r shembull, autori i kĂ«tij postimi arriti tĂ« aktivizojĂ« ESM nĂ« Fedora. KĂ«tu aktivizojmĂ« ModĂ«n e Sesionit TĂ« Avancuar pĂ«r makinĂ«n virtuale me Arch Linux.

Instalimi i shërbimeve të integrimit

Këtu gjithçka është mëse e thjeshtë, na mjafton të instalojmë paketën hyperv nga depoja community:

% sudo pacman -S hyperv

Do të aktivizojmë shërbimet VSS, shkëmbimin e metadatas dhe skedarëve:

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

Instalimi i XRDP

Repozitori linux-vm-tools GitHub ofron skenë skripte që automatizojnë procesin e instalimit dhe konfigurimit të XRDP për Arch Linux dhe Ubuntu. Le të instalojmë Git, nëse nuk është tashmë i instaluar, së bashku me kompiluesin dhe softuerë të tjerë për ndërtimet manuale, dhe më pas do të klonojmë depo-n:

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

Në momentin e shkrimit të këtij artikulli, versioni më i fundit i XRDP, i cili instalohet nga skripta makepkg.sh, i propozuar në depo, është 0.9.11, ku ekziston një problem me analizimin e vsock://-adresave, prandaj do të duhet të instaloni XRDP nga Git dhe drejtuesin Xorg për të manualisht nga AUR. Patch-i për XRDP, i propozuar në AUR, gjithashtu është paksa i vjetruar, kështu që do të duhet ta redaktoni PKGBUILD dhe patch-in manualisht.

Do të klonojmë depo në lidhje me PKGBUILD nga AUR (zakonisht këtë procedurë së bashku me ndërtimin e automatizojnë programe si yay, por autori e ka kryer këtë procedurë në një sistem të pastër):

% git clone https://aur.archlinux.org/xrdp-devel-git.git
% git clone https://aur.archlinux.org/xorgxrdp-devel-git.git

Së pari, do të instalojmë XRDP-në vetë. Do të hapim skedarin PKGBUILD me çdo redaktues teksti.

Do të redaktojmë parametrat e ndërtimit. PKGBUILD për ndërtimin e XRDP nga Git nuk përfshin mbështetje për vsock gjatë ndërtimit, prandaj do ta përfshijmë ne vetë:

 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-vsock
   make V=0
 }

Në patch arch-config.diff, që menaxhon njësitë dhe skenaret e nisjes së XRDP për rrugët e skedarëve të përdorur në Arch Linux, përfshin gjithashtu një patch për skenarin instfiles/xrdp.sh, i cili në momentin e shkrimit të këtij artikulli ishte fshirë nga shpërndarja e XRDP, kështu që patch-i do të duhet të redaktohet manualisht:

  [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

Të mbledhim dhe instalojmë paketën me komandën % makepkg --skipchecksums -si (çelësi --skipchecksums nevojitet për të çaktivizuar verifikimin e kontrollit të shumave të skedarëve burimorë, pasi i kemi redaktuar ato manualisht).

Të kalojmë në direktorinë xorgxrdp-devel-git, pasi thjesht do të grumbullojmë paketën me komandën % makepkg -si.

Të kalojmë në direktorinë linux-vm-tools/arch dhe do të ekzekutojmë skriptin install-config.sh, që vendos cilësimet e XRDP, PolicyKit dhe PAM:

% sudo ./install-config.sh

Skripti vendos cilësimin e vjetruar use_vsock, i cili injorohet që prej versionit 0.9.11, prandaj do të redaktojmë skedarin e konfigurimit /etc/xrdp/xrdp.ini në mënyrë manuale:

 ;   port=vsock://:
-port=3389
+port=vsock://-1:3389

 ; 'port' më sipër duhet të lidhet me vsock në vend të tcp
 ; përdorni këtë vetëm me numrin e vetëm në portin më sipër
 ; preferohet të përdoret vsock://: më sipër
-use_vsock=true
+;use_vsock=true

 ; rregulloni nëse socket-i dëgjon përdor opsionin e socket tcp_nodelay

Shtojmë në skedarin ~/ .xinitrc ekzekutimin e menaxhuesit të dritareve / mjedisit tuaj të preferuar të desktopit, i cili do të ekzekutohet kur fillohet serveri X:

% echo "exec i3" > ~/ .xinitrc

Do të ndalim makinën virtuale. Aktivizojmë transportin vsock për makinën virtuale duke ekzekutuar komandën e mëposhtme në PowerShell nga administratori:

PS Admin > Set-VM -VMName EMRI_I_MAKINËS -EnhancedSessionTransportType HvSocket

Do ta rishikojmë makinën virtuale përsëri.

Lidhja

Sapo shërbimi XRDP të fillojë pas nisjes së sistemit, aplikacioni vmconnect do ta identifikojë këtë dhe do të jetë i disponueshëm një opsion në menu View -> Enhanced Session. Kur të zgjidhni këtë opsion, do na ofrohet të vendosim rezolucionin e ekranit, dhe në skedën Resources lokale në dialogun që u hap, do të jetë e mundur të zgjidhen pajisjet që janë të projeksionuara brenda sesionit RDP.

Aktivizojmë Modalitetin e Sesionit të Zgjeruar për mysafirët Arch Linux në Hyper-V
Aktivizojmë Modalitetin e Sesionit të Zgjeruar për mysafirët Arch Linux në Hyper-V

Do të lidhemi. Do të shohim dritaren e hyrjes XRDP:

Aktivizojmë Modalitetin e Sesionit të Zgjeruar për mysafirët Arch Linux në Hyper-V

Do të futim emrin e përdoruesit dhe fjalëkalimin tonë.

Përdorimi

Përfitimi nga këto manovra është i dukshëm: sesioni RDP funksionon shumë më reaktivisht se sa me ekran virtual pa Enhanced Session. Disket e projeksionuar brenda VM përmes RDP janë të aksesueshëm në direktorinë ${HOME}/shared-drives:

Aktivizojmë Modalitetin e Sesionit të Zgjeruar për mysafirët Arch Linux në Hyper-V

Klipi i shkëmbimit punon normalisht. Nuk është e mundur të projektohen printerët brenda, kjo nuk mbështetet vetëm, por prish projeksionin e diskëve.Po ashtu, tingulli nuk funksionon, por autori nuk e kishte atë si nevojë. Për ta kapur kombinimet e çelësave si Alt+Tab, duhet të shtriheni vmconnect në ekran të plotë.

Nëse për ndonjë arsyer dëshira për të përdorur në vend të aplikacionit vmconnect klientin e integruar të Windows RDP, ose për shembull, të lidheni me këtë makinë nga një makinë tjetër, do të duhet të ndryshoni në skedarin /etc/xrdp/xrdp.ini port në tcp://:3389. Nëse makineria virtuale i është e lidhur në Default Switch dhe merr cilësimet e rrjetit përmes DHCP, atëherë mund të lidhesh me të nga hosti në adresën emri_makinerisë.mshome.net. Mund të hysh në TTY vetëm nga aplikacioni vmconnect, duke çaktivizuar Enhanced Mode.

Burimet e përdorura:

  1. Hyper-V — Arch Wiki
  2. Raportet e bugs në GitHub: 1, 2

Burimi: habr.com

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster