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

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

PĂ«rdorimi i makinave virtuale nĂ« Linux nĂ« Hyper-V nga kutia — Ă«shtĂ« pak mĂ« pak i komfortshĂ«m se me makinĂ«n e nivelit Windows. Arsyja pĂ«r kĂ«tĂ« Ă«shtĂ« se Hyper-V, megjithatĂ«, nuk Ă«shtĂ« fillimisht krijuar pĂ«r pĂ«rdorim desktop; nuk Ă«shtĂ« e mundur thjesht tĂ« instalosh paketĂ«n e shtesave tĂ« mysafirĂ«ve dhe tĂ« marrĂ«sh performancĂ« grafike funksionale, kopjimin e skedarĂ«ve, direktorĂ«t e pĂ«rbashkĂ«t dhe kĂ«naqĂ«sitĂ« e tjera tĂ« jetĂ«s, ashtu si ndodh nĂ« VirtualBox.

Hyper-V vet ofron disa shĂ«rbime integrimi — kĂ«shtu, mysafirĂ«t mund tĂ« pĂ«rdorin shĂ«rbimin e kopjimit nĂ« hije (VSS) tĂ« hostit, mysafirĂ«ve mund t'u dĂ«rgohet njĂ« sinjal ndalimi, mysafirĂ«t mund tĂ« sinkronizojnĂ« kohĂ«n sistemike me hostin e virtualizimit, dhe nga hosti Ă«shtĂ« e mundur tĂ« shkĂ«mbehen skedarĂ« 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Ă« e disponueshme MĂ«nyra e Sesionit tĂ« PĂ«rmirĂ«suar, e cila funksionon me protokollin RDP dhe lejon kalimin nĂ« makinĂ«n virtuale tĂ« pajisjeve disk dhe printerĂ«ve, si dhe pĂ«rdorimin e njĂ« buferi tĂ« pĂ«rbashkĂ«t.

MĂ«nyra e Sesionit tĂ« PĂ«rmirĂ«suar funksionon menjĂ«herĂ« nĂ« Windows nĂ« Hyper-V pas instalimit. Me mysafirĂ«t nĂ« Linux nevojitet instalimi i njĂ« serveri RDP qĂ« mbĂ«shtet vsock (njĂ« hapĂ«sirĂ« ndĂ«rlidhĂ«se virtuale nĂ« Linux, e destinuar pĂ«r komunikimin me hiperdispeçerin). NĂ«se pĂ«r Ubuntu nĂ« aplikacionin VMCreate, qĂ« vjen me Hyper-V nĂ« redaksitĂ« desktop tĂ« Windows, ka njĂ« shabllon tĂ« pĂ«rgatitur veçmas, nĂ« tĂ« cilin serveri RDP qĂ« punon me vsock XRDP nĂ« tĂ« vĂ«rtetĂ« Ă«shtĂ« i parainstaluar, me shpĂ«rndarje tĂ« tjera gjĂ«rat janĂ« mĂ« pak tĂ« qarta — kĂ«shtu, autori i kĂ«tij postimi arriti tĂ« aktivizojĂ« ESM nĂ« Fedora. KĂ«tu ne aktivizojmĂ« MĂ«nyrĂ«n e Sesionit tĂ« PĂ«rmirĂ«suar pĂ«r makinĂ«n virtuale me Arch Linux.

Instalimi i shërbimeve të integrimit

Këtu gjithçka është më shumë ose më pak e thjeshtë, na mjafton të instalojmë paketën hyperv nga repositoriumi community:

% sudo pacman -S hyperv

Do të aktivizojmë shërbimet e VSS, shkëmbimin e meta-datumit dhe skedarëve:

% për i në {vss,fcopy,kvp}; bëj sudo systemctl enable hv_${i}_daemon.service; përfund!

Instalimi i XRDP

Repo linux-vm-tools në GitHub ofron skripte që automatizojnë procesin e instalimit dhe konfigurimit të XRDP, për Arch Linux dhe Ubuntu. Do të instalojmë Git, nëse nuk është instaluar akoma, së bashku me një kompilator dhe software të tjerë për ndërtimet manuale, pas së cilës do të klonojmë repositorin:

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

NĂ« ĐŒĐŸĐŒĐ”ĐœŃ‚in e shkruarjes sĂ« kĂ«tij artikulli, versioni mĂ« i ri i XRDP, i cili instalohet me skriptin makepkg.sh, i propozuar nĂ« depo, Ă«shtĂ« 0.9.11, nĂ« tĂ« cilin Ă«shtĂ« prishur analiza vsock://-adreseve, ndaj do tĂ« duhet tĂ« instaloni XRDP nga Git dhe drejtuesin Xorg pĂ«r tĂ« nga AUR manualisht. Patch-i pĂ«r XRDP, i propozuar nĂ« AUR, gjithashtu Ă«shtĂ« pak i vjetĂ«ruar, ndaj do tĂ« duhet ta redaktoni PKGBUILD dhe patch-in manualisht.

Do të klonojmë depozitë me PKGBUILD nga AUR (zakonisht këtë procedurë së bashku me ndërtimin e automatizojnë programe si yay, por autori e bëri gjithë 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

Do të instalojmë së pari vetë XRDP-në. Do ta hapim skedarin skedarët PKGBUILD me çdo redaktor 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, ndaj do ta aktivizojmë atë 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-pixman 
+              --enable-vsock
   make V=0
 }

Në patch-in arch-config.diff, i cili rregullon njësitë dhe skriptet e nisjes për XRDP nën rrugët për skedarët e përdorur në Arch Linux, përfshihet gjithashtu një patch për skriptin instfiles/xrdp.sh, i cili në momentin e shkruarjes së këtij artikulli ishte hequr nga shpërndarja e XRDP, ndaj patch-i 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

Do të ndërroni dhe instaloni paketën duke përdorur komandën % makepkg --skipchecksums -si (çelësi --skipchecksums nevojitet për të çaktivizuar verifikimin e Kontrollëve të Kontrollit të skedarëve burimore, pasi ne i kemi redaktuar ato manualisht).

Të kalojmë në direktorinë xorgxrdp-devel-git, pas së cilës thjesht do ta ndërroni paketën me komandën % makepkg -si.

Të kalojmë në direktorinë linux-vm-tools/arch dhe do të nisim skriptin install-config.sh, i cili instalon konfigurimet për XRDP, PolicyKit dhe PAM:

% sudo ./install-config.sh

Skripti instalon konfigurimin e vjetëruar use_vsock, i cili neglizhohet nga versioni 0.9.11, ndaj do ta redaktojmë skedarin e konfigurimit /etc/xrdp/xrdp.ini manualisht:

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

 ; 'port' më sipër duhet të lidhët me vsock në vend të tcp
 ; përdorni këtë vetëm me një numër të vetëm në portin e sipërm
 ; preferoni të përdorni vsock://: më sipër
-use_vsock=true
+;use_vsock=true

 ; rregulloni nëse socketi i dëgjimit përdor opsionin e socketit tcp_nodelay

Do të shtojmë në skedarin ~/ .xinitrc nisjen e menaxherit tuaj të preferuar të dritares / mjedisit të desktopit, i cili do të ekzekutohet kur të niset shërbimi X:

% echo "exec i3" > ~/ .xinitrc

Do të fikim makinat virtuale. Aktivizojmë transportin vsock për makinën virtuale, duke ekzekutuar komandën e mëposhtme në PowerShell si administrator:

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

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

Konektimi

Pas nisjes së sistemit, shërbimi XRDP do të fillojë dhe aplikacioni vmconnect do ta përcaktojë këtë dhe do të jetë i disponueshëm në menu Shiko -> Sesioni i zgjeruar. Kur të përzgjidhet ky opsion, do të na ofrohet të vendosim rezolucionin e ekranit, dhe në skedën Burimet lokale në dialogun që hapet, do të mund të zgjidhni pajisjet e dërguara në RDP-sesion.

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

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

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

Do të futim emrin dhe fjalëkalimin tonë.

Përdorimi

Përfitimet nga këto manovra janë evidente: sesioni RDP funksionon shumë më me përgjegjësi, sesa kur punoni me një ekran virtual pa Sesionin e Zgjeruar. Disku të dërguar brenda VM përmes RDP është i aksesueshëm në direktorien ${HOME}/shared-drives:

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

Sistemi i kopjimit funksionon normalisht. Dërgimi i printerave brenda nuk mbështetet, jo vetëm që nuk mbështetet, por gjithashtu prish dërgimin e disqeve. Po ashtu nuk funksionon audio, por autorit nuk i nevojitej kjo. Për të kapur kombinime çelësi si Alt+Tab, duhet të zgjerohet vmconnect në ekranin e plotë.

Nëse për ndonjë arsye ka dëshirë të përdorni në vend të aplikacionit vmconnect klientin e integruar RDP të Windows ose, për shembull, të lidheni me këtë makinë nga një makinë tjetër, atëherë do t'ju duhet të ndryshoni në skedarin /etc/xrdp/xrdp.ini port në tcp://:3389. Nëse makina virtuale është e lidhur me Default Switch dhe merr konfigurimet e rrjetit nga DHCP, atëherë mund të lidheni me të nga hosti përmes adresës emri_i_makinës.mshome.net. Të hyni në TTY mund të bëhet vetëm nga aplikacioni vmconnect, derisa të fiket Modaliteti i Zgjeruar.

Burimet e përdorura:

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

Burimi: habr.com

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster