Kugonesa Enhanced Session Mode yeArch Linux-vaenzi muHyper-V

Kugonesa Enhanced Session Mode yeArch Linux-vaenzi muHyper-V

Kushandisa michina chaiyo pa Linux muHyper-V, zvinhu zviri nyore kunzwisisa zvishoma pane zviri kuitwa nemuenzi. Windows-машинами. ΠŸΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ Ρ‚ΠΎΠΌΡƒ являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Hyper-V всС ΠΆΠ΅ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π½Π΅ прСдназначался для дСсктопного пользования; нСльзя просто Π²Π·ΡΡ‚ΡŒ, ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ гостСвых Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ работоспособноС графичСскоС ускорСниС, Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°, ΠΎΠ±Ρ‰ΠΈΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ радости ΠΆΠΈΠ·Π½ΠΈ, ΠΊΠ°ΠΊ это происходит Π² VirtualBox.

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 Π² PowerShell). Для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… гостСвых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм, Π² числС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ…, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, находится ΠΈ Windows, Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Virtual Machine Connection (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 ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Windows Π² Hyper-V сразу послС установки. Π‘ гостями Π½Π° Linux Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ RDP-сСрвСр, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ vsock (ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ сСтСвоС адрСсноС пространство Π² Linux, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ для ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ с Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ΠΎΠΌ). Если для Ubuntu Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ VMCreate, ΠΈΠ΄ΡƒΡ‰ΠΈΠΌ с Hyper-V Π½Π° Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… рСдакциях Windows, Π΅ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ шаблон Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ с vsock RDP-сСрвСр XRDP yakatoiswa kare, zvino pamwe nekumwe kugovera kunenge kuri kushoma uye kushoma - semuenzaniso, munyori iyi post ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ESM Π² Fedora. Π—Π΄Π΅ΡΡŒ ΠΆΠ΅ ΠΌΡ‹ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅ΠΌ Enhanced Session Mode для Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ с Arch Linux.

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 Π½Π° GitHub прСдоставляСт скрипты, Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ процСсс установки ΠΈ настройки XRDP, для Arch Linux ΠΈ Ubuntu. Установим Git, Ссли ΠΎΠ½ Π΅Ρ‰Π΅ Π½Π΅ установлСн, вмСстС с компилятором ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ софтом для Ρ€ΡƒΡ‡Π½Ρ‹Ρ… сборок, послС Ρ‡Π΅Π³ΠΎ склонируСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ:

% 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, правящСм ΡŽΠ½ΠΈΡ‚Ρ‹ ΠΈ скрипты запуска XRDP ΠΏΠΎΠ΄ ΠΏΡƒΡ‚ΠΈ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ Π² Arch Linux, содСрТится Π² Ρ‚ΠΎΠΌ числС ΠΏΠ°Ρ‚Ρ‡ ΠΊ скрипту 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.

Kugonesa Enhanced Session Mode yeArch Linux-vaenzi muHyper-V
Kugonesa Enhanced Session Mode yeArch Linux-vaenzi muHyper-V

Ngatibatanei. Isu tichaona iyo XRDP yekupinda hwindo:

Kugonesa Enhanced Session Mode yeArch Linux-vaenzi 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:

Kugonesa Enhanced Session Mode yeArch Linux-vaenzi 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.

Если ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ Π΅ΡΡ‚ΡŒ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ вмСсто прилоТСния vmconnect встроСнный Π² Windows RDP-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΈΠ»ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΊ этой машинС ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ Π² Ρ„Π°ΠΉΠ»Π΅ /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

Tenga inovimbika yekutambira kwemasaiti ane DDoS dziviriro, VPS VDS maseva πŸ”₯ Tenga webhusaiti yakavimbika ine dziviriro yeDDoS, maseva eVPS VDS | ProHoster