Hyper-V හි Arch Linux අමුත්තන් සඳහා වැඩිදියුණු කළ සැසි මාදිලිය සබල කරන්න

Hyper-V හි Arch Linux අමුත්තන් සඳහා වැඩිදියුණු කළ සැසි මාදිලිය සබල කරන්න

කොටුවෙන් පිටත Hyper-V හි Linux අතථ්‍ය යන්ත්‍ර භාවිතා කිරීම ආගන්තුක වින්ඩෝස් යන්ත්‍රවලට වඩා තරමක් අඩු පහසුවකි. මෙයට හේතුව Hyper-V මුලින් අදහස් කළේ ඩෙස්ක්ටොප් භාවිතය සඳහා නොවේ; VirtualBox හි සිදු වන පරිදි ඔබට ඉදිරියට ගොස් ආගන්තුක එකතු කිරීම් පැකේජය ස්ථාපනය කර ක්‍රියා කළ හැකි ග්‍රැෆික් ත්වරණය, ක්ලිප්බෝඩ්, හවුල් නාමාවලි සහ ජීවිතයේ අනෙකුත් ප්‍රීති ලබා ගත නොහැක.

Hyper-V විසින්ම සපයයි බහු ඒකාබද්ධ සේවා - එබැවින්, අමුත්තන්ට සත්කාරකයේ සෙවනැලි පිටපත් සේවාව (VSS) භාවිතා කළ හැකිය, අමුත්තන්ට වසා දැමීමේ සංඥාවක් යැවිය හැක, අමුත්තන්ට අථත්‍යකරණ ධාරකය සමඟ පද්ධති කාලය සමමුහුර්ත කළ හැකිය, ධාරකයෙන් අථත්‍ය යන්ත්‍රය සමඟ ගොනු හුවමාරු කර ගත හැකිය (Copy-VMFile PowerShell හි). සමහර ආගන්තුක මෙහෙයුම් පද්ධති සඳහා, ඇත්ත වශයෙන්ම, Windows, Virtual Machine Connection යෙදුම තුළ (vmconnect.exe) වැඩිදියුණු කළ සැසි මාදිලිය ඇත, එය RDP ප්‍රොටෝකෝලය හරහා ක්‍රියා කරන අතර ඔබට තැටි උපාංග සහ මුද්‍රණ යන්ත්‍ර අථත්‍ය යන්ත්‍රය වෙත යොමු කිරීමට මෙන්ම බෙදාගත් පසුරු පුවරුව භාවිතා කිරීමට ඉඩ සලසයි.

වැඩි දියුණු කළ සැසි ප්‍රකාරය ස්ථාපනය කිරීමෙන් පසු හයිපර්-වී හි වින්ඩෝස් හි කොටුවෙන් පිටත ක්‍රියා කරයි. Linux හි අමුත්තන් සමඟ, ඔබ vsock සඳහා සහය දක්වන RDP සේවාදායකයක් ස්ථාපනය කළ යුතුය (අධිවිශේෂකය සමඟ සන්නිවේදනය කිරීමට නිර්මාණය කර ඇති ලිනක්ස් හි විශේෂ අථත්‍ය ජාල ලිපින අවකාශය). Ubuntu සඳහා නම්, වින්ඩෝස් හි ඩෙස්ක්ටොප් සංස්කරණවල Hyper-V සමඟ එන VMCreate යෙදුමට විශේෂ සූදානම් කළ අතථ්‍ය යන්ත්‍ර අච්චුවක් ඇත, එහි RDP සේවාදායකයක් vsock සමඟ ක්‍රියාත්මක වේ. XRDP දැනටමත් පෙර ස්ථාපනය කර ඇත, පසුව වෙනත් බෙදාහැරීම් සමඟ එය අඩු හා අඩු පැහැදිලි වේ - උදාහරණයක් ලෙස, කතුවරයා මෙම තනතුර එය Fedora හි ESM සක්‍රීය කිරීමට සිදු විය. මෙහිදී අපි Arch Linux අතථ්‍ය යන්ත්‍රය සඳහා වැඩිදියුණු කළ සැසි මාදිලිය ද සක්‍රීය කරමු.

ඒකාබද්ධ සේවා ස්ථාපනය කිරීම

මෙහි සෑම දෙයක්ම වැඩි හෝ අඩු සරලයි, අපට අවශ්‍ය වන්නේ පැකේජය ස්ථාපනය කිරීමයි hyperv ප්‍රජා ගබඩාවෙන්:

% sudo pacman -S hyperv

VSS සේවා සබල කරන්න, හුවමාරු කරන්න පාරදත්ත සහ ගොනු:

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

XRDP ස්ථාපනය

ගබඩාව linux-vm-tools මත GitHub Arch Linux සහ Ubuntu සඳහා XRDP ස්ථාපනය කිරීමේ සහ වින්‍යාස කිරීමේ ක්‍රියාවලිය ස්වයංක්‍රීය කරන ස්ක්‍රිප්ට් සපයයි. Git, එය දැනටමත් ස්ථාපනය කර නොමැති නම්, අතින් සාදනු සඳහා සම්පාදක සහ වෙනත් මෘදුකාංග සමඟ ස්ථාපනය කරන්න, ඉන්පසු ගබඩාව ක්ලෝන කරන්න:

% sudo pacman -S git base-devel
% git clone https://github.com/microsoft/linux-vm-tools.git
% cd linux-vm-tools/arch

මෙය ලියන අවස්ථාව වන විට, ස්ක්‍රිප්ට් මඟින් ස්ථාපනය කර ඇති XRDP හි නවතම නිකුතුවයි makepkg.shගබඩාවේ යෝජිත 0.9.11, එහි විග්‍රහ කිරීම කැඩී ඇත vsock://-ලිපින, එබැවින් ඔබට Git වෙතින් XRDP සහ ඒ සඳහා Xorg ධාවකය AUR වෙතින් අතින් ස්ථාපනය කළ යුතුය. AUR හි පිරිනමනු ලබන XRDP සඳහා වන පැච් ද යල් පැන ගිය එකක් බැවින් ඔබට PKGBUILD සහ පැච් එක අතින් සංස්කරණය කිරීමට සිදුවේ.

අපි AUR වෙතින් PKGBUILDs සමඟ ගබඩාවන් ක්ලෝන කරමු (සාමාන්‍යයෙන් මෙම ක්‍රියා පටිපාටිය, එකලස් කිරීම සමඟ, වැනි වැඩසටහන් මගින් ස්වයංක්‍රීය වේ. yay, නමුත් කතුවරයා මෙම සම්පූර්ණ ක්‍රියා පටිපාටිය කළේ පිරිසිදු පද්ධතියක් මත ය:

% git clone https://aur.archlinux.org/xrdp-devel-git.git
% git clone https://aur.archlinux.org/xorgxrdp-devel-git.git

අපි මුලින්ම XRDP ස්ථාපනය කරමු. අපි ගොනුව විවෘත කරමු PKGBUILD ඕනෑම පෙළ සංස්කාරකයක්.

අපි ගොඩනැගීමේ පරාමිතීන් සංස්කරණය කරමු. Git වෙතින් XRDP තැනීම සඳහා වන PKGBUILD හි vsock සහාය ගොඩනැගීමට ඇතුළත් නොවේ, එබැවින් අපි එය සක්‍රිය කරමු:

 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
 }

පැච් එකක arch-config.diff, Arch Linux හි භාවිතා කරන ගොනු වෙත ගමන් මාර්ගය යටතේ ඒකක සහ XRDP ආරම්භක ස්ක්‍රිප්ට් සංස්කරණය කරන, වෙනත් දේ අතර, ස්ක්‍රිප්ටයට පැච් එකක් අඩංගු වේ. instfiles/xrdp.sh, එය ලියන අවස්ථාවේ ඉවත් කරන ලදී XRDP බෙදාහැරීමේ සිට, එම නිසා පැච් එක අතින් සංස්කරණය කළ යුතුය:

  [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

විධානය සමඟ පැකේජය ගොඩනඟා ස්ථාපනය කරන්න % makepkg --skipchecksums -si (යතුර --skipchecksums මූලාශ්‍ර ගොනු වල චෙක්සම් සත්‍යාපනය අක්‍රිය කිරීමට අවශ්‍ය වේ, මන්ද අප ඒවා අතින් සංස්කරණය කර ඇත).

අපි නාමාවලියට යමු xorgxrdp-devel-git, ඉන් පසුව අපි හුදෙක් විධානය සමඟ පැකේජය ගොඩනඟමු % makepkg -si.

අපි නාමාවලියට යමු linux-vm-tools/arch සහ පිටපත ධාවනය කරන්න install-config.sh, XRDP, PolicyKit සහ PAM සැකසුම් සකසන:

% sudo ./install-config.sh

ස්ක්‍රිප්ට් විසින් අත් හරින ලද සැකසුම ස්ථාපනය කරයි use_vsock, එය 0.9.11 අනුවාදයේ සිට නොසලකා හරිනු ලැබේ, එබැවින් අපි වින්‍යාස ගොනුව සංස්කරණය කරමු /etc/xrdp/xrdp.ini අතින්:

 ;   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

ගොනුවට එක් කරන්න ~/.xinitrc ඔබ කැමති කවුළු කළමනාකරු/ඩෙස්ක්ටොප් පරිසරය දියත් කිරීම, X සේවාදායකය ආරම්භ කළ විට ක්‍රියාත්මක වනු ඇත:

% echo "exec i3" > ~/.xinitrc

අපි virtual machine එක off කරමු. පරිපාලකයෙකු ලෙස PowerShell හි පහත විධානය ක්‍රියාත්මක කිරීමෙන් VM සඳහා vsock ප්‍රවාහනය සක්‍රීය කරන්න:

PS Admin > Set-VM -VMName НАЗВАНИЕ_МАШИНЫ -EnhancedSessionTransportType HvSocket

අපි ආයෙත් virtual machine එක on කරමු.

සම්බන්ධතාවය

පද්ධතිය ආරම්භ වූ පසු XRDP සේවාව ආරම්භ වූ වහාම, vmconnect යෙදුම මෙය තීරණය කරනු ඇති අතර මෙනු අයිතමය ලබා ගත හැකි වනු ඇත. දැක්ම -> වැඩිදියුණු කළ සැසිය. ඔබ මෙම අයිතමය තෝරාගත් විට, තිර විභේදනය සහ ටැබය මත සැකසීමට අපෙන් විමසනු ඇත දේශීය සම්පත් විවෘත වන සංවාදයේ, ඔබට RDP සැසිය තුළ ඉදිරියට යවන ලද උපාංග තෝරාගත හැක.

Hyper-V හි Arch Linux අමුත්තන් සඳහා වැඩිදියුණු කළ සැසි මාදිලිය සබල කරන්න
Hyper-V හි Arch Linux අමුත්තන් සඳහා වැඩිදියුණු කළ සැසි මාදිලිය සබල කරන්න

අපි සම්බන්ධ වෙමු. අපි XRDP පිවිසුම් කවුළුව දකිනු ඇත:

Hyper-V හි Arch Linux අමුත්තන් සඳහා වැඩිදියුණු කළ සැසි මාදිලිය සබල කරන්න

ඔබගේ පරිශීලක නාමය සහ මුරපදය ඇතුළත් කරන්න.

භාවිතා කරන්න

මෙම උපාමාරු වලින් ලැබෙන ලාභය කැපී පෙනේ: RDP සැසිය වැඩි දියුණු කළ සැසියක් නොමැතිව අථත්‍ය සංදර්ශකයක් සමඟ වැඩ කරන විට වඩා ප්‍රතිචාරාත්මකව ක්‍රියා කරයි. RDP හරහා VM තුළට යවන ලද තැටි නාමාවලියෙහි ඇත ${HOME}/shared-drives:

Hyper-V හි Arch Linux අමුත්තන් සඳහා වැඩිදියුණු කළ සැසි මාදිලිය සබල කරන්න

ක්ලිප් පුවරුව හොඳින් ක්‍රියා කරයි. ඔබට මුද්‍රණ යන්ත්‍ර ඇතුළට විසි කළ නොහැක, මෙය සහාය නොදක්වනවා පමණක් නොව තැටි ඉදිරියට යැවීම බිඳ දමයි. ශබ්දය ද ක්රියා නොකරයි, නමුත් කතුවරයාට එය අවශ්ය නොවේ. Alt + Tab වැනි යතුරුපුවරු කෙටිමං ග්‍රහණය කර ගැනීම සඳහා, ඔබ vmconnect සම්පූර්ණ තිරයට පුළුල් කළ යුතුය.

කිසියම් හේතුවක් නිසා vmconnect යෙදුම වෙනුවට වින්ඩෝස් තුළ ගොඩනගා ඇති RDP සේවාදායකයා භාවිතා කිරීමට ආශාවක් තිබේ නම් හෝ, උදාහරණයක් ලෙස, වෙනත් යන්ත්‍රයකින් මෙම යන්ත්‍රයට සම්බන්ධ කරන්න, එවිට ඔබට ගොනුව වෙනස් කිරීමට අවශ්‍ය වනු ඇත. /etc/xrdp/xrdp.ini port මත tcp://:3389. අතථ්‍ය යන්ත්‍රය පෙරනිමි ස්විචයට සම්බන්ධ කර DHCP හරහා ජාල සැකසුම් ලබා ගන්නේ නම්, ඔබට එය ධාරකයෙන් සම්බන්ධ කළ හැක название_машины.mshome.net. ඔබට TTY වෙත ලොග් විය හැක්කේ vmconnect යෙදුමෙන් වැඩිදියුණු කළ ප්‍රකාරය අක්‍රිය කිරීමෙන් පමණි.

භාවිතා කළ මූලාශ්ර:

  1. Hyper-V Arch Wiki
  2. GitHub හි දෝෂ වාර්තා: 1, 2

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න