Kunna Yanayin Zama Ingantacce don baƙi Arch Linux a cikin Hyper-V

Kunna Yanayin Zama Ingantacce don baƙi Arch Linux a cikin Hyper-V

Amfani da injunan kama-da-wane na Linux a cikin Hyper-V daga cikin akwatin yana da ɗan ƙarancin jin daɗi fiye da amfani da injin baƙo na Windows. Dalilin haka shi ne cewa Hyper-V ba asali an yi niyya don amfani da tebur ba; ba za ku iya shigar da fakitin ƙari na baƙi kawai ba kuma ku sami haɓakar hotuna masu aiki, allo, kundin adireshi da sauran abubuwan jin daɗin rayuwa, kamar yadda ke faruwa a VirtualBox.

Hyper-V da kansa yana bayarwa sabis na haɗin kai da yawa - don haka, baƙi za su iya amfani da sabis na kwafin inuwar mai watsa shiri (VSS), baƙi za su iya aika siginar rufewa, baƙi za su iya daidaita lokacin tsarin tare da mai watsa shiri na gani, ana iya musayar fayiloli daga mai watsa shiri tare da injin kama-da-wane (Copy-VMFile a cikin PowerShell). Don wasu tsarin aiki na baƙo, gami da, ba shakka, Windows, a cikin aikace-aikacen Haɗin Injin Virtual (vmconnect.exe) Ingantaccen Yanayin Zama yana samuwa, aiki ta hanyar ka'idar RDP kuma yana ba ku damar canja wurin na'urorin diski da firintocin zuwa na'ura mai mahimmanci, da kuma amfani da allo mai raba.

Ingantattun Yanayin Zama yana aiki daga cikin akwatin a cikin Windows a Hyper-V nan da nan bayan shigarwa. Tare da baƙi akan Linux, kuna buƙatar shigar da uwar garken RDP wanda ke goyan bayan vsock (wuri na adireshin cibiyar sadarwa na musamman a cikin Linux wanda aka tsara don sadarwa tare da hypervisor). Idan don Ubuntu a cikin aikace-aikacen VMCreate wanda ya zo tare da Hyper-V akan bugu na tebur na Windows, akwai samfuri na injuna na musamman da aka shirya wanda sabar RDP ke aiki tare da vsock. XRDP riga an riga an shigar dashi, sannan tare da sauran rarrabawa ya zama ƙasa da ƙasa - alal misali, marubucin wannan post Na sami damar kunna ESM a Fedora. Anan za mu kunna Ingantattun Yanayin Zama don injin kama-da-wane na Arch Linux.

Shigar da ayyukan haɗin kai

Komai yana da sauƙi ko žasa a nan, kawai muna buƙatar shigar da kunshin hyperv daga ma'ajiyar al'umma:

% sudo pacman -S hyperv

Bari mu kunna VSS da musayar sabis metadata da fayiloli:

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

Ana shigar da XRDP

wurin ajiya Linux-vm-kayan aiki akan GitHub yana ba da rubutun da ke sarrafa tsarin shigarwa da daidaitawa XRDP don Arch Linux da Ubuntu. Bari mu shigar da Git, idan ba a riga an shigar da shi ba, tare da mai tarawa da sauran software don gine-ginen hannu, sa'an nan kuma rufe wurin ajiyar:

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

A lokacin rubuta wannan labarin, sabon saki na XRDP, wanda aka shigar da rubutun makepkg.shwanda aka ba da shawara a cikin ma'ajiyar shine 0.9.11, a cikin abin da parsing ya karye vsock://-adiresoshin, don haka dole ne ku shigar da XRDP daga Git da direban Xorg daga AUR da hannu. Facin XRDP da aka bayar a cikin AUR shima ɗan ƙarewa ne, don haka dole ne ku gyara PKGBUILD da facin da hannu.

Bari mu rufe wuraren ajiya tare da PKGBUILDs daga AUR (yawanci wannan hanya, tare da ginin, ana sarrafa ta ta shirye-shirye kamar su. Yay, amma marubucin ya yi wannan gabaɗayan hanya akan tsari mai tsabta):

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

Bari mu fara shigar da XRDP kanta. Bari mu buɗe fayil ɗin PKGBUILD kowane editan rubutu.

Bari mu gyara ma'aunin gini. PKGBUILD don gina XRDP daga Git baya haɗa da tallafin vsock lokacin gini, don haka bari mu ba da kanmu:

 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
 }

A cikin facin arch-config.diff, wanda ke sarrafa raka'a da rubutun ƙaddamar da XRDP a ƙarƙashin hanyoyin fayil ɗin da aka yi amfani da su a cikin Arch Linux, kuma ya ƙunshi faci ga rubutun. instfiles/xrdp.sh, wanda a lokacin rubutawa aka cire daga rarraba XRDP, don haka facin dole ne a gyara shi da hannu:

  [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

Bari mu tattara kuma shigar da kunshin tare da umarnin % makepkg --skipchecksums -si (kulli --skipchecksums da ake buƙata don musaki tantance adadin fayilolin tushen, tunda mun gyara su da hannu).

Mu je kan directory xorgxrdp-devel-git, Bayan haka muna kawai haɗa kunshin tare da umarnin % makepkg -si.

Mu je kan directory linux-vm-tools/arch kuma gudanar da rubutun install-config.sh, wanda ke saita XRDP, PolicyKit da saitunan PAM:

% sudo ./install-config.sh

Rubutun yana shigar da saitin gado use_vsock, wanda aka yi watsi da shi tun sigar 0.9.11, don haka bari mu gyara fayil ɗin sanyi /etc/xrdp/xrdp.ini da hannu:

 ;   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

Ƙara zuwa fayil ~/.xinitrc ƙaddamar da mahallin mai sarrafa taga da kuka fi so / tebur, wanda za a kashe lokacin da uwar garken X ta fara:

% echo "exec i3" > ~/.xinitrc

Bari mu kashe na'urar kama-da-wane. Muna kunna jigilar vsock don injin kama-da-wane ta hanyar aiwatar da umarni mai zuwa a cikin PowerShell azaman mai gudanarwa:

PS Admin > Set-VM -VMName НАЗВАНИЕ_МАШИНЫ -EnhancedSessionTransportType HvSocket

Bari mu sake kunna injin kama-da-wane.

Haɗin kai

Da zaran sabis na XRDP ya fara bayan tsarin ya fara, aikace-aikacen vmconnect zai gano wannan kuma abu zai kasance a cikin menu. view -> Ingantaccen zama. Lokacin zabar wannan abu, za a sa mu saita ƙudurin allo, kuma akan shafin Bayanin gari A cikin maganganun da ke buɗewa, zaku iya zaɓar na'urorin da za'a tura zuwa cikin zaman RDP.

Kunna Yanayin Zama Ingantacce don baƙi Arch Linux a cikin Hyper-V
Kunna Yanayin Zama Ingantacce don baƙi Arch Linux a cikin Hyper-V

Mu haɗa. Za mu ga taga shigar XRDP:

Kunna Yanayin Zama Ingantacce don baƙi Arch Linux a cikin Hyper-V

Shigar da sunan mai amfani da kalmar wucewa.

Amfani

Amfanin waɗannan magudin abu ne sananne: zaman RDP yana aiki sosai fiye da lokacin aiki tare da nuni mai kama-da-wane ba tare da Ingantaccen Zama ba. Fayilolin da aka jefa a cikin VM ta hanyar RDP suna samuwa a cikin kundin adireshi ${HOME}/shared-drives:

Kunna Yanayin Zama Ingantacce don baƙi Arch Linux a cikin Hyper-V

Alloton yana aiki lafiya. Ba za ku iya tura firintocin ciki ba; wannan ba wai kawai yana tallafawa ba, har ma karya isar da faifai. Hakanan sautin ba ya aiki, amma marubucin bai buƙaci wannan ba. Domin ɗaukar gajerun hanyoyin keyboard kamar Alt+Tab, kuna buƙatar faɗaɗa vmconnect zuwa cikakken allo.

Idan saboda wasu dalilai kuna son amfani da abokin ciniki na RDP da aka gina a cikin Windows maimakon aikace-aikacen vmconnect ko, alal misali, haɗa zuwa wannan injin daga wata na'ura, to kuna buƙatar canza fayil ɗin. /etc/xrdp/xrdp.ini port a kan tcp://:3389. Idan an haɗa na'urar kama-da-wane zuwa Default Switch kuma tana karɓar saitunan cibiyar sadarwa ta hanyar DHCP, to zaku iya haɗawa da shi daga mai watsa shiri a. название_машины.mshome.net. Kuna iya shiga TTY kawai daga aikace-aikacen vmconnect ta kashe Ingantaccen Yanayin.

Abubuwan da aka yi amfani da su:

  1. Hyper-V - Arch Wiki
  2. Rahoton Bug akan GitHub: 1, 2

source: www.habr.com

Add a comment