Bővített munkamenet mód engedélyezése Arch-ban Linux-vendégek a Hyper-V-ben

Bővített munkamenet mód engedélyezése Arch-ban Linux-vendégek a Hyper-V-ben

Virtuális gépek használata Linux A Hyper-V alapértelmezés szerint valamivel kevésbé kényelmes élményt nyújt, mint a vendég verzió. Windows-gépek. Ennek az az oka, hogy a Hyper-V-t eredetileg nem asztali használatra tervezték; nem lehet egyszerűen telepíteni a Guest Additions csomagot, és működő grafikus gyorsítást, vágólapot, megosztott könyvtárakat és egyéb extrákat kapni, mint a VirtualBox esetében.

Maga a Hyper-V biztosítja többféle integrációs szolgáltatás - így a vendégek használhatják a gazdagép árnyékmásolási szolgáltatását (VSS), a vendégek leállási jelet küldhetnek, a vendégek szinkronizálhatják a rendszeridőt a virtualizációs gazdagéppel, fájlokat cserélhetnek a virtuális géppel a gazdagépről (Copy-VMFile (a PowerShellben). Néhány vendég operációs rendszer esetében, ami természetesen magában foglalja Windows, a Virtuálisgép-kapcsolat alkalmazásban (vmconnect.exe) Elérhető az Enhanced Session Mode, amely az RDP protokollon keresztül működik, és lehetővé teszi a lemezeszközök és nyomtatók továbbítását a virtuális gépre, valamint a megosztott vágólap használatát.

A továbbfejlesztett munkamenet-mód azonnal használható Windows a Hyper-V-ben a telepítés után azonnal. Vendégekkel bekapcsolva Linux telepítenie kell egy RDP-kiszolgálót, amely támogatja a vsock-ot (egy speciális virtuális hálózati címtartományt a Linux, amelyet a hipervizorral való kommunikációra terveztek). Ha a Ubuntu a Hyper-V asztali kiadásaiban található VMCreate alkalmazásban Windows, van egy speciálisan előkészített virtuálisgép-sablon, amelyben egy RDP-kiszolgáló működik a vsock-kal XRDP már előre telepítve, akkor más disztribúcióknál ez egyre kevésbé egyértelmű - például a szerző ez a poszt Sikerült engedélyeznünk az ESM-et a Fedorában. Itt aktiváljuk az Arch virtuális géphez tartozó Enhanced Session Mode-ot is. Linux.

Integrációs szolgáltatások telepítése

Itt minden többé-kevésbé egyszerű, csak telepítenünk kell a csomagot hyperv közösségi adattárból:

% sudo pacman -S hyperv

VSS szolgáltatások engedélyezése, csere metaadatokat és fájlok:

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

XRDP telepítés

adattár linux-vm-tools szkripteket biztosít a GitHubon, amelyek automatizálják az XRDP Arch-hoz való telepítésének és konfigurálásának folyamatát Linux и UbuntuTelepítsük a Gitet, ha még nincs telepítve, egy fordítóval és egyéb szoftverekkel a manuális fordításhoz, majd klónozzuk a repositoryt:

% sudo pacman -S git base-devel
% git clone https://github.com/microsoft/linux-vm-tools.git
% cd linux-vm-tools/arch

Az írás idején az XRDP legújabb kiadása, amelyet a szkript telepít makepkg.shaz adattárban javasolt 0.9.11, amelyben az elemzés megszakadt vsock://-címeket, tehát manuálisan kell telepítenie az XRDP-t a Git-ből és az Xorg illesztőprogramot az AUR-ból. Az AUR-ban kínált XRDP javítás is kissé elavult, ezért manuálisan kell szerkesztenie a PKGBUILD-t és a javítást.

Az AUR-ból származó PKGBUILD-ekkel klónozzuk a tárolókat (általában ezt az eljárást az összeállítással együtt olyan programok automatizálják, mint pl. Hurrá, de a szerző ezt az egész eljárást tiszta rendszeren végezte):

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

Először telepítsük magát az XRDP-t. Nyissuk meg a fájlt PKGBUILD bármilyen szövegszerkesztő.

Szerkesszük az összeállítási paramétereket. A PKGBUILD az XRDP Gitből való felépítéséhez nem tartalmazza a vsock támogatást a buildben, ezért engedélyezzük mi magunk:

 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
 }

Egy foltban arch-config.diff, irányító egységek és XRDP indító szkriptek az Arch-ban használt fájlútvonalak alatt Linux, tartalmaz egy javítást a szkripthez instfiles/xrdp.sh, amely az írás idején eltávolítva az XRDP disztribúcióból, így a javítást manuálisan kell szerkeszteni:

  [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

Építsd fel és telepítsd a csomagot a paranccsal % makepkg --skipchecksums -si (kulcs --skipchecksums szükséges a forrásfájlok ellenőrzőösszeg-ellenőrzésének letiltásához, mivel azokat manuálisan szerkesztettük).

Menjünk a könyvtárba xorgxrdp-devel-git, ami után egyszerűen megépítjük a csomagot a paranccsal % makepkg -si.

Menjünk a könyvtárba linux-vm-tools/arch és futtassa a szkriptet install-config.sh, amely beállítja az XRDP, a PolicyKit és a PAM beállításait:

% sudo ./install-config.sh

A szkript telepíti az örökölt beállítást use_vsock, amelyet a 0.9.11-es verzió óta figyelmen kívül hagynak, ezért szerkesszük a konfigurációs fájlt /etc/xrdp/xrdp.ini manuálisan:

 ;   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

Hozzáadás a fájlhoz ~/.xinitrc az előnyben részesített ablakkezelő/asztali környezet elindítása, amely az X szerver indításakor kerül végrehajtásra:

% echo "exec i3" > ~/.xinitrc

Kapcsoljuk ki a virtuális gépet. Engedélyezze a vsock átvitelt a virtuális gép számára a következő parancs futtatásával a PowerShellben rendszergazdaként:

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

Kapcsoljuk be újra a virtuális gépet.

Подключение

Amint a rendszer indulása után elindul az XRDP szolgáltatás, ezt a vmconnect alkalmazás megállapítja és elérhetővé válik a menüpont. Kilátás -> Továbbfejlesztett munkamenet. Amikor kiválasztja ezt az elemet, a rendszer kérni fogja a képernyőfelbontás beállítását, és a lapon Helyi erőforrások a megnyíló párbeszédablakban kiválaszthatja az RDP munkameneten belül továbbított eszközöket.

Bővített munkamenet mód engedélyezése Arch-ban Linux-vendégek a Hyper-V-ben
Bővített munkamenet mód engedélyezése Arch-ban Linux-vendégek a Hyper-V-ben

Kapcsolódjunk. Látni fogjuk az XRDP bejelentkezési ablakot:

Bővített munkamenet mód engedélyezése Arch-ban Linux-vendégek a Hyper-V-ben

Adja meg felhasználónevét és jelszavát.

Használat

Ezeknek a manipulációknak a haszna észrevehető: az RDP-munkamenet sokkal érzékenyebben működik, mint az Enhanced Session nélküli virtuális kijelzővel végzett munka során. A virtuális gépen belül RDP-n keresztül továbbított lemezek elérhetők a könyvtárban ${HOME}/shared-drives:

Bővített munkamenet mód engedélyezése Arch-ban Linux-vendégek a Hyper-V-ben

A vágólap jól működik. Nyomtatókat nem lehet bedobni, ez nem csak hogy nem támogatott, de nem is megszakítja a lemeztovábbítást. A hang sem működik, de a szerzőnek nem volt rá szüksége. A billentyűparancsok, például az Alt + Tab rögzítéséhez ki kell bontania a vmconnect-et teljes képernyőre.

Ha bármilyen okból a beépített vmconnect alkalmazást szeretné használni a Windows RDP kliens, vagy például egy másik gépről csatlakozik ehhez a géphez, akkor módosítania kell a fájlt /etc/xrdp/xrdp.ini port on tcp://:3389. Ha a virtuális gép csatlakozik az alapértelmezett kapcsolóhoz, és DHCP-n keresztül fogadja a hálózati beállításokat, akkor csatlakozhat hozzá a gazdagépről a következő címen: название_машины.mshome.net. A TTY-be csak a vmconnect alkalmazásból jelentkezhet be, ha kikapcsolja a továbbfejlesztett módot.

Felhasznált források:

  1. Hyper-V Arch Wiki
  2. Hibajelentések a GitHubon: 1, 2

Forrás: will.com

Vásároljon megbízható tárhelyet DDoS védelemmel, VPS VDS szerverekkel rendelkező webhelyekhez 🔥 Vásároljon megbízható weboldal tárhelyet DDoS védelemmel, VPS VDS szerverekkel | ProHoster