
Lilo awọn ẹrọ foju Linux ni Hyper-V lati inu apoti jẹ iriri itunu diẹ diẹ ju lilo awọn ẹrọ alejo Windows. Idi fun eyi ni pe Hyper-V ko ni ipilẹṣẹ fun lilo tabili tabili; o ko le fi sori ẹrọ package kan ti awọn afikun alejo ki o gba isare awọn eya aworan iṣẹ, agekuru agekuru kan, awọn ilana pinpin ati awọn ayọ miiran ti igbesi aye, bi o ti ṣẹlẹ ni VirtualBox.
Hyper-V ara pese - nitorinaa, awọn alejo le lo iṣẹ ẹda ẹda ojiji (VSS), awọn alejo le fi ami ifihan tiipa kan ranṣẹ, awọn alejo le muuṣiṣẹpọ akoko eto pẹlu agbalejo agbara agbara, awọn faili le paarọ lati ọdọ agbalejo pẹlu ẹrọ foju (Copy-VMFile ni PowerShell). Fun diẹ ninu awọn ọna ṣiṣe awọn alejo, pẹlu, dajudaju, Windows, ninu ohun elo Asopọmọ ẹrọ Foju (vmconnect.exe) Ipo Ipele Imudara wa, ṣiṣẹ nipasẹ ilana RDP ati gbigba ọ laaye lati gbe awọn ẹrọ disiki ati awọn atẹwe si ẹrọ foju, bakannaa lo iwe-atẹwe ti o pin.
Ipo Ikoni Imudara ṣiṣẹ jade kuro ninu apoti ni Windows ni Hyper-V lẹsẹkẹsẹ lẹhin fifi sori ẹrọ. Pẹlu awọn alejo lori Lainos, o nilo lati fi sori ẹrọ olupin RDP kan ti o ṣe atilẹyin vsock (aaye adirẹsi nẹtiwọọki foju pataki kan ni Linux ti a ṣe apẹrẹ fun ibaraẹnisọrọ pẹlu hypervisor). Ti o ba jẹ fun Ubuntu ninu ohun elo VMCreate ti o wa pẹlu Hyper-V lori awọn itọsọna tabili tabili ti Windows, awoṣe ẹrọ foju ti a pese silẹ pataki wa ninu eyiti olupin RDP ti n ṣiṣẹ pẹlu vsock ti fi sori ẹrọ tẹlẹ, lẹhinna pẹlu awọn ipinpinpin miiran o kere ati ki o kere si - fun apẹẹrẹ, onkọwe Mo ti ṣakoso lati mu ESM ṣiṣẹ ni Fedora. Nibi a yoo mu Ipo Imudara Imudara ṣiṣẹ fun ẹrọ foju Arch Linux.
Fifi awọn iṣẹ Integration sori ẹrọ
Ohun gbogbo jẹ diẹ sii tabi kere si rọrun nibi, a kan nilo lati fi sori ẹrọ package naa hyperv lati ibi ipamọ agbegbe:
% sudo pacman -S hypervJẹ ki a mu VSS ṣiṣẹ ati awọn iṣẹ paṣipaarọ ati awọn faili:
% for i in {vss,fcopy,kvp}; do sudo systemctl enable hv_${i}_daemon.service; doneFifi XRDP sori ẹrọ
ibi ipamọ lori GitHub n pese awọn iwe afọwọkọ ti o ṣe adaṣe ilana ti fifi sori ẹrọ ati tunto XRDP fun Arch Linux ati Ubuntu. Jẹ ki a fi Git sori ẹrọ, ti ko ba ti fi sii tẹlẹ, pẹlu akopọ kan ati sọfitiwia miiran fun awọn kikọ afọwọṣe, ati lẹhinna ẹda ibi ipamọ naa:
% sudo pacman -S git base-devel
% git clone https://github.com/microsoft/linux-vm-tools.git
% cd linux-vm-tools/archNi akoko kikọ nkan yii, itusilẹ to ṣẹṣẹ julọ ti XRDP, eyiti o fi sii nipasẹ iwe afọwọkọ naa makepkg.sheyi ti a daba ni ibi ipamọ jẹ 0.9.11, vsock://Awọn adirẹsi, nitorinaa iwọ yoo ni lati fi sori ẹrọ XRDP lati Git ati awakọ Xorg fun AUR pẹlu ọwọ. Patch XRDP ti a nṣe ni AUR tun ti pẹ diẹ, nitorinaa iwọ yoo ni lati ṣatunkọ PKGBUILD ati patch pẹlu ọwọ.
Jẹ ki a ṣe awọn ibi ipamọ oniye pẹlu PKGBUILDs lati AUR (nigbagbogbo ilana yii, pẹlu kikọ, jẹ adaṣe nipasẹ awọn eto bii , ṣugbọn onkọwe ṣe gbogbo ilana yii lori eto mimọ):
% git clone https://aur.archlinux.org/xrdp-devel-git.git
% git clone https://aur.archlinux.org/xorgxrdp-devel-git.gitJẹ ki a fi sori ẹrọ XRDP funrararẹ ni akọkọ. Jẹ ki a ṣii faili naa PKGBUILD eyikeyi ọrọ olootu.
Jẹ ki ká satunkọ awọn Kọ sile. PKGBUILD fun kikọ XRDP lati Git ko pẹlu atilẹyin vsock nigba kikọ, nitorinaa jẹ ki a mu ki o funra wa:
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
}Ninu alemo arch-config.diff, eyiti o ṣakoso awọn iwọn ati awọn iwe afọwọkọ ifilọlẹ XRDP labẹ awọn ọna faili ti a lo ni Arch Linux, tun ni alemo si iwe afọwọkọ naa. instfiles/xrdp.sh, eyi ti o wa ni akoko kikọ lati pinpin XRDP, nitorinaa alemo naa yoo ni lati ṣatunkọ pẹlu ọwọ:
[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 -0600Jẹ ki a ṣe akopọ ati fi sori ẹrọ package pẹlu aṣẹ naa % makepkg --skipchecksums -si (bọtini --skipchecksums nilo lati mu ijẹrisi checksum kuro ti awọn faili orisun, niwọn igba ti a ṣatunkọ wọn pẹlu ọwọ).
Jẹ ká lọ si liana xorgxrdp-devel-git, lẹhin eyi a nìkan ṣajọpọ package pẹlu aṣẹ naa % makepkg -si.
Jẹ ká lọ si liana linux-vm-tools/arch ati ṣiṣe awọn akosile install-config.sh, eyiti o ṣeto XRDP, PolicyKit ati awọn eto PAM:
% sudo ./install-config.shIwe afọwọkọ nfi eto iní sori ẹrọ use_vsock, eyiti a ti bikita lati ẹya 0.9.11, nitorinaa jẹ ki a ṣatunkọ faili iṣeto ni /etc/xrdp/xrdp.ini pẹlu ọwọ:
; 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_nodelayFikun-un si faili ~/.xinitrc ṣe ifilọlẹ oluṣakoso window ti o fẹ / agbegbe tabili tabili, eyiti yoo ṣiṣẹ nigbati olupin X ba bẹrẹ:
% echo "exec i3" > ~/.xinitrcJẹ ká pa awọn foju ẹrọ. A mu irinna vsock ṣiṣẹ fun ẹrọ foju nipa ṣiṣe pipaṣẹ atẹle ni PowerShell bi olutọju:
PS Admin > Set-VM -VMName НАЗВАНИЕ_МАШИНЫ -EnhancedSessionTransportType HvSocketJẹ ki a tan-an ẹrọ foju lẹẹkansi.
Ilana
Ni kete ti iṣẹ XRDP bẹrẹ lẹhin ti eto naa bẹrẹ, ohun elo vmconnect yoo rii eyi ati pe ohun naa yoo wa ninu akojọ aṣayan. Wo -> Imudara Igba. Nigbati o ba yan nkan yii, a yoo ti ọ lati ṣeto ipinnu iboju, ati lori taabu Awọn alaye agbegbe Ninu ifọrọwerọ ti o ṣi, o le yan awọn ẹrọ lati firanṣẹ siwaju si igba RDP.


Jẹ ki a sopọ. A yoo rii window iwọle XRDP:

Tẹ orukọ olumulo ati ọrọ igbaniwọle rẹ sii.
Lo
Anfaani lati awọn ifọwọyi wọnyi jẹ akiyesi: igba RDP n ṣiṣẹ diẹ sii ni idahun ju nigbati o n ṣiṣẹ pẹlu ifihan foju laisi Imudara Ipese. Awọn disiki silẹ inu VM nipasẹ RDP wa ninu itọsọna naa ${HOME}/shared-drives:

Awọn agekuru ṣiṣẹ daradara. O ko le dari awọn atẹwe inu; eyi kii ṣe atilẹyin nikan, ṣugbọn pẹlu . Ohun naa tun ko ṣiṣẹ, ṣugbọn onkọwe ko nilo eyi. Lati le gba awọn ọna abuja keyboard bii Alt + Tab, o nilo lati faagun vmconnect si iboju kikun.
Ti o ba jẹ fun idi kan o fẹ lo alabara RDP ti a ṣe sinu Windows dipo ohun elo vmconnect tabi, fun apẹẹrẹ, sopọ si ẹrọ yii lati ẹrọ miiran, lẹhinna o yoo nilo lati yi faili naa pada. /etc/xrdp/xrdp.ini port on tcp://:3389. Ti ẹrọ foju ba ti sopọ si Yipada Aiyipada ati gba awọn eto nẹtiwọọki nipasẹ DHCP, lẹhinna o le sopọ si ọdọ agbalejo ni название_машины.mshome.net. O le wọle si TTY nikan lati ohun elo vmconnect nipa pipa Ipo Imudara.
Awọn orisun ti a lo:
- Awọn ijabọ kokoro lori GitHub: ,
orisun: www.habr.com
