Arch-д зориулсан сайжруулсан сессийн горимыг идэвхжүүлж байна Linux-Hyper-V-д байгаа зочид

Arch-д зориулсан сайжруулсан сессийн горимыг идэвхжүүлж байна Linux-Hyper-V-д байгаа зочид

Виртуал машинуудыг ашиглаж байна Linux Hyper-V-д хайрцагнаас нь гаргах нь зочинтой харьцуулахад арай бага тав тухыг мэдрүүлдэг Windows-машинами. Причиной тому является то, что Hyper-V все же изначально не предназначался для десктопного пользования; нельзя просто взять, поставить пакет гостевых дополнений и получить работоспособное графическое ускорение, буфер обмена, общие директории и другие радости жизни, как это происходит в VirtualBox.

Hyper-V өөрөө хангадаг олон интеграцийн үйлчилгээ - ингэснээр зочид хостын сүүдрийн хуулбар үйлчилгээг (VSS) ашиглах боломжтой, зочид унтраах дохио илгээх боломжтой, зочид виртуалчлалын хосттой системийн цагийг синхрончлох, хостоос виртуал машинтай файл солилцох боломжтой (Copy-VMFile в PowerShell). Для некоторых гостевых операционных систем, в числе которых, конечно, находится и Windows, в приложении Virtual Machine Connection (vmconnect.exe) RDP протоколоор ажилладаг, дискний төхөөрөмж болон принтерүүдийг виртуал машин руу дамжуулах, мөн хуваалцсан санах ойг ашиглах боломжийг олгодог сайжруулсан сесс горимыг ашиглах боломжтой.

Enhanced Session Mode из коробки работает в Windows в Hyper-V сразу после установки. С гостями на Linux нужно устанавливать RDP-сервер, поддерживающий vsock (специальное виртуальное сетевое адресное пространство в Linux, предназначенное для коммуникации с гипервизором). Если для Ubuntu в приложении VMCreate, идущим с Hyper-V на настольных редакциях Windows, есть специальный подготовленный шаблон виртуальной машины, в котором работающий с vsock RDP-сервер XRDP аль хэдийн урьдчилан суулгасан, дараа нь бусад түгээлтийн хувьд энэ нь бага, бага тодорхой байна - жишээ нь, зохиогч энэ бичлэг получилось включить ESM в Fedora. Здесь же мы активируем Enhanced Session Mode для виртуальной машины с Arch Linux.

Интеграцийн үйлчилгээг суулгаж байна

Энд бүх зүйл илүү энгийн, бид багцыг суулгахад л хангалттай hyperv олон нийтийн мэдээллийн сангаас:

% sudo pacman -S hyperv

VSS үйлчилгээг идэвхжүүлэх, солилцох мета өгөгдөл болон файлууд:

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

XRDP суулгац

хадгалах газар 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

Үүнийг бичиж байх үед скриптээр суулгасан XRDP-ийн хамгийн сүүлийн хувилбар makepkg.shсанд санал болгож буй нь 0.9.11, задлан шинжлэх нь эвдэрсэн vsock://-хаяг, тиймээс та Git-ээс XRDP, AUR-аас Xorg драйверийг гараар суулгах хэрэгтэй. AUR-д санал болгож буй XRDP-ийн нөхөөс нь мөн бага зэрэг хуучирсан тул та PKGBUILD болон засварыг гараар засах хэрэгтэй болно.

Бид агуулахуудыг AUR-ийн PKGBUILD-ээр хувилдаг (ихэвчлэн уг процедурыг угсралтын хамт дараах програмууд автоматжуулдаг. нум, гэхдээ зохиогч энэ процедурыг бүхэлд нь цэвэр систем дээр хийсэн):

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

Эхлээд XRDP-г өөрөө суулгацгаая. Файлаа нээцгээе PKGBUILD ямар ч текст засварлагч.

Барилгын параметрүүдийг засъя. Git-ээс XRDP-г бүтээх PKGBUILD нь угсралтад vsock-ийн дэмжлэгийг оруулаагүй тул үүнийг өөрсдөө идэвхжүүлцгээе:

 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
 }

Нүхэнд arch-config.diff, правящем юниты и скрипты запуска XRDP под пути к файлам, используемым в Arch Linux, содержится в том числе патч к скрипту instfiles/xrdp.sh, үүнийг бичиж байх үед хасагдсан XRDP түгээлтээс авсан тул засварыг гараар засварлах шаардлагатай болно:

  [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

Командын тусламжтайгаар багцыг бүтээж суулгана % makepkg --skipchecksums -si (түлхүүр --skipchecksums Бид гараар засварласан тул эх файлуудын шалгах нийлбэр баталгаажуулалтыг идэвхгүй болгоход шаардлагатай).

Лавлах руу явцгаая xorgxrdp-devel-git, үүний дараа бид зүгээр л тушаалаар багцыг бүтээдэг % makepkg -si.

Лавлах руу явцгаая linux-vm-tools/arch мөн скриптийг ажиллуул install-config.sh, XRDP, PolicyKit болон PAM тохиргоог тохируулдаг:

% sudo ./install-config.sh

Скрипт нь хуучин тохиргоог суулгадаг use_vsock, 0.9.11 хувилбараас хойш хэрэгсэхгүй байгаа тул тохиргооны файлыг засъя /etc/xrdp/xrdp.ini гараар:

 ;   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

Файлд нэмэх ~/.xinitrc X сервер ажиллаж эхлэхэд таны сонгосон цонхны менежер/ширээний орчинг ажиллуулж байна:

% echo "exec i3" > ~/.xinitrc

Виртуал машиныг унтраацгаая. PowerShell дээр дараах тушаалыг администратороор ажиллуулж VM-д зориулсан vsock тээвэрлэлтийг идэвхжүүлнэ үү:

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

Виртуал машиныг дахин асаацгаая.

Подключение

Системийг эхлүүлсний дараа XRDP үйлчилгээ эхэлмэгц vmconnect програм үүнийг тодорхойлж, цэсийн зүйл бэлэн болно. харах -> Сайжруулсан сесс. Энэ зүйлийг сонгоход бид дэлгэцийн нягтралыг тохируулахыг хүсэх болно, мөн таб дээр Орон нутгийн нөөц нээгдэх харилцах цонхонд та RDP сесс дотор дамжуулагдсан төхөөрөмжүүдийг сонгож болно.

Arch-д зориулсан сайжруулсан сессийн горимыг идэвхжүүлж байна Linux-Hyper-V-д байгаа зочид
Arch-д зориулсан сайжруулсан сессийн горимыг идэвхжүүлж байна Linux-Hyper-V-д байгаа зочид

Холбоцгооё. Бид XRDP нэвтрэх цонхыг харах болно:

Arch-д зориулсан сайжруулсан сессийн горимыг идэвхжүүлж байна Linux-Hyper-V-д байгаа зочид

Хэрэглэгчийн нэр, нууц үгээ оруулна уу.

Ашиглах

Эдгээр залилангийн ашиг нь мэдэгдэхүйц юм: RDP сесс нь Enhanced Sessionгүйгээр виртуал дэлгэцтэй ажиллахаас хамаагүй илүү хариу үйлдэл үзүүлдэг. RDP-ээр дамжуулан VM дотор дамжуулсан дискүүд нь лавлахад байдаг ${HOME}/shared-drives:

Arch-д зориулсан сайжруулсан сессийн горимыг идэвхжүүлж байна Linux-Hyper-V-д байгаа зочид

Түр санах ой сайн ажиллаж байна. Та принтерүүдийг дотогшоо шидэж болохгүй, энэ нь зөвхөн дэмжигдээгүй төдийгүй бас хэрэглэгдэх болно диск дамжуулахыг эвддэг. Дуу нь бас ажиллахгүй байгаа ч зохиогчид хэрэггүй байсан. Alt + Tab гэх мэт гарын товчлолыг авахын тулд vmconnect-ийг бүтэн дэлгэц болгон өргөжүүлэх хэрэгтэй.

Если по каким-либо причинам есть желание использовать вместо приложения vmconnect встроенный в Windows RDP-клиент или, например, подключаться к этой машине из другой машины, то нужно будет поменять в файле /etc/xrdp/xrdp.ini port тухай tcp://:3389. Хэрэв виртуал машин нь Default Switch-д холбогдсон бөгөөд DHCP-ээр дамжуулан сүлжээний тохиргоог хүлээн авдаг бол та хостоос үүнтэй холбогдох боломжтой. название_машины.mshome.net. Та зөвхөн Сайжруулсан горимыг унтрааснаар vmconnect програмаас TTY-д нэвтэрч болно.

Ашигласан эх сурвалж:

  1. Hyper-V Arch Wiki
  2. GitHub дээрх алдааны тайлан: 1, 2

Эх сурвалж: www.habr.com

DDoS хамгаалалт, VPS VDS сервер бүхий сайтуудад найдвартай хостинг худалдаж аваарай 🔥 DDoS хамгаалалттай, VPS VDS сервертэй найдвартай вэбсайт хостинг худалдаж аваарай | ProHoster