
Mampiasa milina virtoaly amin'ny Linux ao amin'ny Hyper-V out of the box dia traikefa tsy dia mahazo aina loatra raha oharina amin'ny vahiny Windows-ΠΌΠ°ΡΠΈΠ½Π°ΠΌΠΈ. ΠΡΠΈΡΠΈΠ½ΠΎΠΉ ΡΠΎΠΌΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ Hyper-V Π²ΡΠ΅ ΠΆΠ΅ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π½Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ°Π»ΡΡ Π΄Π»Ρ Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ; Π½Π΅Π»ΡΠ·Ρ ΠΏΡΠΎΡΡΠΎ Π²Π·ΡΡΡ, ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΠ°ΠΊΠ΅Ρ Π³ΠΎΡΡΠ΅Π²ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅, Π±ΡΡΠ΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π°, ΠΎΠ±ΡΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°Π΄ΠΎΡΡΠΈ ΠΆΠΈΠ·Π½ΠΈ, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² VirtualBox.
Hyper-V mihitsy no manome - Noho izany, ny vahiny dia afaka mampiasa ny serivisy kopia alokaloka (VSS), ny vahiny dia afaka mandefa famantarana fanakatonana, ny vahiny dia afaka mampifanaraka ny fotoanan'ny rafitra miaraka amin'ny mpampiantrano virtoaly, ny rakitra dia azo takalon'ny mpampiantrano miaraka amin'ny milina virtoaly (Copy-VMFile Π² PowerShell). ΠΠ»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
Π³ΠΎΡΡΠ΅Π²ΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ, Π² ΡΠΈΡΠ»Π΅ ΠΊΠΎΡΠΎΡΡΡ
, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΠΈ Windows, Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Virtual Machine Connection (vmconnect.exe) Misy ny Mode Session Enhanced, miasa amin'ny alΓ lan'ny protocol RDP ary mamela anao hamindra fitaovana kapila sy mpanonta amin'ny milina virtoaly, ary koa mampiasa takelaka ifampizarana.
Enhanced Session Mode ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² Windows Π² Hyper-V ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ. Π‘ Π³ΠΎΡΡΡΠΌΠΈ Π½Π° Linux Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ RDP-ΡΠ΅ΡΠ²Π΅Ρ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠΉ vsock (ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π²ΠΎΠ΅ Π°Π΄ΡΠ΅ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π² Linux, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠ΅ Π΄Π»Ρ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ Ρ Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠΎΠΌ). ΠΡΠ»ΠΈ Π΄Π»Ρ Ubuntu Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ VMCreate, ΠΈΠ΄ΡΡΠΈΠΌ Ρ Hyper-V Π½Π° Π½Π°ΡΡΠΎΠ»ΡΠ½ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡ Windows, Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Ρ vsock RDP-ΡΠ΅ΡΠ²Π΅Ρ efa napetraka mialoha, dia miaraka amin'ny fizarana hafa dia tsy dia mazava loatra - ohatra, ny mpanoratra ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ Π²ΠΊΠ»ΡΡΠΈΡΡ ESM Π² Fedora. ΠΠ΄Π΅ΡΡ ΠΆΠ΅ ΠΌΡ Π°ΠΊΡΠΈΠ²ΠΈΡΡΠ΅ΠΌ Enhanced Session Mode Π΄Π»Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ Ρ Arch Linux.
Fametrahana serivisy fampidirana
Ny zava-drehetra dia tsotra na tsy dia tsotra eto, mila mametraka ny fonosana fotsiny isika hyperv avy amin'ny tahiry fiaraha-monina:
% sudo pacman -S hypervAlefaso ny serivisy VSS sy fifanakalozana ary fichier:
% for i in {vss,fcopy,kvp}; do sudo systemctl enable hv_${i}_daemon.service; doneFametrahana XRDP
repository Π½Π° GitHub ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΊΡΠΈΠΏΡΡ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΡΡΡΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ XRDP, Π΄Π»Ρ Arch Linux ΠΈ Ubuntu. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ Git, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π΅ΡΠ΅ Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½, Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ ΠΈ Π΄ΡΡΠ³ΠΈΠΌ ΡΠΎΡΡΠΎΠΌ Π΄Π»Ρ ΡΡΡΠ½ΡΡ ΡΠ±ΠΎΡΠΎΠΊ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΡΠΊΠ»ΠΎΠ½ΠΈΡΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ:
% sudo pacman -S git base-devel
% git clone https://github.com/microsoft/linux-vm-tools.git
% cd linux-vm-tools/archTamin'ny fotoana nanoratana ity lahatsoratra ity, ny famoahana XRDP farany indrindra, izay napetraky ny script makepkg.shny soso-kevitra ao amin'ny tahiry dia 0.9.11, vsock://-addresses, noho izany dia tsy maintsy mametraka XRDP avy amin'ny Git ianao ary ny mpamily Xorg ho azy avy amin'ny AUR. Ny patch XRDP atolotra ao amin'ny AUR dia somary lany andro ihany koa, noho izany dia mila manitsy ny PKGBUILD sy ny patch ianao.
Andao hanao clone repository miaraka amin'ny PKGBUILDs avy amin'ny AUR (matetika ity fomba fiasa ity, miaraka amin'ny fananganana, dia mandeha ho azy amin'ny programa toy ny , fa ny mpanoratra dia nanao izany fomba rehetra izany tamin'ny rafitra madio):
% git clone https://aur.archlinux.org/xrdp-devel-git.git
% git clone https://aur.archlinux.org/xorgxrdp-devel-git.gitAleo apetraka aloha ny XRDP. Andao hanokatra ny rakitra PKGBUILD izay mpamoaka lahatsoratra.
Andao hanitsy ny masontsivana fananganana. Ny PKGBUILD amin'ny fananganana XRDP avy amin'ny Git dia tsy misy fanohanana vsock rehefa manorina, koa andao isika hanao izany:
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
}Ao amin'ny patch arch-config.diff, ΠΏΡΠ°Π²ΡΡΠ΅ΠΌ ΡΠ½ΠΈΡΡ ΠΈ ΡΠΊΡΠΈΠΏΡΡ Π·Π°ΠΏΡΡΠΊΠ° XRDP ΠΏΠΎΠ΄ ΠΏΡΡΠΈ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌ Π² Arch Linux, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΏΠ°ΡΡ ΠΊ ΡΠΊΡΠΈΠΏΡΡ instfiles/xrdp.sh, izay tamin'ny fotoana nanoratana avy amin'ny fizarana XRDP, noho izany dia tsy maintsy ovaina amin'ny tanana ny 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 -0600Andao hanangona sy hametraka ny fonosana miaraka amin'ny baiko % makepkg --skipchecksums -si (key --skipchecksums Ilaina ny manafoana ny fanamarinana checksum amin'ny rakitra loharano, satria nanova azy ireo tamin'ny tanana izahay).
Andeha ho any amin'ny lahatahiry xorgxrdp-devel-git, aorian'izay dia manangona fotsiny ny fonosana miaraka amin'ny baiko % makepkg -si.
Andeha ho any amin'ny lahatahiry linux-vm-tools/arch ary tanteraho ny script install-config.sh, izay mametraka ny XRDP, PolicyKit ary PAM:
% sudo ./install-config.shMametraka fika lova ny script use_vsock, izay tsy noraharahiana hatramin'ny version 0.9.11, ka andeha hovaina ny fichier configuration /etc/xrdp/xrdp.ini amin'ny tanana:
; 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_nodelayAmpio amin'ny rakitra ~/.xinitrc manomboka ny fikandrana fikandrana / tontolo desktop tianao indrindra, izay hotanterahina rehefa manomboka ny mpizara X:
% echo "exec i3" > ~/.xinitrcAndeha hovonointsika ny milina virtoaly. Mampihetsi-po ny fitaterana vsock ho an'ny milina virtoaly amin'ny alΓ lan'ny fampandehanana ity baiko manaraka ity ao amin'ny PowerShell ho mpitantana:
PS Admin > Set-VM -VMName ΠΠΠΠΠΠΠΠ_ΠΠΠ¨ΠΠΠ« -EnhancedSessionTransportType HvSocketAndao velomina indray ny milina virtoaly.
fifandraisana
Raha vantany vao manomboka ny serivisy XRDP taorian'ny nanombohan'ny rafitra dia ho hitan'ny fampiharana vmconnect izany ary ho hita ao amin'ny menio ilay entana. View -> Session Enhanced. Rehefa misafidy ity zavatra ity isika dia hasaina hametraka ny famaha ny efijery, ary eo amin'ny tabilao Harena eo an-toerana Ao amin'ny fifanakalozan-kevitra misokatra dia azonao atao ny misafidy fitaovana halefa any amin'ny fivoriana RDP.


Andao hifandray. Ho hitantsika ny varavarankely fidirana XRDP:

Ampidiro ny anaranao sy ny tenimiafinao.
ny fampiasana ny
Ny tombony azo avy amin'ireo fanodinkodinana ireo dia tsikaritra: ny fivoriana RDP dia miasa tsara kokoa noho ny rehefa miasa amin'ny fampisehoana virtoaly tsy misy Session Enhanced. Ny kapila latsaka ao anatin'ny VM amin'ny alΓ lan'ny RDP dia hita ao amin'ny lahatahiry ${HOME}/shared-drives:

Miasa tsara ny clipboard. Tsy afaka mandefa mpanonta ao anatiny ianao; . Tsy mandeha koa ny feo, saingy tsy nila izany ny mpanoratra. Mba hisintonana hitsin-dΓ lana toy ny Alt+Tab dia mila manitatra ny vmconnect amin'ny efijery feno ianao.
ΠΡΠ»ΠΈ ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ Π΅ΡΡΡ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ vmconnect Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π² Windows RDP-ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈΠ»ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ ΡΡΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ, ΡΠΎ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ /etc/xrdp/xrdp.ini port amin'ny tcp://:3389. Raha toa ka mifandray amin'ny Switch Default ny milina virtoaly ary mahazo firafitry ny tambajotra amin'ny DHCP, dia azonao atao ny mifandray aminy amin'ny mpampiantrano amin'ny Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΌΠ°ΡΠΈΠ½Ρ.mshome.net. Afaka miditra amin'ny TTY avy amin'ny rindranasa vmconnect ianao amin'ny alΓ lan'ny famonoana ny Mode Enhanced.
Loharano nampiasaina:
- Tatitra momba ny bug ao amin'ny GitHub: ,
Source: www.habr.com
