Ṣiṣẹ Ipo Igba ti o dara si fun Arch Linux-àwọn àlejò ní Hyper-V

Ṣiṣẹ Ipo Igba ti o dara si fun Arch Linux-àwọn àlejò ní Hyper-V

Lilo awọn ẹrọ foju lori Linux Nínú Hyper-V, ìrírí tí kò rọrùn díẹ̀ ni èyí tí ó wà pẹ̀lú àlejò. Windows-машинами. Причиной тому является то, что Hyper-V все же изначально не предназначался для десктопного пользования; нельзя просто взять, поставить пакет гостевых дополнений и получить работоспособное графическое ускорение, буфер обмена, общие директории и другие радости жизни, как это происходит в VirtualBox.

Hyper-V ara pese orisirisi awọn iṣẹ Integration - nitorinaa, awọn alejo le lo iṣẹ ẹda ẹda ojiji (VSS), awọn alejo le fi ami ifihan tiipa kan ranṣẹ, awọn alejo le muuṣiṣẹpọ akoko eto pẹlu agbalejo agbara agbara, awọn faili le paarọ lati ọdọ agbalejo pẹlu ẹrọ foju (Copy-VMFile в PowerShell). Для некоторых гостевых операционных систем, в числе которых, конечно, находится и Windows, в приложении Virtual Machine Connection (vmconnect.exe) Ipo Ipele Imudara wa, ṣiṣẹ nipasẹ ilana RDP ati gbigba ọ laaye lati gbe awọn ẹrọ disiki ati awọn atẹwe si ẹrọ foju, bakannaa lo iwe-atẹwe ti o pin.

Enhanced Session Mode из коробки работает в Windows в Hyper-V сразу после установки. С гостями на Linux нужно устанавливать RDP-сервер, поддерживающий vsock (специальное виртуальное сетевое адресное пространство в Linux, предназначенное для коммуникации с гипервизором). Если для Ubuntu в приложении VMCreate, идущим с Hyper-V на настольных редакциях Windows, есть специальный подготовленный шаблон виртуальной машины, в котором работающий с vsock RDP-сервер XRDP ti fi sori ẹrọ tẹlẹ, lẹhinna pẹlu awọn ipinpinpin miiran o kere ati ki o kere si - fun apẹẹrẹ, onkọwe yi post получилось включить ESM в Fedora. Здесь же мы активируем Enhanced Session Mode для виртуальной машины с Arch Linux.

Fifi awọn iṣẹ Integration sori ẹrọ

Ohun gbogbo jẹ diẹ sii tabi kere si rọrun nibi, a kan nilo lati fi sori ẹrọ package naa hyperv lati ibi ipamọ agbegbe:

% sudo pacman -S hyperv

Jẹ ki a mu VSS ṣiṣẹ ati awọn iṣẹ paṣipaarọ metadata ati awọn faili:

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

Fifi XRDP sori ẹrọ

ibi ipamọ linux-vm-irinṣẹ на 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

Ni akoko kikọ nkan yii, itusilẹ to ṣẹṣẹ julọ ti XRDP, eyiti o fi sii nipasẹ iwe afọwọkọ naa makepkg.sheyi ti a daba ni ibi ipamọ jẹ 0.9.11, nínú èyí tí ìtúpalẹ̀ ti fọ́ vsock://Awọn adirẹsi, nitorinaa iwọ yoo ni lati fi sori ẹrọ XRDP lati Git ati awakọ Xorg fun AUR pẹlu ọwọ. Patch XRDP ti a nṣe ni AUR tun ti pẹ diẹ, nitorinaa iwọ yoo ni lati ṣatunkọ PKGBUILD ati patch pẹlu ọwọ.

Jẹ ki a ṣe awọn ibi ipamọ oniye pẹlu PKGBUILDs lati AUR (nigbagbogbo ilana yii, pẹlu kikọ, jẹ adaṣe nipasẹ awọn eto bii yay, ṣugbọn onkọwe ṣe gbogbo ilana yii lori eto mimọ):

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

Jẹ ki a fi sori ẹrọ XRDP funrararẹ ni akọkọ. Jẹ ki a ṣii faili naa PKGBUILD eyikeyi ọrọ olootu.

Jẹ ki ká satunkọ awọn Kọ sile. PKGBUILD fun kikọ XRDP lati Git ko pẹlu atilẹyin vsock nigba kikọ, nitorinaa jẹ ki a mu ki o funra wa:

 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
 }

Ninu alemo arch-config.diff, правящем юниты и скрипты запуска XRDP под пути к файлам, используемым в Arch Linux, содержится в том числе патч к скрипту instfiles/xrdp.sh, eyi ti o wa ni akoko kikọ ti yọ kuro lati pinpin XRDP, nitorinaa alemo naa yoo ni lati ṣatunkọ pẹlu ọwọ:

  [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

Jẹ ki a ṣe akopọ ati fi sori ẹrọ package pẹlu aṣẹ naa % makepkg --skipchecksums -si (bọtini --skipchecksums nilo lati mu ijẹrisi checksum kuro ti awọn faili orisun, niwọn igba ti a ṣatunkọ wọn pẹlu ọwọ).

Jẹ ká lọ si liana xorgxrdp-devel-git, lẹhin eyi a nìkan ṣajọpọ package pẹlu aṣẹ naa % makepkg -si.

Jẹ ká lọ si liana linux-vm-tools/arch ati ṣiṣe awọn akosile install-config.sh, eyiti o ṣeto XRDP, PolicyKit ati awọn eto PAM:

% sudo ./install-config.sh

Iwe afọwọkọ nfi eto iní sori ẹrọ use_vsock, eyiti a ti bikita lati ẹya 0.9.11, nitorinaa jẹ ki a ṣatunkọ faili iṣeto ni /etc/xrdp/xrdp.ini pẹlu ọwọ:

 ;   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

Fikun-un si faili ~/.xinitrc ṣe ifilọlẹ oluṣakoso window ti o fẹ / agbegbe tabili tabili, eyiti yoo ṣiṣẹ nigbati olupin X ba bẹrẹ:

% echo "exec i3" > ~/.xinitrc

Jẹ ká pa awọn foju ẹrọ. A mu irinna vsock ṣiṣẹ fun ẹrọ foju nipa ṣiṣe pipaṣẹ atẹle ni PowerShell bi olutọju:

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

Jẹ ki a tan-an ẹrọ foju lẹẹkansi.

Ilana

Ni kete ti iṣẹ XRDP bẹrẹ lẹhin ti eto naa bẹrẹ, ohun elo vmconnect yoo rii eyi ati pe ohun naa yoo wa ninu akojọ aṣayan. Wo -> Imudara Igba. Nigbati o ba yan nkan yii, a yoo ti ọ lati ṣeto ipinnu iboju, ati lori taabu Awọn alaye agbegbe Ninu ifọrọwerọ ti o ṣi, o le yan awọn ẹrọ lati firanṣẹ siwaju si igba RDP.

Ṣiṣẹ Ipo Igba ti o dara si fun Arch Linux-àwọn àlejò ní Hyper-V
Ṣiṣẹ Ipo Igba ti o dara si fun Arch Linux-àwọn àlejò ní Hyper-V

Jẹ ki a sopọ. A yoo rii window iwọle XRDP:

Ṣiṣẹ Ipo Igba ti o dara si fun Arch Linux-àwọn àlejò ní Hyper-V

Tẹ orukọ olumulo ati ọrọ igbaniwọle rẹ sii.

Lo

Anfaani lati awọn ifọwọyi wọnyi jẹ akiyesi: igba RDP n ṣiṣẹ diẹ sii ni idahun ju nigbati o n ṣiṣẹ pẹlu ifihan foju laisi Imudara Ipese. Awọn disiki silẹ inu VM nipasẹ RDP wa ninu itọsọna naa ${HOME}/shared-drives:

Ṣiṣẹ Ipo Igba ti o dara si fun Arch Linux-àwọn àlejò ní Hyper-V

Awọn agekuru ṣiṣẹ daradara. O ko le dari awọn atẹwe inu; eyi kii ṣe atilẹyin nikan, ṣugbọn pẹlu fi opin si disk firanšẹ siwaju. Ohun naa tun ko ṣiṣẹ, ṣugbọn onkọwe ko nilo eyi. Lati le gba awọn ọna abuja keyboard bii Alt + Tab, o nilo lati faagun vmconnect si iboju kikun.

Если по каким-либо причинам есть желание использовать вместо приложения vmconnect встроенный в Windows RDP-клиент или, например, подключаться к этой машине из другой машины, то нужно будет поменять в файле /etc/xrdp/xrdp.ini port on tcp://:3389. Ti ẹrọ foju ba ti sopọ si Yipada Aiyipada ati gba awọn eto nẹtiwọọki nipasẹ DHCP, lẹhinna o le sopọ si ọdọ agbalejo ni название_машины.mshome.net. O le wọle si TTY nikan lati ohun elo vmconnect nipa pipa Ipo Imudara.

Awọn orisun ti a lo:

  1. Hyper-V - Arch Wiki
  2. Awọn ijabọ kokoro lori GitHub: 1, 2

orisun: www.habr.com

Ra alejo gbigba igbẹkẹle fun awọn aaye pẹlu aabo DDoS, awọn olupin VPS VDS 🔥 Ra gbigbalejo oju opo wẹẹbu ti o gbẹkẹle pẹlu aabo DDoS, awọn olupin VPS VDS | ProHoster