אַקטיווירן פֿאַרבעסערט סעסיע מאָדע פֿאַר אַרטש Linuxגעסט אין היפּער-V

אַקטיווירן פֿאַרבעסערט סעסיע מאָדע פֿאַר אַרטש Linuxגעסט אין היפּער-V

ניצן ווירטועל מאשינען אויף Linux אין היפּער-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-сервер קסרדפּ שוין פאַר-אינסטאַלירן, און מיט אנדערע דיסטריביושאַנז עס איז ווייניקער און ווייניקער קלאָר - פֿאַר בייַשפּיל, דער מחבר דעם פּאָסטן получилось включить 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

ריפּאַזאַטאָרי לינוקס-וום-מכשירים на 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://-אַדרעסס, אַזוי איר וועט האָבן צו ינסטאַלירן XRDP פֿון Git און די Xorg שאָפער פֿאַר עס פֿון AUR מאַניואַלי. די XRDP לאַטע געפֿינט אין די AUR איז אויך אַ ביסל פאַרעלטערט, אַזוי איר וועט האָבן צו רעדאַגירן די PKGBUILD און לאַטע מאַניואַלי.

לאָמיר קלאָון ריפּאַזאַטאָריז מיט PKGBUILDs פֿון AUR (יוזשאַוואַלי דעם פּראָצעדור, צוזאַמען מיט די בויען, איז אָטאַמייטיד דורך מגילה ווי א מחיה, אָבער דער מחבר האט דעם גאנצע פּראָצעדור אויף אַ ריין סיסטעם):

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

זאל ס ינסטאַלירן XRDP זיך ערשטער. זאל ס עפענען די טעקע PKGBUILD קיין טעקסט רעדאַקטאָר.

זאל ס רעדאַגירן די בויען פּאַראַמעטערס. PKGBUILD פֿאַר בנין XRDP פֿון Git טוט נישט אַרייַננעמען 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

זאל ס קער אַוועק די ווירטואַל מאַשין. מיר אַקטאַווייט די vsock אַריבערפירן פֿאַר די ווירטואַל מאַשין דורך לויפן די פאלגענדע באַפֿעל אין PowerShell ווי אַ אַדמיניסטראַטאָר:

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

זאל ס קער אויף די ווירטואַל מאַשין ווידער.

Подключение

ווי באַלד ווי די XRDP דינסט סטאַרץ נאָך די סיסטעם סטאַרץ, די vmconnect אַפּלאַקיישאַן וועט דעטעקט דעם און די נומער וועט זיין בארעכטיגט אין די מעניו קוק -> ענכאַנסט סעסיע. ווען סאַלעקטינג דעם נומער, מיר וועט זיין פּראַמפּטיד צו שטעלן די פאַרשטעלן האַכלאָטע און אויף די קוויטל לאקאלע רעסאָורסעס אין די דיאַלאָג וואָס אָפּענס, איר קענען אויסקלייַבן דעוויסעס צו זיין פאָרווערדיד אין די RDP סעסיע.

אַקטיווירן פֿאַרבעסערט סעסיע מאָדע פֿאַר אַרטש Linuxגעסט אין היפּער-V
אַקטיווירן פֿאַרבעסערט סעסיע מאָדע פֿאַר אַרטש Linuxגעסט אין היפּער-V

לאמיר זיך פארבינדן. מיר וועלן זען די XRDP לאָגין פֿענצטער:

אַקטיווירן פֿאַרבעסערט סעסיע מאָדע פֿאַר אַרטש Linuxגעסט אין היפּער-V

אַרייַן דיין נאמען און פּאַראָל.

נוצן

די נוץ פון די מאַניפּיאַליישאַנז איז באמערקט: די RDP סעסיע אַרבעט פיל מער ריספּאַנסיוולי ווי ווען ארבעטן מיט אַ ווירטואַל אַרויסווייַזן אָן ענכאַנסט סעסיע. דיסקס דראַפּט ין די VM דורך RDP זענען בנימצא אין דער וועגווייַזער ${HOME}/shared-drives:

אַקטיווירן פֿאַרבעסערט סעסיע מאָדע פֿאַר אַרטש Linuxגעסט אין היפּער-V

די קליפּבאָרד אַרבעט גוט. איר קענען נישט פאָרויס פּרינטערס ין; דאָס איז ניט בלויז נישט געשטיצט, אָבער אויך ברייקס דיסק פאָרווערדינג. דער געזונט אויך טוט נישט אַרבעטן, אָבער דער מחבר האט נישט דאַרפֿן דעם. אין סדר צו כאַפּן קלאַוויאַטור דורכוועג ווי אַלט + טאַב, איר דאַרפֿן צו יקספּאַנד vmconnect צו פול פאַרשטעלן.

Если по каким-либо причинам есть желание использовать вместо приложения vmconnect встроенный в Windows RDP-клиент или, например, подключаться к этой машине из другой машины, то нужно будет поменять в файле /etc/xrdp/xrdp.ini port אויף tcp://:3389. אויב די ווירטואַל מאַשין איז קאָננעקטעד צו דיפאָלט סוויטש און נעמט נעץ סעטטינגס דורך DHCP, איר קענען פאַרבינדן צו עס פֿון דער באַלעבאָס אין название_машины.mshome.net. איר קענט נאָר קלאָץ אין TTY פֿון די vmconnect אַפּלאַקיישאַן דורך ויסמעקן ענכאַנסט מאָדע.

געוויינט קוואלן:

  1. Hyper-V - אַרטש וויקי
  2. זשוק ריפּאָרץ אויף GitHub: 1, 2

מקור: www.habr.com

קויפן פאַרלאָזלעך האָסטינג פֿאַר זייטלעך מיט DDoS שוץ, VPS VDS סערווערס 🔥 קויפט פאַרלעסלעכע וועבזייטל האָסטינג מיט DDoS שוץ, VPS VDS סערווערס | ProHoster