Ho nolofalletsa Mokhoa oa Thuto o Ntlafalitsoeng bakeng sa Arch Linux-baeti ba Hyper-V

Ho nolofalletsa Mokhoa oa Thuto o Ntlafalitsoeng bakeng sa Arch Linux-baeti ba Hyper-V

Ho sebelisa mechine ea sebele ho Linux ho Hyper-V ntle ho lebokose ke phihlelo e sa phutholohang hanyane ho feta ho baeti. Windows-машинами. Причиной тому является то, что Hyper-V все же изначально не предназначался для десктопного пользования; нельзя просто взять, поставить пакет гостевых дополнений и получить работоспособное графическое ускорение, буфер обмена, общие директории и другие радости жизни, как это происходит в VirtualBox.

Hyper-V ka boeona e fana ka litšebeletso tse ngata tsa ho kopanya - ka hona, baeti ba ka sebelisa tšebeletso ea kopi ea moriti (VSS) ea moeti, baeti ba ka romela letšoao la ho koala, baeti ba ka hokahanya nako ea tsamaiso le moeti oa virtualization, lifaele li ka fapanyetsanoa le mochine oa sebele o tsoang ho moamoheli (Copy-VMFile в PowerShell). Для некоторых гостевых операционных систем, в числе которых, конечно, находится и Windows, в приложении Virtual Machine Connection (vmconnect.exe) Mokhoa o ntlafalitsoeng oa Session oa fumaneha, o sebetsang ka protocol ea RDP mme o o lumella ho fetisetsa lisebelisoa le li-printer tsa disk mochining oa sebele, hammoho le ho sebelisa clipboard e arolelanoang.

Enhanced Session Mode из коробки работает в Windows в Hyper-V сразу после установки. С гостями на Linux нужно устанавливать RDP-сервер, поддерживающий vsock (специальное виртуальное сетевое адресное пространство в Linux, предназначенное для коммуникации с гипервизором). Если для Ubuntu в приложении VMCreate, идущим с Hyper-V на настольных редакциях Windows, есть специальный подготовленный шаблон виртуальной машины, в котором работающий с vsock RDP-сервер XRDP e se e kentsoe esale pele, joale ka liphatlalatso tse ling ha e hlake haholoanyane - ka mohlala, mongoli poso ena получилось включить ESM в Fedora. Здесь же мы активируем Enhanced Session Mode для виртуальной машины с Arch Linux.

Ho kenya litšebeletso tsa ho kopanya

Ntho e 'ngoe le e' ngoe e bonolo kapa e bonolo mona, re hloka feela ho kenya sephutheloana hyperv ho tsoa sebakeng sa polokelo ea sechaba:

% sudo pacman -S hyperv

Numella lits'ebeletso tsa VSS, phapanyetsano metadata le lifaele:

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

Kenyelletso ea XRDP

polokelo lisebelisoa tsa linux-vm на 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

Nakong ea ho ngola sena, tokollo ea morao-rao ea XRDP, e kentsoeng ke script makepkg.she sisintsweng sebakeng sa polokelo ke 0.9.11, eo ho qhetsola ho robehileng teng vsock://-aterese, kahoo o tlameha ho kenya XRDP ho tloha Git le mokhanni oa Xorg bakeng sa eona ho tloha AUR ka letsoho. Patch ea XRDP e fanoeng ho AUR le eona e siiloe ke nako, ka hona, o tla tlameha ho hlophisa PKGBUILD le patch ka letsoho.

Re kopanya libaka tsa polokelo ka li-PKGBUILD tse tsoang ho AUR (hangata ts'ebetso ena, hammoho le kopano, e etsoa ke mananeo a kang. shatee, empa mongoli o entse ts'ebetso ena kaofela ka sistimi e hloekileng):

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

Ha re kenye XRDP ka boeona pele. Ha re bule faele PKGBUILD mohlophisi ofe kapa ofe oa mongolo.

Ha re fetole liparamente tsa moaho. PKGBUILD ea ho aha XRDP ho tloha Git ha e kenyelle tšehetso ea vsock moahong, ka hona, a re e khoneng ka borona:

 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
 }

Ka patch arch-config.diff, правящем юниты и скрипты запуска XRDP под пути к файлам, используемым в Arch Linux, содержится в том числе патч к скрипту instfiles/xrdp.sh, eo ka nako ea ho ngola e tlositsoe ho tsoa kabong ea XRDP, kahoo patch e tla tlameha ho hlophisoa ka letsoho:

  [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

Haha le ho kenya sephutheloana ka taelo % makepkg --skipchecksums -si (senotlolo --skipchecksums ea hlokahala ho tima netefatso ea checksum ea lifaele tsa mohloli, kaha re li hlophisitse ka letsoho).

Ha re ee bukeng xorgxrdp-devel-git, ka mor'a moo re haha ​​​​sephutheloana ka taelo % makepkg -si.

Ha re ee bukeng linux-vm-tools/arch ebe o tsamaisa script install-config.sh, e behang litlhophiso tsa XRDP, PolicyKit le PAM:

% sudo ./install-config.sh

Script e kenya litlhophiso tsa lefa use_vsock, e hlokomolohuoang ho tloha phetolelong ea 0.9.11, kahoo ha re fetoleng faele ea tlhophiso /etc/xrdp/xrdp.ini ka letsoho:

 ;   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

Kenya faeleng ~/.xinitrc ho qala tikoloho eo u e ratang ea mookameli oa fensetere/desktop, e tla etsoa ha seva sa X se qala:

% echo "exec i3" > ~/.xinitrc

Ha re tima mochini o sebetsang. Numella sepalangoang sa vsock bakeng sa VM ka ho sebelisa taelo e latelang ho PowerShell joalo ka motsamaisi:

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

Ha re bulele mochine oa sebele hape.

Kopano

Hang ha tšebeletso ea XRDP e qala ka mor'a hore tsamaiso e qale, sesebelisoa sa vmconnect se tla etsa qeto ea sena 'me ntho ea menu e tla ba teng. View -> Seboka se ntlafalitsoeng. Ha u khetha ntho ena, re tla susumelletseha ho seta qeto ea skrine, le ho tab Lisebelisoa tsa sebaka seo puisanong e butsoeng, o ka khetha lisebelisoa tse romelloang ka har'a seshene ea RDP.

Ho nolofalletsa Mokhoa oa Thuto o Ntlafalitsoeng bakeng sa Arch Linux-baeti ba Hyper-V
Ho nolofalletsa Mokhoa oa Thuto o Ntlafalitsoeng bakeng sa Arch Linux-baeti ba Hyper-V

Ha re hokahaneng. Re tla bona fensetere ea ho kena ea XRDP:

Ho nolofalletsa Mokhoa oa Thuto o Ntlafalitsoeng bakeng sa Arch Linux-baeti ba Hyper-V

Kenya lebitso la hau la mosebelisi le password.

Sebelisa

Phaello e tsoang ho maqheka ana e ea bonahala: Seboka sa RDP se sebetsa ka mokhoa o arabelang haholoanyane ho feta ha o sebetsa ka ponts'o ntle le Session e ntlafalitsoeng. Li-disk tse fetiselitsoeng ka har'a VM ka RDP li fumaneha bukeng ${HOME}/shared-drives:

Ho nolofalletsa Mokhoa oa Thuto o Ntlafalitsoeng bakeng sa Arch Linux-baeti ba Hyper-V

Clipboard e sebetsa hantle. U ke ke ua lahlela li-printer ka hare, sena ha se tšehetsoe feela, empa hape e senya phetisetso ea disk. Molumo le oona ha o sebetse, empa mongoli o ne a sa o hloke. E le hore u khone ho tšoara likheo tsa keyboard joaloka Alt + Tab, u lokela ho atolosa vmconnect ho skrine se feletseng.

Если по каким-либо причинам есть желание использовать вместо приложения vmconnect встроенный в Windows RDP-клиент или, например, подключаться к этой машине из другой машины, то нужно будет поменять в файле /etc/xrdp/xrdp.ini port mabapi le tcp://:3389. Haeba mochini o sebetsang o hoketsoe ho Default Switch mme o amohela litlhophiso tsa marang-rang ka DHCP, o ka hokela ho eona ho tsoa ho moamoheli ho. название_машины.mshome.net. O ka kena feela ho TTY ho tsoa ts'ebelisong ea vmconnect ka ho tima Mokhoa o ntlafalitsoeng.

Mehloli e sebelisitsoeng:

  1. Hyper-V Arch Wiki
  2. Litlaleho tsa Bug ho GitHub: 1, 2

Source: www.habr.com

Reka sebaka se tšepahalang sa libaka tse nang le ts'ireletso ea DDoS, li-server tsa VPS VDS 🔥 Reka sebaka se tšepahalang sa ho amohela webosaete ka tšireletso ea DDoS, li-server tsa VPS VDS | ProHoster