ProHoster > Blog > Adminisztráció > Engedélyezze a továbbfejlesztett munkamenet módot az Arch Linux vendégei számára a Hyper-V-ben
Engedélyezze a továbbfejlesztett munkamenet módot az Arch Linux vendégei számára a Hyper-V-ben
A Linuxos virtuális gépek Hyper-V-ben való azonnali használata valamivel kevésbé kényelmes, mint a vendég Windows-gépeknél. Ennek az az oka, hogy a Hyper-V-t eredetileg nem asztali használatra szánták; nem lehet egyszerűen csak telepíteni a vendég-kiegészítő csomagot, és működőképes grafikus gyorsítást, vágólapot, megosztott könyvtárakat és más életörömöt kapni, ahogy az a VirtualBoxban történik.
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én, beleértve természetesen a Windowst is, a Virtual Machine Connection 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.
Az Enhanced Session Mode azonnal a telepítés után működik a Hyper-V Windows rendszeren. Linux rendszerű vendégek esetén telepítenie kell egy RDP-kiszolgálót, amely támogatja a vsock-ot (egy speciális virtuális hálózati címteret a Linuxban, amelyet a hypervisorral való kommunikációra terveztek). Ubuntu esetében a Hyper-V-vel együtt járó VMCreate alkalmazás a Windows asztali kiadásaiban egy speciális virtuálisgép-sablonnal rendelkezik, amelyben egy vsock-kal futó RDP-kiszolgáló 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 kiderült, hogy engedélyezte az ESM-et a Fedorában. Itt engedélyezzük az Enhanced Session Mode-ot az Arch Linux virtuális géphez is.
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 a GitHubon olyan szkripteket biztosít, amelyek automatizálják az XRDP telepítésének és konfigurálásának folyamatát Arch Linuxhoz és Ubuntuhoz. Telepítse a Git-et, ha még nincs telepítve, a fordítóval és a kézi összeállításokhoz szükséges egyéb szoftverekkel együtt, majd klónozza a tárat:
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 megszakadtvsock://-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):
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:
Egy foltban arch-config.diff, amely egységeket és XRDP indító szkripteket szerkeszt az Arch Linuxban használt fájlok elérési útja alatt, többek között 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:
É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:
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. Megnézem -> 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.
Kapcsolódjunk. Látni fogjuk az XRDP bejelentkezési ablakot:
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:
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 valamilyen oknál fogva a vmconnect alkalmazás helyett a Windowsba épített RDP klienst szeretné használni, vagy például egy másik gépről csatlakozni ehhez a géphez, akkor módosítania kell a fájlt. /etc/xrdp/xrdp.iniport 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.