Na-eme ka ọnọdụ nnọkọ dịkwuo mma maka Arch Linux-ndị ọbịa na Hyper-V

Na-eme ka ọnọdụ nnọkọ dịkwuo mma maka Arch Linux-ndị ọbịa na Hyper-V

Iji igwe mebere eme ihe na Linux na Hyper-V n'èzí igbe bụ ahụmịhe dịtụ obere mma karịa na onye ọbịa Windows-машинами. Причиной тому является то, что Hyper-V все же изначально не предназначался для десктопного пользования; нельзя просто взять, поставить пакет гостевых дополнений и получить работоспособное графическое ускорение, буфер обмена, общие директории и другие радости жизни, как это происходит в VirtualBox.

Hyper-V n'onwe ya na-enye ọtụtụ ọrụ mwekota - yabụ, ndị ọbịa nwere ike iji ọrụ nnomi nke onye ọbịa (VSS), ndị ọbịa nwere ike izipu akara mmechi, ndị ọbịa nwere ike mekọrịta oge sistemụ na onye nnabata virtualization, faịlụ nwere ike gbanwere site na onye ọbịa na igwe mebere (Copy-VMFile в PowerShell). Для некоторых гостевых операционных систем, в числе которых, конечно, находится и Windows, в приложении Virtual Machine Connection (vmconnect.exe) Ọnọdụ nnọkọ dịwanye mma, na-arụ ọrụ site na usoro RDP ma na-enye gị ohere ịnyefe ngwaọrụ diski na ndị na-ebi akwụkwọ na igwe mebere, yana iji bọọdụ kekọrịtara.

Enhanced Session Mode из коробки работает в Windows в Hyper-V сразу после установки. С гостями на Linux нужно устанавливать RDP-сервер, поддерживающий vsock (специальное виртуальное сетевое адресное пространство в Linux, предназначенное для коммуникации с гипервизором). Если для Ubuntu в приложении VMCreate, идущим с Hyper-V на настольных редакциях Windows, есть специальный подготовленный шаблон виртуальной машины, в котором работающий с vsock RDP-сервер XRDP etinyelarịrịrị ya, mgbe ahụ na nkesa ndị ọzọ ọ na-adị ntakịrị ma doo anya - dịka ọmụmaatụ, onye edemede nke a post получилось включить ESM в Fedora. Здесь же мы активируем Enhanced Session Mode для виртуальной машины с Arch Linux.

Ịwụnye ọrụ ntinye

Ihe niile dị mfe ma ọ bụ dị mfe ebe a, naanị anyị kwesịrị ịwụnye ngwugwu ahụ hyperv site na ebe nchekwa obodo:

% sudo pacman -S hyperv

Ka anyị mee ka VSS na ọrụ mgbanwe metadata na faịlụ:

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

Ịwụnye XRDP

ebe nchekwa linux-vm-ngwaọrụ на 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

N'oge edere akụkọ a, ntọhapụ ọhụrụ nke XRDP, nke etinyere na edemede ahụ makepkg.shnke a tụrụ aro na ebe nchekwa ahụ bụ 0.9.11, nke ntughari agbajiwo vsock://-adreesị, yabụ ị ga-etinye XRDP site na Git na onye ọkwọ ụgbọ ala Xorg maka ya site na AUR. Ngwunye XRDP enyere na AUR adịkwaghị agwụla, yabụ ị ga-eji aka dezie PKGBUILD na patch.

Ka anyị jiri PKGBUILD si na AUR mechie ebe nchekwa (na-emekarị usoro a, yana ihe owuwu ahụ, na-arụ ọrụ site na mmemme dị ka Ee, ma odee mere usoro a dum na usoro dị ọcha):

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

Ka anyị buru ụzọ wụnye XRDP n'onwe ya. Ka anyị mepee faịlụ ahụ PKGBUILD editọ ederede ọ bụla.

Ka anyị dezie ihe nrụpụta. PKGBUILD maka iwulite XRDP site na Git anaghị agụnye nkwado vsock mgbe a na-ewu ụlọ, yabụ ka anyị mee ya n'onwe anyị:

 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'ime patch arch-config.diff, правящем юниты и скрипты запуска XRDP под пути к файлам, используемым в Arch Linux, содержится в том числе патч к скрипту instfiles/xrdp.sh, nke n'oge ederede ewepụrụ site na nkesa XRDP, yabụ a ga-eji aka dezie patch ahụ:

  [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

Ka anyị chịkọta ma wụnye ngwugwu na iwu ahụ % makepkg --skipchecksums -si ( igodo --skipchecksums achọrọ iji gbanyụọ nkwenye checksum nke faịlụ isi mmalite, ebe anyị ji aka dezie ha).

Ka anyị gaa na ndekọ xorgxrdp-devel-git, mgbe nke ahụ gasịrị, anyị na-ejikọta ngwugwu ahụ na iwu ahụ % makepkg -si.

Ka anyị gaa na ndekọ linux-vm-tools/arch ma gbaa edemede ahụ install-config.sh, nke na-edozi ntọala XRDP, PolicyKit na PAM:

% sudo ./install-config.sh

Edemede na-etinye ntọala ntọala use_vsock, nke leghaara anya kemgbe ụdị 0.9.11, yabụ ka anyị dezie faịlụ nhazi /etc/xrdp/xrdp.ini aka:

 ;   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

Tinye na faịlụ ~/.xinitrc ibido njikwa windo/desktọpụ masịrị gị, nke a ga-egbu mgbe ihe nkesa X malitere:

% echo "exec i3" > ~/.xinitrc

Ka anyị gbanyụọ igwe mebere. Anyị na-arụ ọrụ ụgbọ njem vsock maka igwe mebere site na iji iwu a na PowerShell dị ka onye nchịkwa:

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

Ka anyị gbanye igwe mebere ọzọ.

Akwụsị

Ozugbo ọrụ XRDP malitere mgbe sistemụ ahụ malitechara, ngwa vmconnect ga-achọpụta nke a na ihe ahụ ga-adị na menu. View -> Oge emelitere. Mgbe ị na-ahọrọ ihe a, a ga-akpali anyị ịtọ mkpebi ihuenyo, yana na taabụ Ngwa mpaghara Na mkparịta ụka na-emepe, ị ga-enwe ike ịhọrọ ngwaọrụ ndị a ga-ebuga na nnọkọ RDP.

Na-eme ka ọnọdụ nnọkọ dịkwuo mma maka Arch Linux-ndị ọbịa na Hyper-V
Na-eme ka ọnọdụ nnọkọ dịkwuo mma maka Arch Linux-ndị ọbịa na Hyper-V

Ka anyị jikọọ. Anyị ga-ahụ windo nbanye XRDP:

Na-eme ka ọnọdụ nnọkọ dịkwuo mma maka Arch Linux-ndị ọbịa na Hyper-V

Tinye aha njirimara na paswọọdụ gị.

Jiri

A na-ahụta uru sitere na nhụsianya ndị a: nnọkọ RDP na-arụ ọrụ nke ọma karịa mgbe ị na-arụ ọrụ na ngosipụta mebere na-enweghị Mmekọahụ Oge. Diski ndị etinyere n'ime VM site na RDP dị na ndekọ ${HOME}/shared-drives:

Na-eme ka ọnọdụ nnọkọ dịkwuo mma maka Arch Linux-ndị ọbịa na Hyper-V

Klipbọọdụ ahụ na-arụ ọrụ nke ọma. Ị nweghị ike ibugharị ndị nbipute n'ime; nke a abụghị naanị akwadoro, kamakwa na-agbaji mbugharị diski. Ụda ahụ anaghịkwa arụ ọrụ, mana onye edemede ahụ achọghị nke a. Iji weghara ụzọ mkpirisi ahụigodo dị ka Alt+Tab, ịkwesịrị ịgbasa vmconnect na ihuenyo zuru oke.

Если по каким-либо причинам есть желание использовать вместо приложения vmconnect встроенный в Windows RDP-клиент или, например, подключаться к этой машине из другой машины, то нужно будет поменять в файле /etc/xrdp/xrdp.ini port on tcp://:3389. Ọ bụrụ na ejikọrọ igwe mebere ya na Default Switch wee nweta ntọala netwọkụ site na DHCP, mgbe ahụ ị nwere ike jikọọ na ya site na onye ọbịa. название_машины.mshome.net. Ị nwere ike ịbanye na TTY site na ngwa vmconnect site na gbanyụọ ọnọdụ emelitere.

Isi mmalite ejiri:

  1. Hyper-V - Arch Wiki
  2. Bug na-akọ na GitHub: 1, 2

isi: www.habr.com

Zụta nnabata ntụkwasị obi maka saịtị nwere nchekwa DDoS, sava VPS VDS 🔥 Zụta ebe nrụọrụ weebụ a pụrụ ịtụkwasị obi na nchekwa DDoS, sava VPS VDS | ProHoster