
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 â 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 nĂ« tĂ« vĂ«rtetĂ« Ă«shtĂ« i parainstaluar, me shpĂ«rndarje tĂ« tjera gjĂ«rat janĂ« mĂ« pak tĂ« qarta â kĂ«shtu, autori 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 hypervDo të aktivizojmë shërbimet e VSS, shkëmbimin 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 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/archNĂ« ĐŒĐŸĐŒĐ”ĐœŃ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, 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 , 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.gitDo 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 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 -0600Do 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.shSkripti 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_nodelayDo 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" > ~/ .xinitrcDo 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 HvSocketDo 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.


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

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:

Sistemi i kopjimit funksionon normalisht. Dërgimi i printerave brenda nuk mbështetet, jo vetëm që nuk mbështetet, por gjithashtu . 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:
- Raportet e defekteve në GitHub: ,
Burimi: habr.com
