
د مجازی ماشینونو کارول په Linux په هایپر-وي کې د بکس څخه بهر د میلمنو په پرتله یو څه لږ آرامه تجربه ده Windows-ماشینونه. د دې دلیل دا دی چې هایپر-وي په اصل کې د ډیسټاپ کارونې لپاره نه و ډیزاین شوی؛ تاسو نشئ کولی په ساده ډول د میلمنو اضافه کولو بسته نصب کړئ او د کار ګرافیک سرعت، کلپ بورډ، شریک شوي لارښودونه، او نور امتیازات ترلاسه کړئ، لکه څنګه چې تاسو د ورچوئل باکس سره کولی شئ.
Hyper-V پخپله چمتو کوي - نو ، میلمانه کولی شي د کوربه سیوري کاپي خدمت (VSS) وکاروي ، میلمانه کولی شي د بند سیګنال واستوي ، میلمانه کولی شي د سیسټم وخت د مجازی کوربه سره همغږي کړي ، فایلونه د کوربه څخه د مجازی ماشین سره تبادله کیدی شي (Copy-VMFile په پاورشیل کې). د ځینو میلمنو عملیاتي سیسټمونو لپاره، چې البته پکې شامل دي Windows، د مجازی ماشین اتصال غوښتنلیک کې (vmconnect.exe) د اصلاح شوي سیشن حالت شتون لري، د RDP پروتوکول له لارې کار کوي او تاسو ته اجازه درکوي چې ډیسک وسایل او پرنټرونه مجازی ماشین ته انتقال کړئ، او همدارنګه د ګډ کلپ بورډ څخه کار واخلئ.
د سیشن حالت ښه شوی چې له بکس څخه بهر کار کوي Windows د نصبولو وروسته سمدلاسه په هایپر-V کې. د میلمنو سره Linux تاسو اړتیا لرئ چې یو RDP سرور نصب کړئ چې د vsock ملاتړ کوي (یو ځانګړی مجازی شبکې پته ځای په Linux، د هایپروایزر سره د اړیکو لپاره ډیزاین شوی). که د Ubuntu په VMCreate اپلیکیشن کې چې د هایپر-V سره په ډیسټاپ نسخو کې راځي Windows، یو ځانګړی چمتو شوی مجازی ماشین ټیمپلیټ شتون لري چې پکې د RDP سرور د vsock سره کار کوي دمخه نصب شوی ، بیا د نورو توزیعونو سره دا لږ او لږ روښانه دی - د مثال په توګه ، لیکوال موږ په فیډورا کې د ESM فعالولو کې بریالي شو. دلته موږ د آرچ مجازی ماشین لپاره د پرمختللي سیشن حالت هم فعالوو. Linux.
د ادغام خدماتو نصب کول
دلته هرڅه لږ یا لږ ساده دي، موږ یوازې د بسته بندي نصبولو ته اړتیا لرو hyperv د ټولنې له ذخیرې څخه:
% sudo pacman -S hypervراځئ چې د VSS او تبادلې خدمتونه فعال کړو او فایلونه:
% for i in {vss,fcopy,kvp}; do sudo systemctl enable hv_${i}_daemon.service; doneد XRDP نصب کول
ذخیره په ګیټ هب کې سکریپټونه چمتو کوي چې د آرچ لپاره د XRDP نصب او تنظیم کولو پروسه اتومات کوي Linux и Ubuntuراځئ چې 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 سره ذخیره کلون کړو (عموما دا کړنلاره ، د جوړیدو سره ، د برنامو لخوا اتومات کیږي لکه ، مګر لیکوال دا ټوله کړنلاره په پاک سیسټم کې ترسره کړې):
% 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، د آرچ کې کارول شوي فایل لارې لاندې د واکمن واحدونه او د XRDP پیل سکریپټونه Linux، په سکریپټ کې یوه پیچ لري 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 ستاسو د خوښې کړکۍ مدیر / ډیسټاپ چاپیریال پیل کول ، کوم چې به اجرا شي کله چې د ایکس سرور پیل شي:
% echo "exec i3" > ~/.xinitrcراځئ چې مجازی ماشین بند کړو. موږ د مجازی ماشین لپاره د vsock ټرانسپورټ د مدیر په توګه په PowerShell کې د لاندې کمانډ په چلولو سره فعالوو:
PS Admin > Set-VM -VMName НАЗВАНИЕ_МАШИНЫ -EnhancedSessionTransportType HvSocketراځئ چې مجازی ماشین بیا چالان کړو.
Подключение
هرڅومره ژر چې د سیسټم له پیل وروسته د XRDP خدمت پیل شي ، د vmconnect غوښتنلیک به دا کشف کړي او توکي به په مینو کې شتون ولري محتویات -> پرمختللی سیشن. کله چې دا توکي غوره کړئ، موږ به د سکرین ریزولوشن تنظیم کولو ته وهڅوو، او په ټب کې ځایی سرچینې په هغه ډیالوګ کې چې خلاصیږي، تاسو کولی شئ هغه وسایل وټاکئ چې د RDP ناستې ته لیږدول کیږي.


راځئ چې وصل کړو. موږ به د XRDP د ننوتلو کړکۍ وګورو:

خپل کارن نوم او پټنوم دننه کړئ.
کارول
د دې لاسوهنو ګټه د پام وړ ده: د RDP سیشن د پرمختللي ناستې پرته د مجازی نندارې سره کار کولو په پرتله خورا ډیر ځواب ورکوونکي کار کوي. د RDP له لارې د VM دننه غورځول شوي ډیسکونه په لارښود کې شتون لري ${HOME}/shared-drives:

کلپ بورډ ښه کار کوي. تاسو نشئ کولی دننه پرنټرونه وړاندې کړئ؛ دا نه یوازې ملاتړ کیږي ، بلکه هم . اواز هم کار نه کوي، خو لیکوال دې ته اړتیا نه درلوده. د Alt+Tab په څیر د کیبورډ شارټ کټونو نیولو لپاره، تاسو اړتیا لرئ چې vmconnect بشپړ سکرین ته پراخ کړئ.
که د کوم دلیل لپاره تاسو غواړئ د جوړ شوي vmconnect غوښتنلیک پرځای وکاروئ Windows د RDP مراجع یا، د مثال په توګه، د بل ماشین څخه دې ماشین سره وصل شئ، نو تاسو به د فایل بدلولو ته اړتیا ولرئ /etc/xrdp/xrdp.ini port په tcp://:3389. که مجازی ماشین د ډیفالټ سویچ سره وصل وي او د DHCP له لارې د شبکې تنظیمات ترلاسه کړي ، نو تاسو کولی شئ له کوربه څخه دې سره وصل شئ название_машины.mshome.net. تاسو کولی شئ یوازې د vmconnect غوښتنلیک څخه TTY ته ننوتل د پرمختللي حالت په بندولو سره.
کارول شوي سرچینې:
- په GitHub کې د بګ راپورونه: ,
سرچینه: www.habr.com
