
Fa'aaogaina o masini fa'apitoa i luga Linux i le Hyper-V i fafo atu o le pusa o se aafiaga e itiiti ifo le mafanafana nai lo le faatasi ai ma malo Windows-masini. O le mafuaʻaga o lenei mea ona e leʻi mamanuina muamua le Hyper-V mo le faʻaaogaina i luga o le komepiuta; e le mafai ona e faʻapipiʻiina le afifi Guest Additions ma maua ai le faʻavavevaveina o ata, laupapa laupapa, faʻasinomaga faʻasoa, ma isi faʻamanuiaga, e pei ona e faia i le VirtualBox.
Hyper-V lava ia e maua - o lea, e mafai e malo ona faʻaogaina le auʻaunaga kopi ata a le talimalo (VSS), e mafai e malo ona tuʻuina atu se faʻailoga tapuni, e mafai e malo ona faʻafetaui le taimi faʻaoga ma le virtualization host, faila e mafai ona fesuiaʻi mai le talimalo ma le masini masini (Copy-VMFile i le PowerShell). Mo nisi faiga fa'aoga fa'apitoa, lea e aofia ai Windows, i le polokalama Feso'ota'iga Masini Fa'apitoa (vmconnect.exe) O loʻo avanoa le Faʻasalalauga Faʻaleleia, galue e ala i le RDP protocol ma faʻatagaina oe e faʻafeiloaʻi masini tisiki ma lomitusi i le masini komepiuta, faʻapea foʻi ma le faʻaogaina o se laupapa faʻasoa.
E aoga le Fa'aleleia o le Sauniga Fa'apitoa mai lava i le amataga Windows i le Hyper-V i le taimi lava e maeʻa ai ona faʻapipiʻiina. Faʻatasi ai ma malo i luga Linux e manaʻomia ona e faʻapipiʻi se 'auʻaunaga RDP e lagolagoina le vsock (o se avanoa faʻapitoa mo tuatusi fesoʻotaʻiga faʻapitoa i totonu o le Linux, ua mamanuina e fesootaʻi ma le hypervisor). Afai mo Ubuntu i totonu o le polokalama VMCreate lea e sau faatasi ma le Hyper-V i lomiga komepiuta Windows, o loʻo i ai se faʻataʻitaʻiga masini faʻapitoa ua saunia lea e galue ai se 'auʻaunaga RDP ma vsock ua uma ona faʻapipiʻiina, ona faʻatasi ai lea ma isi faʻasalalauga e faʻaitiitia ma itiiti le manino - mo se faʻataʻitaʻiga, o le tusitala Ua mafai ona matou fa'agaoioia le ESM i le Fedora. O iinei fo'i matou te fa'agaoioia ai le Enhanced Session Mode mo le Arch virtual machine. Linux.
Fa'apipi'i 'au'aunaga tu'ufa'atasi
O mea uma e sili atu pe itiiti ifo faigofie iinei, e tatau ona matou faʻapipiʻi le afifi hyperv mai le fale teu oloa a le nuu:
% sudo pacman -S hypervTatou fa'aagaina le VSS ma le fa'afesuia'i auaunaga ma faila:
% for i in {vss,fcopy,kvp}; do sudo systemctl enable hv_${i}_daemon.service; doneFa'apipi'i le XRDP
faleteuoloa e tuʻuina atu ai tusitusiga i luga o le GitHub e otometi ai le faagasologa o le faʻapipiʻiina ma le faʻatulagaina o le XRDP mo le Arch Linux и UbuntuSe'i o tatou fa'apipi'i le Git, pe afai e le'i fa'apipi'iina, fa'atasi ai ma se fa'aputuga ma isi polokalama faakomepiuta mo le fausiaina fa'atino, ona tatou kopiina lea o le fale teu oloa:
% sudo pacman -S git base-devel
% git clone https://github.com/microsoft/linux-vm-tools.git
% cd linux-vm-tools/archI le taimi na tusia ai lenei tusiga, o le faʻasalalauga lata mai o le XRDP, lea e faʻapipiʻiina e le tusitusiga makepkg.shle tasi o loʻo fautuaina i totonu o le fale teu oloa o le 0.9.11, vsock://-addresses, o lea e tatau ai ona e faʻapipiʻi le XRDP mai Git ma le avetaavale Xorg mo ia mai le AUR ma le lima. O le XRDP patch o loʻo ofoina atu i le AUR e fai si tuai, o lea e tatau ai ona e faʻasaʻo le PKGBUILD ma patch ma le lima.
Seʻi o tatou faʻapipiʻi faleoloa ma PKGBUILDs mai le AUR (e masani lava o lenei faiga, faʻatasi ai ma le fausiaina, e otometi e polokalame pei o , ae na faia e le tusitala lenei faiga atoa i luga o se faiga mama):
% git clone https://aur.archlinux.org/xrdp-devel-git.git
% git clone https://aur.archlinux.org/xorgxrdp-devel-git.gitSe'i fa'apipi'i muamua le XRDP lava ia. Tatou tatala le faila PKGBUILD so'o se fa'atonu tusitusiga.
Se'i o tatou fa'asa'o le fa'asologa o le fausiaina. PKGBUILD mo le fausiaina o le XRDP mai le Git e le aofia ai le lagolago vsock pe a fausia, ia tatou faʻatagaina i tatou lava:
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
}I totonu o le patch arch-config.diff, iunite pule ma tusitusiga amata XRDP i lalo o auala faila na faʻaaogaina i le Arch Linux, o lo'o i ai se patch i le script instfiles/xrdp.sh, lea i le taimi na tusia ai mai le tufatufaina atu o le XRDP, o lea e tatau ai ona faʻasaʻo lima le patch:
[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 -0600Sei o tatou tuufaatasia ma faapipii le afifi ma le poloaiga % makepkg --skipchecksums -si (ki --skipchecksums mana'omia e fa'amalo le fa'amaoniaina o fa'amatalaga fa'apogai, talu ai na matou fa'asa'oina ma le lima).
Tatou o i le lisi xorgxrdp-devel-git, a maeʻa ona matou faʻapipiʻiina lea o le afifi ma le faʻatonuga % makepkg -si.
Tatou o i le lisi linux-vm-tools/arch ma fa'agasolo le tusitusiga install-config.sh, lea e setiina XRDP, PolicyKit ma PAM faʻatulagaina:
% sudo ./install-config.shFa'apipi'i le fa'asologa o talatuu use_vsock, lea ua le amanaiaina talu mai le version 0.9.11, o lea seʻi o tatou faʻasaʻo le faila faila /etc/xrdp/xrdp.ini lima:
; 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_nodelayFa'aopoopo i le faila ~/.xinitrc faʻalauiloa lau pule faʻamalama / siosiomaga desktop, lea o le a faʻatinoina pe a amata le X server:
% echo "exec i3" > ~/.xinitrcSe'i tatou tapeina le masini fa'anatura. Matou te faʻagaoioia le felauaiga vsock mo le masini komepiuta e ala i le faʻatinoina o le poloaiga lenei i le PowerShell o se pule:
PS Admin > Set-VM -VMName НАЗВАНИЕ_МАШИНЫ -EnhancedSessionTransportType HvSocketSei o tatou toe ki le masini masini.
Подключение
O le taimi lava e amata ai le auaunaga XRDP pe a uma ona amata le polokalama, o le a iloa e le vmconnect application lenei mea ma o le a maua le mea i le lisi. View -> Sauniga Fa'aleleia. A filifilia lenei mea, o le a uunaia i tatou e seti le iugafono o lau, ma luga o le tab Punaoa Faalelotoifale I le talanoaga e tatala, e mafai ona e filifilia masini e tuʻuina atu i le RDP session.


Tatou fesootai. O le a matou vaʻai i le XRDP login window:

Ulufale i lou username ma upu faataga.
Faaaoga
O le aoga mai nei togafiti e iloagofie: o le RDP sauniga e sili atu le tali atu nai lo le taimi e galue ai ma se faʻaaliga faʻapitoa e aunoa ma le Faʻaleleia Session. O pusi na pa'ū i totonu o le VM e ala i le RDP o loʻo avanoa i le lisi ${HOME}/shared-drives:

O lo'o galue lelei le laupapa kilipa. E le mafai ona tuʻuina atu lomitusi i totonu; e le gata e le lagolagoina, ae faʻapea foi . E le aoga foi le leo, ae e leʻi manaʻomia e le tusitala lenei mea. Ina ia mafai ona pu'e ala pupuu keyboard e pei o Alt+Tab, e tatau ona e faalautele le vmconnect ile mata atoa.
Afai mo so'o se mafua'aga e te mana'o ai e fa'aoga le talosaga vmconnect ua fausia i totonu nai lo le Windows RDP client pe, mo se faʻataʻitaʻiga, faʻafesoʻotaʻi i lenei masini mai se isi masini, ona e manaʻomia lea ona sui le faila /etc/xrdp/xrdp.ini port i tcp://:3389. Afai e fesoʻotaʻi le masini komepiuta i le Default Switch ma maua faʻasalalauga fesoʻotaʻiga e ala i le DHCP, ona mafai lea ona e faʻafesoʻotaʻi mai le talimalo ile название_машины.mshome.net. E mafai ona e ulufale i totonu o le TTY mai le vmconnect application e ala i le tapeina o le Enhanced Mode.
Punaoa fa'aaogaina:
- Lipoti a le bug ile GitHub: ,
puna: www.habr.com
