Hyper-V میں آرک لینکس مہمانوں کے لیے بہتر سیشن موڈ کو فعال کریں۔

Hyper-V میں آرک لینکس مہمانوں کے لیے بہتر سیشن موڈ کو فعال کریں۔

ہائپر-وی میں لینکس ورچوئل مشینوں کا استعمال ونڈوز گیسٹ مشینوں کے استعمال کے مقابلے میں تھوڑا کم آرام دہ تجربہ ہے۔ اس کی وجہ یہ ہے کہ Hyper-V اصل میں ڈیسک ٹاپ کے استعمال کے لیے نہیں تھا۔ آپ صرف مہمانوں کے اضافے کا پیکیج انسٹال نہیں کر سکتے اور فنکشنل گرافکس ایکسلریشن، کلپ بورڈ، مشترکہ ڈائریکٹریز اور زندگی کی دوسری خوشیاں حاصل نہیں کر سکتے، جیسا کہ ورچوئل باکس میں ہوتا ہے۔

Hyper-V خود فراہم کرتا ہے۔ متعدد انضمام کی خدمات - لہذا، مہمان میزبان کی شیڈو کاپی سروس (VSS) استعمال کر سکتے ہیں، مہمان شٹ ڈاؤن سگنل بھیج سکتے ہیں، مہمان ورچوئلائزیشن ہوسٹ کے ساتھ سسٹم کے وقت کو ہم آہنگ کر سکتے ہیں، فائلوں کا تبادلہ میزبان سے ورچوئل مشین کے ساتھ کیا جا سکتا ہے (Copy-VMFile پاور شیل میں)۔ کچھ مہمان آپریٹنگ سسٹمز کے لیے، بشمول، یقیناً، ونڈوز، ورچوئل مشین کنکشن ایپلی کیشن میں (vmconnect.exe) بہتر سیشن موڈ دستیاب ہے، جو RDP پروٹوکول کے ذریعے کام کرتا ہے اور آپ کو ڈسک ڈیوائسز اور پرنٹرز کو ورچوئل مشین میں منتقل کرنے کے ساتھ ساتھ مشترکہ کلپ بورڈ استعمال کرنے کی اجازت دیتا ہے۔

انسٹالیشن کے فوراً بعد Hyper-V میں ونڈوز میں بہتر سیشن موڈ کام کرتا ہے۔ لینکس پر مہمانوں کے ساتھ، آپ کو ایک آر ڈی پی سرور انسٹال کرنے کی ضرورت ہے جو vsock کو سپورٹ کرتا ہے (لینکس میں ایک خاص ورچوئل نیٹ ورک ایڈریس اسپیس جو ہائپر وائزر کے ساتھ مواصلت کے لیے ڈیزائن کیا گیا ہے)۔ اگر VMCreate ایپلی کیشن میں Ubuntu کے لیے جو Windows کے ڈیسک ٹاپ ایڈیشنز پر Hyper-V کے ساتھ آتا ہے، تو ایک خاص تیار شدہ ورچوئل مشین ٹیمپلیٹ ہے جس میں ایک RDP سرور vsock کے ساتھ کام کرتا ہے۔ ایکس آر ڈی پی۔ پہلے سے انسٹال ہے، پھر دوسری تقسیم کے ساتھ یہ کم سے کم واضح ہے - مثال کے طور پر، مصنف یہ پوسٹ میں فیڈورا میں 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 on 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 ٹرانسپورٹ کو چالو کرتے ہیں۔

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

آئیے ورچوئل مشین کو دوبارہ آن کرتے ہیں۔

Подключение

جیسے ہی سسٹم شروع ہونے کے بعد XRDP سروس شروع ہوتی ہے، vmconnect ایپلیکیشن اس کا پتہ لگائے گی اور آئٹم مینو میں دستیاب ہو جائے گی۔ لنک -> بہتر سیشن. اس آئٹم کو منتخب کرتے وقت، ہمیں اسکرین ریزولوشن سیٹ کرنے کے لیے کہا جائے گا، اور ٹیب پر مقامی وسائل کھلنے والے ڈائیلاگ میں، آپ آر ڈی پی سیشن میں آگے بھیجنے کے لیے آلات منتخب کر سکتے ہیں۔

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 - آرک وکی
  2. GitHub پر بگ رپورٹس: 1, 2

ماخذ: www.habr.com

نیا تبصرہ شامل کریں