කොටුවෙන් පිටත Hyper-V හි Linux අතථ්ය යන්ත්ර භාවිතා කිරීම ආගන්තුක වින්ඩෝස් යන්ත්රවලට වඩා තරමක් අඩු පහසුවකි. මෙයට හේතුව Hyper-V මුලින් අදහස් කළේ ඩෙස්ක්ටොප් භාවිතය සඳහා නොවේ; VirtualBox හි සිදු වන පරිදි ඔබට ඉදිරියට ගොස් ආගන්තුක එකතු කිරීම් පැකේජය ස්ථාපනය කර ක්රියා කළ හැකි ග්රැෆික් ත්වරණය, ක්ලිප්බෝඩ්, හවුල් නාමාවලි සහ ජීවිතයේ අනෙකුත් ප්රීති ලබා ගත නොහැක.
Hyper-V විසින්ම සපයයි Copy-VMFile
PowerShell හි). සමහර ආගන්තුක මෙහෙයුම් පද්ධති සඳහා, ඇත්ත වශයෙන්ම, Windows, Virtual Machine Connection යෙදුම තුළ (vmconnect.exe
) වැඩිදියුණු කළ සැසි මාදිලිය ඇත, එය RDP ප්රොටෝකෝලය හරහා ක්රියා කරන අතර ඔබට තැටි උපාංග සහ මුද්රණ යන්ත්ර අථත්ය යන්ත්රය වෙත යොමු කිරීමට මෙන්ම බෙදාගත් පසුරු පුවරුව භාවිතා කිරීමට ඉඩ සලසයි.
වැඩි දියුණු කළ සැසි ප්රකාරය ස්ථාපනය කිරීමෙන් පසු හයිපර්-වී හි වින්ඩෝස් හි කොටුවෙන් පිටත ක්රියා කරයි. Linux හි අමුත්තන් සමඟ, ඔබ vsock සඳහා සහය දක්වන RDP සේවාදායකයක් ස්ථාපනය කළ යුතුය (අධිවිශේෂකය සමඟ සන්නිවේදනය කිරීමට නිර්මාණය කර ඇති ලිනක්ස් හි විශේෂ අථත්ය ජාල ලිපින අවකාශය). Ubuntu සඳහා නම්, වින්ඩෝස් හි ඩෙස්ක්ටොප් සංස්කරණවල Hyper-V සමඟ එන VMCreate යෙදුමට විශේෂ සූදානම් කළ අතථ්ය යන්ත්ර අච්චුවක් ඇත, එහි RDP සේවාදායකයක් vsock සමඟ ක්රියාත්මක වේ.
ඒකාබද්ධ සේවා ස්ථාපනය කිරීම
මෙහි සෑම දෙයක්ම වැඩි හෝ අඩු සරලයි, අපට අවශ්ය වන්නේ පැකේජය ස්ථාපනය කිරීමයි hyperv
ප්රජා ගබඩාවෙන්:
% sudo pacman -S hyperv
VSS සේවා සබල කරන්න, හුවමාරු කරන්න
% for i in {vss,fcopy,kvp}; do sudo systemctl enable hv_${i}_daemon.service; done
XRDP ස්ථාපනය
ගබඩාව
% 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 සමඟ ගබඩාවන් ක්ලෝන කරමු (සාමාන්යයෙන් මෙම ක්රියා පටිපාටිය, එකලස් කිරීම සමඟ, වැනි වැඩසටහන් මගින් ස්වයංක්රීය වේ.
% 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
, එය ලියන අවස්ථාවේ
[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 සැසිය තුළ ඉදිරියට යවන ලද උපාංග තෝරාගත හැක.
අපි සම්බන්ධ වෙමු. අපි XRDP පිවිසුම් කවුළුව දකිනු ඇත:
ඔබගේ පරිශීලක නාමය සහ මුරපදය ඇතුළත් කරන්න.
භාවිතා කරන්න
මෙම උපාමාරු වලින් ලැබෙන ලාභය කැපී පෙනේ: RDP සැසිය වැඩි දියුණු කළ සැසියක් නොමැතිව අථත්ය සංදර්ශකයක් සමඟ වැඩ කරන විට වඩා ප්රතිචාරාත්මකව ක්රියා කරයි. RDP හරහා VM තුළට යවන ලද තැටි නාමාවලියෙහි ඇත ${HOME}/shared-drives
:
ක්ලිප් පුවරුව හොඳින් ක්රියා කරයි. ඔබට මුද්රණ යන්ත්ර ඇතුළට විසි කළ නොහැක, මෙය සහාය නොදක්වනවා පමණක් නොව
කිසියම් හේතුවක් නිසා vmconnect යෙදුම වෙනුවට වින්ඩෝස් තුළ ගොඩනගා ඇති RDP සේවාදායකයා භාවිතා කිරීමට ආශාවක් තිබේ නම් හෝ, උදාහරණයක් ලෙස, වෙනත් යන්ත්රයකින් මෙම යන්ත්රයට සම්බන්ධ කරන්න, එවිට ඔබට ගොනුව වෙනස් කිරීමට අවශ්ය වනු ඇත. /etc/xrdp/xrdp.ini
port
මත tcp://:3389
. අතථ්ය යන්ත්රය පෙරනිමි ස්විචයට සම්බන්ධ කර DHCP හරහා ජාල සැකසුම් ලබා ගන්නේ නම්, ඔබට එය ධාරකයෙන් සම්බන්ධ කළ හැක название_машины.mshome.net
. ඔබට TTY වෙත ලොග් විය හැක්කේ vmconnect යෙදුමෙන් වැඩිදියුණු කළ ප්රකාරය අක්රිය කිරීමෙන් පමණි.
භාවිතා කළ මූලාශ්ර:
Hyper-V Arch Wiki - GitHub හි දෝෂ වාර්තා:
1 ,2
මූලාශ්රය: www.habr.com