
VirtuÄlo maŔīnu izmantoÅ”ana Linux Hyper-V versijÄ pÄc izÅemÅ”anas no kastes ir nedaudz neÄrtÄka pieredze nekÄ viesu režīmÄ Windows-maŔīnas. Iemesls tam ir tÄds, ka Hyper-V sÄkotnÄji nebija paredzÄts lietoÅ”anai galddatoros; jÅ«s nevarat vienkÄrÅ”i instalÄt viesu papildinÄjumu pakotni un iegÅ«t darbojoÅ”os grafikas paÄtrinÄjumu, starpliktuvi, koplietotÄs direktorijus un citas priekÅ”rocÄ«bas, kÄ tas ir iespÄjams ar VirtualBox.
Pats Hyper-V nodroÅ”ina - tÄtad viesi var izmantot saimniekdatora Änu kopÄÅ”anas pakalpojumu (VSS), viesi var nosÅ«tÄ«t izslÄgÅ”anas signÄlu, viesi var sinhronizÄt sistÄmas laiku ar virtualizÄcijas resursdatoru, var apmainÄ«ties ar failiem no resursdatora ar virtuÄlo maŔīnu (Copy-VMFile PowerShell). DažÄm viesu operÄtÄjsistÄmÄm, kas, protams, ietver Windows, virtuÄlÄs maŔīnas savienojuma lietojumprogrammÄ (vmconnect.exe) Ir pieejams uzlabotais sesijas režīms, kas darbojas, izmantojot RDP protokolu un ļauj pÄrsÅ«tÄ«t diska ierÄ«ces un printerus uz virtuÄlo maŔīnu, kÄ arÄ« izmantot koplietojamo starpliktuvi.
Uzlabotais sesijas režīms darbojas uzreiz pÄc izÅemÅ”anas no kastes Windows Hyper-V tÅ«lÄ«t pÄc instalÄÅ”anas. Ar viesiem ieslÄgts Linux jums jÄinstalÄ RDP serveris, kas atbalsta vsock (Ä«paÅ”u virtuÄlÄ tÄ«kla adreÅ”u telpu Linux, kas paredzÄts saziÅai ar hipervizoru). Ja paredzÄts Ubuntu VMCreate lietojumprogrammÄ, kas ir iekļauta Hyper-V galddatoru versijÄs Windows, ir Ä«paÅ”i sagatavota virtuÄlÄs maŔīnas veidne, kurÄ RDP serveris darbojas ar vsock jau iepriekÅ” instalÄts, tad ar citiem izplatÄ«jumiem kļūst arvien mazÄk skaidrs - piemÄram, autors Mums izdevÄs iespÄjot ESM Fedora sistÄmÄ. Å eit mÄs aktivizÄjam arÄ« uzlaboto sesijas režīmu Arch virtuÄlajai maŔīnai. Linux.
IntegrÄcijas pakalpojumu instalÄÅ”ana
Å eit viss ir vairÄk vai mazÄk vienkÄrÅ”s, mums tikai jÄinstalÄ pakotne hyperv no kopienas krÄtuves:
% sudo pacman -S hypervIespÄjosim VSS un apmaiÅas pakalpojumus un faili:
% for i in {vss,fcopy,kvp}; do sudo systemctl enable hv_${i}_daemon.service; doneXRDP instalÄÅ”ana
krÄtuve nodroÅ”ina GitHub skriptus, kas automatizÄ XRDP instalÄÅ”anas un konfigurÄÅ”anas procesu Arch vidÄ Linux Šø UbuntuInstalÄsim Git, ja tas vÄl nav instalÄts, kÄ arÄ« kompilatoru un citu programmatÅ«ru manuÄlai veidoÅ”anai un pÄc tam klonÄsim repozitoriju:
% sudo pacman -S git base-devel
% git clone https://github.com/microsoft/linux-vm-tools.git
% cd linux-vm-tools/archÅ Ä« raksta rakstīŔanas laikÄ jaunÄkais XRDP laidiens, ko instalÄ skripts makepkg.shrepozitorijÄ ieteiktais ir 0.9.11, vsock://-adreses, tÄpÄc jums bÅ«s manuÄli jÄinstalÄ XRDP no Git un Xorg draiveris tam no AUR. AUR piedÄvÄtais XRDP ielÄps arÄ« ir nedaudz novecojis, tÄpÄc jums bÅ«s jÄrediÄ£Ä PKGBUILD un ielÄps manuÄli.
KlonÄsim krÄtuves ar PKGBUILD no AUR (parasti Å”o procedÅ«ru kopÄ ar bÅ«vÄÅ”anu automatizÄ tÄdas programmas kÄ , bet autors visu Å”o procedÅ«ru veica tÄ«rÄ sistÄmÄ):
% git clone https://aur.archlinux.org/xrdp-devel-git.git
% git clone https://aur.archlinux.org/xorgxrdp-devel-git.gitVispirms instalÄsim paÅ”u XRDP. AtvÄrsim failu PKGBUILD jebkurÅ” teksta redaktors.
RediÄ£Äsim bÅ«ves parametrus. PKGBUILD XRDP veidoÅ”anai no Git neietver vsock atbalstu, veidojot, tÄpÄc iespÄjosim to paÅ”i:
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
}PlÄksterÄ arch-config.diff, valdoÅ”Äs vienÄ«bas un XRDP startÄÅ”anas skriptus zem failu ceļiem, kas tiek izmantoti Arch Linux, satur skripta ielÄpu instfiles/xrdp.sh, kas rakstīŔanas laikÄ no XRDP izplatīŔanas, tÄpÄc ielÄps bÅ«s jÄrediÄ£Ä manuÄli:
[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 -0600Apkoposim un instalÄsim pakotni ar komandu % makepkg --skipchecksums -si (atslÄga --skipchecksums nepiecieÅ”ams, lai atspÄjotu avota failu kontrolsummas verifikÄciju, jo mÄs tos rediÄ£ÄjÄm manuÄli).
Dosimies uz direktoriju xorgxrdp-devel-git, pÄc kura mÄs vienkÄrÅ”i saliekam paketi ar komandu % makepkg -si.
Dosimies uz direktoriju linux-vm-tools/arch un palaist skriptu install-config.sh, kas nosaka XRDP, PolicyKit un PAM iestatījumus:
% sudo ./install-config.shSkripts instalÄ mantoto iestatÄ«jumu use_vsock, kas ir ignorÄts kopÅ” versijas 0.9.11, tÄpÄc rediÄ£Äsim konfigurÄcijas failu /etc/xrdp/xrdp.ini manuÄli:
; 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_nodelayPievienot failam ~/.xinitrc palaižot vÄlamo logu pÄrvaldnieku/darbvirsmas vidi, kas tiks izpildÄ«ta, startÄjot X serveri:
% echo "exec i3" > ~/.xinitrcIzslÄgsim virtuÄlo maŔīnu. MÄs aktivizÄjam vsock transportu virtuÄlajai maŔīnai, palaižot Å”o komandu PowerShell kÄ administrators:
PS Admin > Set-VM -VMName ŠŠŠŠŠŠŠŠ_ŠŠŠØŠŠŠ« -EnhancedSessionTransportType HvSocketAtkal ieslÄdzam virtuÄlo maŔīnu.
PieslÄgums
TiklÄ«dz XRDP pakalpojums sÄk darboties pÄc sistÄmas palaiÅ”anas, lietojumprogramma vmconnect to noteiks un vienums bÅ«s pieejams izvÄlnÄ UzzinÄt -> Uzlabota sesija. Atlasot Å”o vienumu, mums tiks piedÄvÄts iestatÄ«t ekrÄna izŔķirtspÄju un cilnÄ VietÄjie resursi AtvÄrtajÄ dialoglodziÅÄ varat atlasÄ«t ierÄ«ces, kuras pÄrsÅ«tÄ«t uz LAP sesiju.


Savienojamies. MÄs redzÄsim XRDP pieteikÅ”anÄs logu:

Ievadiet savu lietotÄjvÄrdu un paroli.
Izmantot
Ieguvums no Ŕīm manipulÄcijÄm ir pamanÄms: RDP sesija darbojas daudz atsaucÄ«gÄk nekÄ strÄdÄjot ar virtuÄlo displeju bez uzlabotÄs sesijas. DirektorijÄ ir pieejami diski, kas nokrituÅ”i virtuÄlajÄ maŔīnÄ, izmantojot RDP ${HOME}/shared-drives:

Starpliktuve darbojas labi. JÅ«s nevarat pÄrsÅ«tÄ«t printerus iekÅ”Ä; tas ne tikai netiek atbalstÄ«ts, bet arÄ« . SkaÅa arÄ« nedarbojas, bet autoram tas nebija vajadzÄ«gs. Lai tvertu Ä«sinÄjumtaustiÅus, piemÄram, Alt+Tab, ir jÄpaplaÅ”ina vmconnect uz pilnekrÄna režīmu.
Ja kÄda iemesla dÄļ vÄlaties izmantot iebÅ«vÄto vmconnect lietojumprogrammu, nevis Windows RDP klients vai, piemÄram, izveidojiet savienojumu ar Å”o maŔīnu no citas maŔīnas, tad jums bÅ«s jÄmaina fails /etc/xrdp/xrdp.ini port par tcp://:3389. Ja virtuÄlÄ maŔīna ir savienota ar noklusÄjuma slÄdzi un saÅem tÄ«kla iestatÄ«jumus, izmantojot DHCP, varat izveidot savienojumu ar to no resursdatora vietnÄ Š½Š°Š·Š²Š°Š½ŠøŠµ_Š¼Š°ŃŠøŠ½Ń.mshome.net. TTY var pieteikties tikai no lietojumprogrammas vmconnect, izslÄdzot uzlaboto režīmu.
Izmantotie avoti:
- Kļūdu ziÅojumi vietnÄ GitHub: ,
Avots: www.habr.com
