Arch-erako saio modu hobetua gaitzea Linux-gonbidatuak Hyper-V-n

Arch-erako saio modu hobetua gaitzea Linux-gonbidatuak Hyper-V-n

Makina birtualak erabiltzea Linux Hyper-V-n, kutxatik ateratzea gonbidatuekin baino esperientzia apur bat erosoagoa da Windows-машинами. ΠŸΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ Ρ‚ΠΎΠΌΡƒ являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Hyper-V всС ΠΆΠ΅ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π½Π΅ прСдназначался для дСсктопного пользования; нСльзя просто Π²Π·ΡΡ‚ΡŒ, ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ гостСвых Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ работоспособноС графичСскоС ускорСниС, Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°, ΠΎΠ±Ρ‰ΠΈΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ радости ΠΆΠΈΠ·Π½ΠΈ, ΠΊΠ°ΠΊ это происходит Π² VirtualBox.

Hyper-V-k berak eskaintzen du hainbat integrazio-zerbitzu - beraz, gonbidatuek ostalariaren itzal kopia zerbitzua (VSS) erabil dezakete, gonbidatuek itzaltze seinalea bidal dezakete, gonbidatuek sistemaren ordua birtualizazio ostalariarekin sinkroniza dezakete, fitxategiak ostalaritik makina birtualarekin trukatu daitezke (Copy-VMFile Π² PowerShell). Для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… гостСвых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм, Π² числС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ…, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, находится ΠΈ Windows, Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Virtual Machine Connection (vmconnect.exe) Saio-modu hobetua eskuragarri dago, RDP protokoloaren bidez funtzionatzen duena eta disko-gailuak eta inprimagailuak makina birtualera transferitzeko aukera ematen dizu, baita partekatutako arbel bat erabiltzeko ere.

Enhanced Session Mode ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Windows Π² Hyper-V сразу послС установки. Π‘ гостями Π½Π° Linux Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ RDP-сСрвСр, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ vsock (ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ сСтСвоС адрСсноС пространство Π² Linux, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ для ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ с Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ΠΎΠΌ). Если для Ubuntu Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ VMCreate, ΠΈΠ΄ΡƒΡ‰ΠΈΠΌ с Hyper-V Π½Π° Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… рСдакциях Windows, Π΅ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ шаблон Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ с vsock RDP-сСрвСр XRDP dagoeneko aurrez instalatuta dago, gero eta beste banaketa batzuekin gero eta argi gutxiago dago, adibidez, egilea mezu hau ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ESM Π² Fedora. Π—Π΄Π΅ΡΡŒ ΠΆΠ΅ ΠΌΡ‹ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅ΠΌ Enhanced Session Mode для Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ с Arch Linux.

Integrazio zerbitzuak instalatzea

Hemen dena errazago edo gutxiago da, paketea instalatu besterik ez dugu egin behar hyperv komunitatearen biltegitik:

% sudo pacman -S hyperv

Gaitu ditzagun VSS eta truke zerbitzuak metadatuak eta fitxategiak:

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

XRDP instalatzen

biltegia linux-vm-tools Π½Π° 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

Artikulu hau idazteko unean, XRDPren azken bertsioa, gidoiak instalatzen duena makepkg.shbiltegian iradokitakoa 0.9.11 da, zeinetan analisia apurtzen den vsock://-helbideak, beraz, XRDP Git-etik eta Xorg kontrolatzailea AUR-etik eskuz instalatu beharko duzu. AUR-n eskaintzen den XRDP adabakia ere apur bat zaharkituta dago, beraz, PKGBUILD eta adabakia eskuz editatu beharko dituzu.

Klon ditzagun AUR-eko PKGBUILD-ekin biltegiak (normalean prozedura hau, eraikuntzarekin batera, bezalako programen bidez automatizatuta dago. bai, baina egileak prozedura hau guztia sistema garbi batean egin zuen):

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

Instalatu dezagun XRDP bera lehenik. Ireki dezagun fitxategia PKGBUILD edozein testu-editore.

Editatu ditzagun eraikuntza-parametroak. Git-etik XRDP eraikitzeko PKGBUILD-k ez du vsock euskarria barne hartzen eraikitzerakoan, beraz, gaitu dezagun geuk:

 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
 }

Adabakian arch-config.diff, правящСм ΡŽΠ½ΠΈΡ‚Ρ‹ ΠΈ скрипты запуска XRDP ΠΏΠΎΠ΄ ΠΏΡƒΡ‚ΠΈ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ Π² Arch Linux, содСрТится Π² Ρ‚ΠΎΠΌ числС ΠΏΠ°Ρ‚Ρ‡ ΠΊ скрипту instfiles/xrdp.sh, idazteko momentuan kendu zen XRDP banaketatik, beraz, adabakia eskuz editatu beharko da:

  [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

Konpilatu eta instalatu dezagun paketea komandoarekin % makepkg --skipchecksums -si (giltza --skipchecksums iturburu-fitxategien kontrol-sumaren egiaztapena desgaitzeko behar da, eskuz editatu baititugu).

Goazen direktoriora xorgxrdp-devel-git, ondoren paketea komandoarekin muntatzen dugu % makepkg -si.

Goazen direktoriora linux-vm-tools/arch eta exekutatu gidoia install-config.sh, XRDP, PolicyKit eta PAM ezarpenak ezartzen dituena:

% sudo ./install-config.sh

Script-ek ondarearen ezarpena instalatzen du use_vsock, 0.9.11 bertsioaz geroztik baztertu dena, edita dezagun konfigurazio fitxategia /etc/xrdp/xrdp.ini eskuz:

 ;   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

Gehitu fitxategira ~/.xinitrc zure leiho-kudeatzaile/mahai-ingurune hobetsia abiaraziz, X zerbitzaria abiarazten denean exekutatuko dena:

% echo "exec i3" > ~/.xinitrc

Itzali dezagun makina birtuala. Makina birtualerako vsock garraioa aktibatzen dugu PowerShell-en komando hau administratzaile gisa exekutatuz:

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

Piztu dezagun berriro makina birtuala.

konexio

XRDP zerbitzua sistema hasi eta gero abiarazi bezain laster, vmconnect aplikazioak hau detektatuko du eta elementua eskuragarri egongo da menuan. ikusi -> Saio hobetua. Elementu hau hautatzerakoan, pantailaren bereizmena ezartzeko eskatuko zaigu eta fitxan Tokiko baliabideak Irekitzen den elkarrizketa-koadroan, RDP saioan birbidali beharreko gailuak hauta ditzakezu.

Arch-erako saio modu hobetua gaitzea Linux-gonbidatuak Hyper-V-n
Arch-erako saio modu hobetua gaitzea Linux-gonbidatuak Hyper-V-n

Konektatu gaitezen. XRDP saioa hasteko leihoa ikusiko dugu:

Arch-erako saio modu hobetua gaitzea Linux-gonbidatuak Hyper-V-n

Sartu zure erabiltzaile-izena eta pasahitza.

Erabili

Manipulazio hauen onura nabaria da: RDP saioak Enhanced Session gabe pantaila birtual batekin lan egiten duenean baino askoz erantzun handiagoz funtzionatzen du. RDP bidez VM barruan erortzen diren diskoak direktorioa eskuragarri daude ${HOME}/shared-drives:

Arch-erako saio modu hobetua gaitzea Linux-gonbidatuak Hyper-V-n

Arbelak ondo funtzionatzen du. Ezin dituzu inprimagailuak barrura birbidali; hau ez da onartzen bakarrik, baizik eta diskoa birbidaltzea apurtzen du. Soinuak ere ez du funtzionatzen, baina egileak ez zuen hau behar. Alt+Tab bezalako teklatuko lasterbideak ateratzeko, vmconnect pantaila osora zabaldu behar duzu.

Если ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ Π΅ΡΡ‚ΡŒ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ вмСсто прилоТСния vmconnect встроСнный Π² Windows RDP-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΈΠ»ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΊ этой машинС ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ Π² Ρ„Π°ΠΉΠ»Π΅ /etc/xrdp/xrdp.ini port on tcp://:3389. Makina birtuala Default Switchera konektatuta badago eta sarearen ezarpenak DHCP bidez jasotzen baditu, ostalariarengandik konekta zaitezke. Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΌΠ°ΡˆΠΈΠ½Ρ‹.mshome.net. vmconnect aplikaziotik TTY-n soilik saioa hasi dezakezu Modu hobetua desaktibatuta.

Erabilitako iturriak:

  1. Hyper-V - Arch Wiki
  2. Akatsen txostenak GitHub-en: 1, 2

Iturria: www.habr.com

Erosi hosting fidagarria DDoS babesa duten guneetarako, VPS VDS zerbitzariak πŸ”₯ Erosi webguneentzako ostatu fidagarria DDoS babesarekin, VPS VDS zerbitzariak | ProHoster