Gonesa Enhanced Session Mode yeArch Linux vashanyi muHyper-V

Gonesa Enhanced Session Mode yeArch Linux vashanyi muHyper-V

Kushandisa Linux virtual muchina muHyper-V kunze kwebhokisi kwakati kudiki kugadzikana pane nevaenzi Windows michina. Chikonzero cheizvi ndechekuti Hyper-V yakanga isati yagadzirirwa kushandiswa kwedesktop; haugone kungoenda kumberi nekuisa iyo yekuwedzera yevaenzi pasuru uye uwane inoshanda magiraidhi kukwidziridza, clipboard, akagovaniswa madhairekitori uye mamwe mafaro ehupenyu, sezvazvinoitika muVirtualBox.

Hyper-V pachayo inopa akawanda ekubatanidza masevhisi - saka, vashanyi vanogona kushandisa iyo mumvuri kopi sevhisi (VSS) yemuenzi, vashanyi vanogona kutumira chiratidzo chekuvhara, vashanyi vanogona kuwiriranisa iyo nguva yehurongwa neiyo virtualization host, mafaera anogona kuchinjana nemuchina chaiwo kubva kumugadziri (Copy-VMFile muPowerShell). Kune mamwe masisitimu anoshanda evaenzi, anosanganisira, hongu, Windows, muVirtual Machine Connection application (vmconnect.exe) Enhanced Session Mode inowanikwa, iyo inoshanda kuburikidza neRDP protocol uye inokubvumira kuti uenderere mberi disk madivayiri nemaprinta kumuchina chaiwo, pamwe nekushandisa iyo yakagovaniswa clipboard.

Enhanced Session Mode inoshanda kunze kwebhokisi paWindows muHyper-V mushure mekuiswa. Nevaenzi paLinux, iwe unofanirwa kuisa RDP server inotsigira vsock (yakakosha chaiyo network kero nzvimbo muLinux yakagadzirirwa kutaurirana ne hypervisor). Kana iri yeUbuntu, iyo VMCreate application inouya neHyper-V padesktop editions yeWindows ine yakakosha yakagadzirirwa muchina template umo RDP server inomhanya nevsock. XRDP yakatoiswa kare, zvino pamwe nekumwe kugovera kunenge kuri kushoma uye kushoma - semuenzaniso, munyori iyi post zvakazogonesa ESM muFedora. Pano tinogonesawo Enhanced Session Mode yeArch Linux virtual muchina.

Kuisa masevhisi ekubatanidza

Zvese zviri nyore kana zvishoma pano, isu tinongoda kuisa iyo package hyperv kubva munharaunda repository:

% sudo pacman -S hyperv

Gonesa VSS masevhisi, chinjana metadata uye mafaira:

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

XRDP Installation

repository linux-vm-zvishandiso paGitHub inopa zvinyorwa zvinogadzirisa maitiro ekuisa nekugadzirisa XRDP yeArch Linux uye Ubuntu. Isa Git, kana isati yatoiswa, pamwe neiyo compiler uye imwe software yemanyorero anovaka, uye wozobatanidza repository:

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

Panguva yekunyora uku, iyo yazvino kuburitswa kweXRDP, iyo yakaiswa neiyo script makepkg.shinotsanangurwa munzvimbo inochengeterwa ndeye 0.9.11, umo kupatsanurwa kunotyoka vsock://-makero, saka unofanirwa kuisa XRDP kubva kuGit uye Xorg mutyairi wayo kubva kuAUR nemaoko. Iyo chigamba cheXRDP chinopihwa muAUR zvakare chakapera zvishoma, saka uchafanirwa kugadzirisa iyo PKGBUILD uye chigamba nemaoko.

Isu tinoshongedza marepositori nePKGBUILDs kubva kuAUR (kazhinji maitiro aya, pamwe negungano, anongoitwa otomatiki nezvirongwa zvakaita se. yay, asi munyori akaita iyi nzira yese pane yakachena system):

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

Ngatiisei XRDP pachayo kutanga. Ngativhure faira PKGBUILD chero chinyorwa chinyorwa.

Ngatigadzirise maparameter ekuvaka. Iyo PKGBUILD yekuvaka XRDP kubva kuGit haisanganisi vsock rutsigiro mukuvaka, saka ngatizvigonese isu pachedu:

 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
 }

Muchigamba arch-config.diff, iyo inogadzirisa zvikamu uye XRDP zvinyorwa zvekutanga pasi penzira dzemafaira anoshandiswa muArch Linux, ine, pakati pezvimwe zvinhu, chigamba kune script. instfiles/xrdp.sh, iyo panguva yekunyora yakabviswa kubva pakugovera kweXRDP, saka chigamba chinozofanirwa kugadziridzwa nemaoko:

  [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

Vaka uye isa pasuru nemurairo % makepkg --skipchecksums -si (kiyi --skipchecksums inodiwa kudzima checksum verification yemasource files, sezvo takaagadzirisa nemaoko).

Handei kune dhairekitori xorgxrdp-devel-git, mushure mezvo isu tinongovaka iyo package nemirairo % makepkg -si.

Handei kune dhairekitori linux-vm-tools/arch uye mhanya script install-config.sh, iyo inoseta XRDP, PolicyKit uye PAM marongero:

% sudo ./install-config.sh

Script inoisa legacy setting use_vsock, iyo inofuratirwa kubva muvhezheni 0.9.11, saka ngatigadzirise faira rekugadzirisa /etc/xrdp/xrdp.ini nemaoko:

 ;   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

Wedzera kufaira ~/.xinitrc kuvhura yako yaunofarira hwindo maneja/desktop nharaunda, iyo ichaitwa kana X server yatangwa:

% echo "exec i3" > ~/.xinitrc

Ngatidzimei virtual muchina. Gonesa iyo vsock yekufambisa yeVM nekumhanyisa unotevera kuraira muPowerShell semaneja:

PS Admin > Set-VM -VMName ΠΠΠ—Π’ΠΠΠ˜Π•_МАШИНЫ -EnhancedSessionTransportType HvSocket

Ngatibatidzei virtual muchina zvakare.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Pangotanga sevhisi yeXRDP mushure mekunge sisitimu yatanga, vmconnect application ichaona izvi uye chinhu chemenu chichavepo. maonero -> Enhanced session. Paunosarudza chinhu ichi, isu tichakurudzirwa kuseta iyo skrini yekugadzirisa, uye pane tab Zviwanikwa zvemuno munhaurirano inovhura, unogona kusarudza zvishandiso zvinotumirwa mukati mechikamu cheRDP.

Gonesa Enhanced Session Mode yeArch Linux vashanyi muHyper-V
Gonesa Enhanced Session Mode yeArch Linux vashanyi muHyper-V

Ngatibatanei. Isu tichaona iyo XRDP yekupinda hwindo:

Gonesa Enhanced Session Mode yeArch Linux vashanyi muHyper-V

Isa zita rako rekushandisa uye password.

Shandisa

Mubairo kubva kune aya manipulations unooneka: iyo RDP chikamu chinoshanda zvakanyanya kuterera pane kana uchishanda neyakajeka kuratidzwa pasina Enhanced Session. Madhisiki anotumirwa mukati meVM kuburikidza neRDP anowanikwa mudhairekitori ${HOME}/shared-drives:

Gonesa Enhanced Session Mode yeArch Linux vashanyi muHyper-V

Iyo clipboard iri kushanda zvakanaka. Iwe haugone kukanda maprinta mukati, izvi hazvisi kungotsigirwa chete, asiwo anotyora dhisiki kutumira. Inzwi zvakare harishande, asi munyori aisarida. Kuti ubate mapfupi ekhibhodi seAlt + Tab, unofanirwa kuwedzera vmconnect kune yakazara skrini.

Kana nekuda kwechimwe chikonzero paine chishuwo chekushandisa iyo RDP mutengi yakavakirwa muWindows pachinzvimbo chevmconnect application kana, semuenzaniso, batanidza kune muchina uyu kubva kune mumwe muchina, ipapo unozofanirwa kuchinja faira. /etc/xrdp/xrdp.ini port pamusoro tcp://:3389. Kana iyo chaiyo muchina wakabatana neiyo Default Shandura uye inogamuchira network marongero kuburikidza neDHCP, saka unogona kubatana nayo kubva kune iyo host pa. Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΌΠ°ΡˆΠΈΠ½Ρ‹.mshome.net. Unogona chete kupinda muTTY kubva kuvmconnect application nekudzima Enhanced Mode.

Kushandiswa zvinyorwa:

  1. Hyper-V Arch Wiki
  2. Bug inoshuma paGitHub: 1, 2

Source: www.habr.com

Voeg