په Hyper-V کې د آرک لینکس میلمنو لپاره د پرمختللي سیشن حالت فعال کړئ

په Hyper-V کې د آرک لینکس میلمنو لپاره د پرمختللي سیشن حالت فعال کړئ

د بکس څخه بهر په هایپر-V کې د لینکس مجازی ماشینونو کارول د وینډوز میلمنو ماشینونو کارولو په پرتله یو څه لږ راحته تجربه ده. د دې دلیل دا دی چې Hyper-V په اصل کې د ډیسټاپ کارولو لپاره نه و؛ تاسو نشئ کولی یوازې د میلمنو اضافه کولو کڅوړه نصب کړئ او د ګرافیک ګړندی فعالیت ، کلپ بورډ ، شریک لارښودونه او د ژوند نورې خوښۍ ترلاسه کړئ ، لکه څنګه چې په ورچوئل بکس کې پیښیږي.

Hyper-V پخپله چمتو کوي د ادغام څو خدمتونه - نو ، میلمانه کولی شي د کوربه سیوري کاپي خدمت (VSS) وکاروي ، میلمانه کولی شي د بند سیګنال واستوي ، میلمانه کولی شي د سیسټم وخت د مجازی کوربه سره همغږي کړي ، فایلونه د کوربه څخه د مجازی ماشین سره تبادله کیدی شي (Copy-VMFile په PowerShell کې). د ځینو میلمنو عملیاتي سیسټمونو لپاره، په شمول، البته، وینډوز، د مجازی ماشین ارتباط غوښتنلیک کې (vmconnect.exe) د اصلاح شوي سیشن حالت شتون لري، د RDP پروتوکول له لارې کار کوي او تاسو ته اجازه درکوي چې ډیسک وسایل او پرنټرونه مجازی ماشین ته انتقال کړئ، او همدارنګه د ګډ کلپ بورډ څخه کار واخلئ.

د سیشن موډ د نصبولو سمدستي وروسته په Hyper-V کې په وینډوز کې د بکس څخه بهر کار کوي. په لینکس کې د میلمنو سره ، تاسو اړتیا لرئ د RDP سرور نصب کړئ چې د vsock ملاتړ کوي (په لینکس کې د ځانګړي مجازی شبکې پته ځای د هایپروایزر سره د اړیکو لپاره ډیزاین شوی). که د اوبنټو لپاره د VMCreate غوښتنلیک کې چې د وینډوز ډیسټاپ نسخو کې د Hyper-V سره راځي ، نو د ځانګړي چمتو شوي مجازی ماشین ټیمپلیټ شتون لري په کوم کې چې د RDP سرور د vsock سره کار کوي. XRDP دمخه نصب شوی ، بیا د نورو توزیعونو سره دا لږ او لږ روښانه دی - د مثال په توګه ، لیکوال دا پوسټ ما په فیډورا کې د ESM فعالولو اداره وکړه. دلته به موږ د آرچ لینکس مجازی ماشین لپاره د پرمختللي سیشن حالت فعال کړو.

د ادغام خدماتو نصب کول

دلته هرڅه لږ یا لږ ساده دي، موږ یوازې د بسته بندي نصبولو ته اړتیا لرو 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 کې سکریپټونه چمتو کوي چې د آرچ لینکس او اوبنټو لپاره د 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 سره ذخیره کلون کړو (عموما دا کړنلاره ، د جوړیدو سره ، د برنامو لخوا اتومات کیږي لکه هو، مګر لیکوال دا ټوله کړنلاره په پاک سیسټم کې ترسره کړې):

% 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 لانچ سکریپټونه اداره کوي ، په سکریپټ کې پیچ هم لري 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 ناستې ته لیږدول کیږي.

په Hyper-V کې د آرک لینکس میلمنو لپاره د پرمختللي سیشن حالت فعال کړئ
په Hyper-V کې د آرک لینکس میلمنو لپاره د پرمختللي سیشن حالت فعال کړئ

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

په Hyper-V کې د آرک لینکس میلمنو لپاره د پرمختللي سیشن حالت فعال کړئ

خپل کارن نوم او پټنوم دننه کړئ.

کارول

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

په Hyper-V کې د آرک لینکس میلمنو لپاره د پرمختللي سیشن حالت فعال کړئ

کلپ بورډ ښه کار کوي. تاسو نشئ کولی دننه پرنټرونه وړاندې کړئ؛ دا نه یوازې ملاتړ کیږي ، بلکه هم د ډیسک فارورډینګ ماتوي. اواز هم کار نه کوي، خو لیکوال دې ته اړتیا نه درلوده. د Alt+Tab په څیر د کیبورډ شارټ کټونو نیولو لپاره، تاسو اړتیا لرئ چې vmconnect بشپړ سکرین ته پراخ کړئ.

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

کارول شوي سرچینې:

  1. Hyper-V - Arch Wiki
  2. په GitHub کې د بګ راپورونه: 1, 2

سرچینه: www.habr.com

Add a comment