
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 - í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 már előre telepítve, akkor más disztribúcióknál ez egyre kevésbé egyértelmű - például a szerző 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 hypervVSS szolgáltatások engedélyezése, csere és fájlok:
% for i in {vss,fcopy,kvp}; do sudo systemctl enable hv_${i}_daemon.service; doneXRDP telepítés
adattár 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/archAz írás idején az XRDP legújabb kiadása, amelyet a szkript telepít makepkg.shaz adattárban javasolt 0.9.11, 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. , 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.gitElő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 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.shA 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_nodelayHozzá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" > ~/.xinitrcKapcsoljuk 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 HvSocketKapcsoljuk 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.


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 . 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:
- Hibajelentések a GitHubon: ,
Forrás: will.com
