
Benotzung vu virtuelle Maschinnen op Linux An Hyper-V ass et direkt aus der Këscht eng liicht manner komfortabel Erfahrung wéi mat Gaascht-Optiounen. Windows-maschinnen. De Grond dofir ass, datt Hyper-V ursprénglech net fir Desktop-Benotzung entwéckelt gouf; Dir kënnt net einfach de Guest Additions Package installéieren an eng funktionéierend Grafikbeschleunigung, Zwëschespeicher, gemeinsam Verzeichnisser an aner Virdeeler kréien, wéi Dir et mat VirtualBox maache kënnt.
Hyper-V selwer bitt - also, Gäscht kënnen de Shadow Copy Service vum Host (VSS) benotzen, Gäscht kënnen e Shutdown-Signal schécken, Gäscht kënnen d'Systemzäit mam Virtualiséierungshost synchroniséieren, Dateie kënne vum Host mat der virtueller Maschinn ausgetauscht ginn (Copy-VMFile a PowerShell). Fir verschidde Gaaschtbetriebssystemer, wat natierlech och mat abegraff ass Windows, an der Applikatioun fir d'Verbindung mat der virtueller Maschinn (vmconnect.exe) Enhanced Session Mode ass verfügbar, funktionnéiert iwwer de RDP Protokoll an erlaabt Iech Disk-Geräter an Dréckeren op déi virtuell Maschinn ze transferéieren, souwéi e gemeinsame Clipboard ze benotzen.
De verbesserte Sessiounsmodus funktionéiert direkt no der Installatioun Windows an Hyper-V direkt no der Installatioun. Mat Gäscht op Linux Dir musst en RDP-Server installéieren, deen vsock ënnerstëtzt (e spezielle virtuelle Netzwierkadressraum an Linux, entwéckelt fir mam Hypervisor ze kommunizéieren). Wann fir Ubuntu an der VMCreate Applikatioun, déi mat Hyper-V op Desktop-Editioune geliwwert gëtt Windows, gëtt et eng speziell virbereet virtuell Maschinn Schabloun an där en RDP Server mat vsock schafft. scho virinstalléiert, dann ass et mat anere Verdeelungen ëmmer manner kloer - zum Beispill den Auteur Mir hunn et fäerdeg bruecht, ESM a Fedora z'aktivéieren. Hei aktivéiere mir och den Enhanced Session Mode fir déi virtuell Arch-Maschinn. Linux.
Installatioun vun Integratioun Servicer
Alles ass méi oder manner einfach hei, mir brauche just de Package z'installéieren hyperv aus dem Gemeinschaftsdepot:
% sudo pacman -S hypervLoosst eis VSS an Austauschservicer aktivéieren an Dateien:
% for i in {vss,fcopy,kvp}; do sudo systemctl enable hv_${i}_daemon.service; doneXRDP installéieren
repository stellt Skripter op GitHub zur Verfügung, déi de Prozess vun der Installatioun an der Konfiguratioun vun XRDP fir Arch automatiséieren. Linux и UbuntuLoosst eis Git installéieren, wann et net schonn installéiert ass, zesumme mat engem Compiler an aner Software fir manuell Builds, an dann de Repository klonen:
% sudo pacman -S git base-devel
% git clone https://github.com/microsoft/linux-vm-tools.git
% cd linux-vm-tools/archZu der Zäit vum Schreiwen vun dësem Artikel, déi lescht Verëffentlechung vun XRDP, déi vum Skript installéiert ass makepkg.shdeen am Repository proposéiert ass 0.9.11, vsock://-Adressen, also musst Dir XRDP vu Git an den Xorg Chauffer fir et vun AUR manuell installéieren. Den XRDP Patch, deen an der AUR offréiert gëtt, ass och liicht verännert, sou datt Dir de PKGBUILD a Patch manuell muss änneren.
Loosst eis Repositories mat PKGBUILDs vun AUR klonen (normalerweis ass dës Prozedur, zesumme mam Build, automatiséiert vu Programmer wéi , awer den Auteur huet dës ganz Prozedur op engem proppere System gemaach):
% git clone https://aur.archlinux.org/xrdp-devel-git.git
% git clone https://aur.archlinux.org/xorgxrdp-devel-git.gitLoosst eis XRDP selwer als éischt installéieren. Loosst eis d'Datei opmaachen PKGBUILD all Text Editor.
Loosst eis d'Bauparameter änneren. PKGBUILD fir XRDP vum Git ze bauen enthält net vsock Support beim Bauen, also loosst eis et selwer aktivéieren:
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
}Am Patch arch-config.diff, Ruling Units an XRDP Startup Scripten ënner de Dateipfaden, déi an Arch benotzt ginn Linux, enthält e Patch fir de Skript instfiles/xrdp.sh, déi am Schreiwen vun der XRDP Verdeelung, sou datt de Patch manuell muss geännert ginn:
[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 -0600Loosst eis de Package mat dem Kommando kompiléieren an installéieren % makepkg --skipchecksums -si (Schlëssel --skipchecksums néideg fir d'Kontrollsumverifikatioun vu Quelldateien auszeschalten, well mir se manuell geännert hunn).
Loosst eis an den Dossier goen xorgxrdp-devel-git, no deem mir einfach de Package mam Kommando zesummesetzen % makepkg -si.
Loosst eis an den Dossier goen linux-vm-tools/arch a lafen de Skript install-config.sh, déi XRDP, PolicyKit a PAM Astellunge setzt:
% sudo ./install-config.shSkript installéiert Legacy Astellung use_vsock, déi zënter Versioun 0.9.11 ignoréiert gouf, also loosst eis d'Konfiguratiounsdatei änneren /etc/xrdp/xrdp.ini manuell:
; 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_nodelayAdd to file ~/.xinitrc lancéiert Äre gewënschte Fënstermanager / Desktop-Ëmfeld, deen ausgefouert gëtt wann den X Server ufänkt:
% echo "exec i3" > ~/.xinitrcLoosst eis déi virtuell Maschinn ausschalten. Mir aktivéieren den vsock Transport fir déi virtuell Maschinn andeems Dir de folgende Kommando an PowerShell als Administrator leeft:
PS Admin > Set-VM -VMName НАЗВАНИЕ_МАШИНЫ -EnhancedSessionTransportType HvSocketLoosst eis d'virtuell Maschinn erëm opmaachen.
Konnektivitéit
Soubal den XRDP Service ufänkt nodeems de System ufänkt, wäert d'vmconnect Applikatioun dëst erkennen an den Artikel gëtt am Menü verfügbar View -> Erweidert Sëtzung. Wann Dir dëst Element auswielen, wäerte mir opgefuerdert ginn d'Bildschirmopléisung ze setzen, an op der Tab Lokal Ressourcen Am Dialog deen opmaacht, kënnt Dir Apparater auswielen fir an d'RDP Sessioun weidergeleet ze ginn.


Loosst eis konnektéieren. Mir gesinn d'XRDP Loginfenster:

Gitt Äre Benotzernumm a Passwuert.
Benotzt
De Virdeel vun dëse Manipulatiounen ass bemierkenswäert: d'RDP-Sessioun funktionnéiert vill méi reaktiounsfäeger wéi wann Dir mat engem virtuelle Display ouni Enhanced Sessioun schafft. Disks, déi am VM iwwer RDP erofgefall sinn, sinn am Verzeechnes verfügbar ${HOME}/shared-drives:

De Clipboard funktionnéiert gutt. Dir kënnt Drécker net dobannen weiderginn; dëst gëtt net nëmmen net ënnerstëtzt, awer och . De Sound funktionéiert och net, mee den Auteur huet dat net gebraucht. Fir Tastatur Ofkiirzungen wéi Alt + Tab z'erfëllen, musst Dir vmconnect op Vollbildschierm ausbauen.
Wann Dir aus iergendengem Grond déi agebaute vmconnect Applikatioun amplaz vun der Windows RDP Client oder, zum Beispill, vun enger anerer Maschinn aus mat dëser Maschinn verbannen, da musst Dir d'Datei änneren /etc/xrdp/xrdp.ini port op tcp://:3389. Wann déi virtuell Maschinn mam Standardschalter ugeschloss ass an d'Netzwierksastellungen iwwer DHCP kritt, da kënnt Dir et vum Host verbannen название_машины.mshome.net. Dir kënnt nëmmen op TTY vun der vmconnect Applikatioun aloggen andeems Dir den Enhanced Mode ausschalt.
Benotzt Quellen:
- Bug Berichter op GitHub: ,
Source: will.com
