Uzlabotā sesijas režīma iespējoÅ”ana Arch Linux-viesi Hyper-V vidē

Uzlabotā sesijas režīma iespējoÅ”ana Arch Linux-viesi Hyper-V vidē

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 vairāki integrācijas pakalpojumi - 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 XRDP jau iepriekÅ” instalēts, tad ar citiem izplatÄ«jumiem kļūst arvien mazāk skaidrs - piemēram, autors Å”o ziņu 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 hyperv

Iespējosim VSS un apmaiņas pakalpojumus metadati un faili:

% for i in {vss,fcopy,kvp}; do sudo systemctl enable hv_${i}_daemon.service; done

XRDP instalēŔana

krātuve linux-vm-tools 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, kurā parsēŔana ir pārtraukta 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ā Yay, 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.git

Vispirms 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ā tika noņemts 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 -0600

Apkoposim 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.sh

Skripts 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_nodelay

Pievienot failam ~/.xinitrc palaižot vēlamo logu pārvaldnieku/darbvirsmas vidi, kas tiks izpildīta, startējot X serveri:

% echo "exec i3" > ~/.xinitrc

Izslē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 HvSocket

Atkal 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.

Uzlabotā sesijas režīma iespējoÅ”ana Arch Linux-viesi Hyper-V vidē
Uzlabotā sesijas režīma iespējoÅ”ana Arch Linux-viesi Hyper-V vidē

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

Uzlabotā sesijas režīma iespējoÅ”ana Arch Linux-viesi Hyper-V vidē

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:

Uzlabotā sesijas režīma iespējoÅ”ana Arch Linux-viesi Hyper-V vidē

Starpliktuve darbojas labi. JÅ«s nevarat pārsÅ«tÄ«t printerus iekŔā; tas ne tikai netiek atbalstÄ«ts, bet arÄ« pārtrauc diska pārsÅ«tīŔanu. 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:

  1. Hyper-V ā€” Arch Wiki
  2. Kļūdu ziņojumi vietnē GitHub: 1, 2

Avots: www.habr.com

Iegādājieties uzticamu mitināŔanu vietnēm ar DDoS aizsardzÄ«bu, VPS VDS serveriem šŸ”„ Iegādājieties uzticamu tÄ«mekļa vietņu mitināŔanu ar DDoS aizsardzÄ«bu, VPS VDS serveriem | ProHoster