АктивирайтС Ρ€Π΅ΠΆΠΈΠΌΠ° Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π° сСсия Π·Π° гости Π½Π° 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) НаличСн Π΅ Enhanced Session Mode, ΠΊΠΎΠΉΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ Ρ‡Ρ€Π΅Π· RDP ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ΠΈ Π²ΠΈ позволява Π΄Π° ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΡ‚Π΅ дискови устройства ΠΈ ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€ΠΈ към Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π°Ρ‚Π° машина, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ сподСлСн ΠΊΠ»ΠΈΠΏΠ±ΠΎΡ€Π΄.

ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈΡΡ‚ Ρ€Π΅ΠΆΠΈΠΌ Π½Π° сСсия Ρ€Π°Π±ΠΎΡ‚ΠΈ Π²Π΅Π΄Π½Π°Π³Π° слСд инсталиранСто Π² Windows Π² Hyper-V. ΠŸΡ€ΠΈ гости Π½Π° Linux трябва Π΄Π° инсталиратС RDP ΡΡŠΡ€Π²ΡŠΡ€, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° vsock (спСциално Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΎ ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΎ адрСсно пространство Π² Linux, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ Π·Π° комуникация с Ρ…ΠΈΠΏΠ΅Ρ€Π²Π°ΠΉΠ·ΠΎΡ€Π°). Ако Π·Π° Ubuntu Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ VMCreate, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΈΠ΄Π²Π° с Hyper-V Π² настолнитС издания Π½Π° Windows, ΠΈΠΌΠ° спСциалСн ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ шаблон Π·Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина, Π² ΠΊΠΎΠΉΡ‚ΠΎ RDP ΡΡŠΡ€Π²ΡŠΡ€, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ с vsock 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://-адрСси, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Ρ‰Π΅ трябва Π΄Π° инсталиратС XRDP ΠΎΡ‚ Git ΠΈ Xorg Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Π·Π° Π½Π΅Π³ΠΎ ΠΎΡ‚ AUR Ρ€ΡŠΡ‡Π½ΠΎ. ΠŸΠ°Ρ‡ΡŠΡ‚ XRDP, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π½ Π² AUR, ΡΡŠΡ‰ΠΎ Π΅ ΠΌΠ°Π»ΠΊΠΎ остарял, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Ρ‰Π΅ трябва Π΄Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Ρ‚Π΅ PKGBUILD ΠΈ корСкцията Ρ€ΡŠΡ‡Π½ΠΎ.

НСка ΠΊΠ»ΠΎΠ½ΠΈΡ€Π°ΠΌΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° с PKGBUILD ΠΎΡ‚ 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 сСсията.

АктивирайтС Ρ€Π΅ΠΆΠΈΠΌΠ° Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π° сСсия Π·Π° гости Π½Π° Arch Linux Π² Hyper-V
АктивирайтС Ρ€Π΅ΠΆΠΈΠΌΠ° Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π° сСсия Π·Π° гости Π½Π° Arch Linux Π² Hyper-V

НСка сС ΡΠ²ΡŠΡ€ΠΆΠ΅ΠΌ. Π©Π΅ Π²ΠΈΠ΄ΠΈΠΌ XRDP ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†Π° Π·Π° Π²Π»ΠΈΠ·Π°Π½Π΅:

АктивирайтС Ρ€Π΅ΠΆΠΈΠΌΠ° Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π° сСсия Π·Π° гости Π½Π° Arch Linux Π² Hyper-V

Π’ΡŠΠ²Π΅Π΄Π΅Ρ‚Π΅ Π²Π°ΡˆΠ΅Ρ‚ΠΎ потрСбитСлско ΠΈΠΌΠ΅ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»Π°.

Π£ΠΏΠΎΡ‚Ρ€Π΅Π±Π°

ΠŸΠΎΠ»Π·Π°Ρ‚Π° ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ†ΠΈΠΈ Π΅ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΠΌΠ°: RDP сСсията Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-ΠΎΡ‚Π·ΠΈΠ²Ρ‡ΠΈΠ²ΠΎ, ΠΎΡ‚ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π΅Π½ дисплСй Π±Π΅Π· Enhanced Session. ДисковС, пуснати във Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π°Ρ‚Π° машина Ρ‡Ρ€Π΅Π· RDP, са Π½Π°Π»ΠΈΡ‡Π½ΠΈ Π² дирСкторията ${HOME}/shared-drives:

АктивирайтС Ρ€Π΅ΠΆΠΈΠΌΠ° Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π° сСсия Π·Π° гости Π½Π° Arch Linux Π² Hyper-V

ΠšΠ»ΠΈΠΏΠ±ΠΎΡ€Π΄ΡŠΡ‚ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π΄ΠΎΠ±Ρ€Π΅. НС ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‰Π°Ρ‚Π΅ ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€ΠΈ Π²ΡŠΡ‚Ρ€Π΅; Ρ‚ΠΎΠ²Π° Π½Π΅ само Π½Π΅ сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°, Π½ΠΎ ΠΈ ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π° прСнасочванСто Π½Π° диска. Π—Π²ΡƒΠΊΡŠΡ‚ ΡΡŠΡ‰ΠΎ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ, Π½ΠΎ Π°Π²Ρ‚ΠΎΡ€ΡŠΡ‚ нямашС Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ Ρ‚ΠΎΠ²Π°. Π—Π° Π΄Π° заснСмСтС клавишни ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΊΠ°Ρ‚ΠΎ Alt+Tab, трябва Π΄Π° Ρ€Π°Π·ΡˆΠΈΡ€ΠΈΡ‚Π΅ vmconnect Π½Π° цял Π΅ΠΊΡ€Π°Π½.

Ако ΠΏΠΎ някаква ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° искатС Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ RDP ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Π²Π³Ρ€Π°Π΄Π΅Π½ Π² Windows, вмСсто ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ vmconnect ΠΈΠ»ΠΈ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΄Π° сС ΡΠ²ΡŠΡ€ΠΆΠ΅Ρ‚Π΅ с Ρ‚Π°Π·ΠΈ машина ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° машина, Ρ‚ΠΎΠ³Π°Π²Π° Ρ‰Π΅ трябва Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ»Π° /etc/xrdp/xrdp.ini port Π½Π° tcp://:3389. Ако Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π°Ρ‚Π° машина Π΅ ΡΠ²ΡŠΡ€Π·Π°Π½Π° към Default Switch ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ настройки Ρ‡Ρ€Π΅Π· DHCP, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° сС ΡΠ²ΡŠΡ€ΠΆΠ΅Ρ‚Π΅ с нСя ΠΎΡ‚ хоста Π½Π° Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΌΠ°ΡˆΠΈΠ½Ρ‹.mshome.net. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²Π»Π΅Π·Π΅Ρ‚Π΅ Π² TTY само ΠΎΡ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ vmconnect, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ подобрСния Ρ€Π΅ΠΆΠΈΠΌ.

Използвани ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΡ†ΠΈ:

  1. Hyper-V - Arch Wiki
  2. Π”ΠΎΠΊΠ»Π°Π΄ΠΈ Π·Π° Π³Ρ€Π΅ΡˆΠΊΠΈ Π² GitHub: 1, 2

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€