L-Attivazzjoni tal-Modalità ta' Sessjoni Mtejba għal Arch Linux-mistednin f'Hyper-V

L-Attivazzjoni tal-Modalità ta' Sessjoni Mtejba għal Arch Linux-mistednin f'Hyper-V

L-użu ta' magni virtwali fuq Linux f'Hyper-V barra mill-kaxxa hija esperjenza kemxejn inqas komda milli bil-mistieden Windows-машинами. Причиной тому является то, что Hyper-V все же изначально не предназначался для десктопного пользования; нельзя просто взять, поставить пакет гостевых дополнений и получить работоспособное графическое ускорение, буфер обмена, общие директории и другие радости жизни, как это происходит в VirtualBox.

Hyper-V innifsu jipprovdi diversi servizzi ta' integrazzjoni - għalhekk, il-mistednin jistgħu jużaw is-servizz tal-kopja shadow tal-host (VSS), il-mistednin jistgħu jibagħtu sinjal ta 'għeluq, il-mistednin jistgħu jissinkronizzaw il-ħin tas-sistema mal-host tal-virtwalizzazzjoni, il-fajls jistgħu jiġu skambjati mill-ospitant mal-magna virtwali (Copy-VMFile в PowerShell). Для некоторых гостевых операционных систем, в числе которых, конечно, находится и Windows, в приложении Virtual Machine Connection (vmconnect.exe) Il-Modalità Sessjoni Mtejba hija disponibbli, taħdem permezz tal-protokoll RDP u tippermettilek tittrasferixxi tagħmir tad-disk u printers għall-magna virtwali, kif ukoll tuża clipboard kondiviż.

Enhanced Session Mode из коробки работает в Windows в Hyper-V сразу после установки. С гостями на Linux нужно устанавливать RDP-сервер, поддерживающий vsock (специальное виртуальное сетевое адресное пространство в Linux, предназначенное для коммуникации с гипервизором). Если для Ubuntu в приложении VMCreate, идущим с Hyper-V на настольных редакциях Windows, есть специальный подготовленный шаблон виртуальной машины, в котором работающий с vsock RDP-сервер XRDP diġà installat minn qabel, allura ma 'distribuzzjonijiet oħra huwa inqas u inqas ċar - per eżempju, l-awtur din il-kariga получилось включить ESM в Fedora. Здесь же мы активируем Enhanced Session Mode для виртуальной машины с Arch Linux.

Installazzjoni ta' servizzi ta' integrazzjoni

Kollox huwa ftit jew wisq sempliċi hawn, għandna bżonn biss li ninstallaw il-pakkett hyperv mir-repożitorju tal-komunità:

% sudo pacman -S hyperv

Ejja nippermettu VSS u servizzi ta 'skambju metadata u fajls:

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

Installazzjoni ta' XRDP

repożitorju 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

Fil-ħin tal-kitba ta 'dan l-artikolu, l-aħħar rilaxx ta' XRDP, li huwa installat mill-iskript makepkg.shdak issuġġerit fir-repożitorju huwa 0.9.11, li fiha l-parsing jitkisser vsock://-indirizzi, għalhekk ikollok tinstalla XRDP minn Git u s-sewwieq Xorg għalih minn AUR manwalment. Il-garża XRDP offruta fl-AUR hija wkoll kemmxejn skaduta, għalhekk ikollok teditja l-PKGBUILD u l-garża manwalment.

Ejja nikklonu repożitorji b'PKGBUILDs minn AUR (ġeneralment din il-proċedura, flimkien mal-bini, hija awtomatizzata minn programmi bħal Yay, iżda l-awtur għamel din il-proċedura kollha fuq sistema nadifa):

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

Ejja ninstallaw XRDP innifsu l-ewwel. Ejja niftħu l-fajl PKGBUILD kwalunkwe editur tat-test.

Ejja neditjaw il-parametri tal-bini. PKGBUILD għall-bini ta' XRDP minn Git ma jinkludix l-appoġġ ta' vsock meta nibni, allura ejja nippermettuha nfusna:

 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
 }

Fil-garża arch-config.diff, правящем юниты и скрипты запуска XRDP под пути к файлам, используемым в Arch Linux, содержится в том числе патч к скрипту instfiles/xrdp.sh, li fil-ħin tal-kitba tneħħa mid-distribuzzjoni XRDP, għalhekk il-garża se jkollha tiġi editjata manwalment:

  [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

Ejja niġbru u ninstallaw il-pakkett bil-kmand % makepkg --skipchecksums -si (ċavetta --skipchecksums meħtieġa biex tiddiżattiva l-verifika tas-checksum tal-fajls tas-sors, peress li aħna editjajnahom manwalment).

Ejja mmorru fid-direttorju xorgxrdp-devel-git, wara li aħna sempliċement niġbru l-pakkett bil-kmand % makepkg -si.

Ejja mmorru fid-direttorju linux-vm-tools/arch u mexxi l-iskript install-config.sh, li tistabbilixxi s-settings ta' XRDP, PolicyKit u PAM:

% sudo ./install-config.sh

L-iskript jinstalla l-issettjar tal-wirt use_vsock, li ġiet injorata mill-verżjoni 0.9.11, allura ejja neditjaw il-fajl tal-konfigurazzjoni /etc/xrdp/xrdp.ini manwalment:

 ;   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

Żid mal-fajl ~/.xinitrc tniedi l-ambjent preferut tal-maniġer tat-tieqa/desktop tiegħek, li se jiġi eżegwit meta jibda s-server X:

% echo "exec i3" > ~/.xinitrc

Ejja itfi l-magna virtwali. Aħna nattivaw it-trasport vsock għall-magna virtwali billi nħaddmu l-kmand li ġej f'PowerShell bħala amministratur:

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

Ejja nerġgħu nixgħel il-magna virtwali.

Konnessjoni

Hekk kif is-servizz XRDP jibda wara li tibda s-sistema, l-applikazzjoni vmconnect se tiskopri dan u l-oġġett isir disponibbli fil-menu View -> Sessjoni Mtejba. Meta tagħżel dan l-oġġett, aħna se nkunu mħeġġa biex nissettjaw ir-riżoluzzjoni tal-iskrin, u fuq it-tab Riżorsi Lokali Fid-djalogu li jinfetaħ, tista 'tagħżel tagħmir li għandu jintbagħat fis-sessjoni RDP.

L-Attivazzjoni tal-Modalità ta' Sessjoni Mtejba għal Arch Linux-mistednin f'Hyper-V
L-Attivazzjoni tal-Modalità ta' Sessjoni Mtejba għal Arch Linux-mistednin f'Hyper-V

Ejja ngħaqqdu. Se naraw it-tieqa tal-login XRDP:

L-Attivazzjoni tal-Modalità ta' Sessjoni Mtejba għal Arch Linux-mistednin f'Hyper-V

Daħħal il-username u l-password tiegħek.

Użu

Il-benefiċċju minn dawn il-manipulazzjonijiet huwa notevoli: is-sessjoni RDP taħdem b'mod ħafna aktar reattiv milli meta taħdem b'display virtwali mingħajr Sessjoni Mtejba. Id-diski li jintefgħu ġewwa l-VM permezz ta' RDP huma disponibbli fid-direttorju ${HOME}/shared-drives:

L-Attivazzjoni tal-Modalità ta' Sessjoni Mtejba għal Arch Linux-mistednin f'Hyper-V

Il-clipboard jaħdem tajjeb. Ma tistax tgħaddi l-printers ġewwa dan mhux biss mhux appoġġjat, iżda wkoll pawżi disk forwarding. Il-ħoss ukoll ma jaħdimx, iżda l-awtur ma kellux bżonn dan. Sabiex taqbad shortcuts tat-tastiera bħal Alt + Tab, għandek bżonn tespandi vmconnect għal skrin sħiħ.

Если по каким-либо причинам есть желание использовать вместо приложения vmconnect встроенный в Windows RDP-клиент или, например, подключаться к этой машине из другой машины, то нужно будет поменять в файле /etc/xrdp/xrdp.ini port fuq tcp://:3389. Jekk il-magna virtwali hija konnessa ma' Default Switch u tirċievi settings tan-netwerk permezz tad-DHCP, allura tista' tikkonnettja magħha mill-host fuq название_машины.mshome.net. Tista' tidħol biss fit-TTY mill-applikazzjoni vmconnect billi titfi l-Modalità Mtejba.

Sorsi użati:

  1. Hyper-V - Arch Wiki
  2. Rapporti tal-bugs fuq GitHub: 1, 2

Sors: www.habr.com

Ixtri hosting affidabbli għal siti bi protezzjoni DDoS, servers VPS VDS 🔥 Ixtri hosting ta' websajts affidabbli bi protezzjoni DDoS, servers VPS VDS | ProHoster