گرافیکل انٹرفیس کے ساتھ لینکس پر VPS: Ubuntu 18.04 پر VNC سرور لانچ کرنا

گرافیکل انٹرفیس کے ساتھ لینکس پر VPS: Ubuntu 18.04 پر VNC سرور لانچ کرنا
کچھ صارفین ریموٹ ڈیسک ٹاپ سروسز چلانے کے لیے ونڈوز کے ساتھ نسبتاً سستا VPS کرایہ پر لیتے ہیں۔ لینکس پر ڈیٹا سینٹر میں اپنے ہارڈویئر کی میزبانی کیے بغیر یا سرشار سرور کرایہ پر لیے بغیر بھی ایسا ہی کیا جا سکتا ہے۔ کچھ لوگوں کو جانچ اور ترقی کے لیے ایک مانوس گرافیکل ماحول، یا موبائل آلات سے کام کرنے کے لیے ایک وسیع چینل کے ساتھ ریموٹ ڈیسک ٹاپ کی ضرورت ہوتی ہے۔ ریموٹ فریم بفر (RFB) پروٹوکول پر مبنی ورچوئل نیٹ ورک کمپیوٹنگ (VNC) سسٹم کو استعمال کرنے کے بہت سے اختیارات ہیں۔ اس مختصر مضمون میں ہم آپ کو بتائیں گے کہ اسے کسی بھی ہائپر وائزر کے ساتھ ورچوئل مشین پر کنفیگر کرنے کا طریقہ۔

فہرست کا خانہ:

VNC سرور کا انتخاب
تنصیب اور ترتیب
systemd کے ذریعے سروس شروع کرنا
ڈیسک ٹاپ کنکشن

VNC سرور کا انتخاب

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

تنصیب اور ترتیب

ہمیں اس کی ڈیفالٹ کنفیگریشن میں Ubuntu Server 18.04 LTS کے ساتھ ایک ورچوئل مشین کی ضرورت ہوگی۔ اس تقسیم کے معیاری ذخیروں میں کئی VNC سرورز ہیں: ٹائٹ وی این سی, ٹائیگر وی این سی, x11vnc اور دوسرے. ہم ٹائیگر وی این سی پر آباد ہوئے - ٹائٹ وی این سی کا ایک موجودہ فورک، جو ڈویلپر کے ذریعہ تعاون یافتہ نہیں ہے۔ دوسرے سرورز کی ترتیب اسی طرح کی جاتی ہے۔ آپ کو ایک ڈیسک ٹاپ ماحول کا انتخاب کرنے کی بھی ضرورت ہے: کمپیوٹنگ وسائل کے لیے نسبتاً کم تقاضوں کی وجہ سے، ہماری رائے میں، بہترین آپشن XFCE ہوگا۔ جو لوگ چاہتے ہیں وہ دوسرا DE یا WM انسٹال کر سکتے ہیں: یہ سب ذاتی ترجیحات پر منحصر ہے، لیکن سافٹ ویئر کا انتخاب براہ راست RAM اور کمپیوٹنگ کور کی ضرورت کو متاثر کرتا ہے۔

گرافیکل انٹرفیس کے ساتھ لینکس پر VPS: Ubuntu 18.04 پر VNC سرور لانچ کرنا

ڈیسک ٹاپ ماحول کو تمام انحصار کے ساتھ انسٹال کرنا مندرجہ ذیل کمانڈ کے ساتھ کیا جاتا ہے:

sudo apt-get install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils

اگلا آپ کو VNC سرور انسٹال کرنے کی ضرورت ہے:

sudo apt-get install tigervnc-standalone-server tigervnc-common

اسے سپر یوزر کے طور پر چلانا برا خیال ہے۔ ایک صارف اور گروپ بنائیں:

sudo adduser vnc

گرافیکل انٹرفیس کے ساتھ لینکس پر VPS: Ubuntu 18.04 پر VNC سرور لانچ کرنا

آئیے صارف کو sudo گروپ میں شامل کریں تاکہ وہ انتظامیہ سے متعلقہ کام انجام دے سکے۔ اگر ایسی کوئی ضرورت نہیں ہے تو، آپ اس قدم کو چھوڑ سکتے ہیں:

sudo gpasswd -a vnc sudo

اگلا مرحلہ ~/.vnc/ ڈائرکٹری میں محفوظ پاس ورڈ اور کنفیگریشن فائلیں بنانے کے لیے VNC سرور کو vnc صارف کے مراعات کے ساتھ چلانا ہے۔ پاس ورڈ کی لمبائی 6 سے 8 حروف تک ہوسکتی ہے (اضافی حروف کو کاٹ دیا گیا ہے)۔ اگر ضروری ہو تو، ایک پاس ورڈ بھی صرف دیکھنے کے لیے مقرر کیا جاتا ہے، یعنی کی بورڈ اور ماؤس تک رسائی کے بغیر۔ مندرجہ ذیل کمانڈز کو vnc صارف کے طور پر عمل میں لایا جاتا ہے:

su - vnc
vncserver -localhost no

گرافیکل انٹرفیس کے ساتھ لینکس پر VPS: Ubuntu 18.04 پر VNC سرور لانچ کرنا
پہلے سے طے شدہ طور پر، RFB پروٹوکول TCP پورٹ رینج 5900 سے 5906 تک استعمال کرتا ہے - یہ نام نہاد ہے۔ ڈسپلے پورٹس، ہر ایک X سرور اسکرین سے مطابقت رکھتا ہے۔ اس صورت میں، بندرگاہیں :0 سے :6 تک کی اسکرینوں سے وابستہ ہیں۔ ہم نے جو VNC سرور مثال شروع کی ہے وہ پورٹ 5901 (اسکرین: 1) کو سنتا ہے۔ دوسری مثالیں اسکرینوں کے ساتھ دوسری بندرگاہوں پر کام کر سکتی ہیں :2، :3، وغیرہ۔ مزید کنفیگریشن سے پہلے، آپ کو سرور کو روکنے کی ضرورت ہے:

vncserver -kill :1

کمانڈ کو کچھ اس طرح دکھانا چاہئے: "Xtigervnc پروسیس ID 18105 کو مارنا... کامیابی!"

جب TigerVNC شروع ہوتا ہے، یہ کنفیگریشن سیٹنگز کو کنفیگر کرنے کے لیے ~/.vnc/xstartup اسکرپٹ چلاتا ہے۔ آئیے اپنی اسکرپٹ بنائیں، پہلے موجودہ کی بیک اپ کاپی محفوظ کریں، اگر یہ موجود ہے:

mv ~/.vnc/xstartup ~/.vnc/xstartup.b
nano ~/.vnc/xstartup

XFCE ڈیسک ٹاپ ماحول کا سیشن درج ذیل xstartup اسکرپٹ سے شروع ہوتا ہے۔

#!/bin/bash
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
xrdb $HOME/.Xresources
exec /usr/bin/startxfce4 &

ہوم ڈائرکٹری میں .Xresources فائل کو پڑھنے کے لیے VNC کے لیے xrdb کمانڈ کی ضرورت ہے۔ وہاں صارف مختلف گرافیکل ڈیسک ٹاپ سیٹنگز کی وضاحت کر سکتا ہے: فونٹ رینڈرنگ، ٹرمینل کلرز، کرسر تھیمز وغیرہ۔ اسکرپٹ کو قابل عمل بنایا جانا چاہیے:

chmod 755 ~/.vnc/xstartup

یہ VNC سرور سیٹ اپ کو مکمل کرتا ہے۔ اگر آپ اسے vncserver -localhost no (بطور vnc صارف) کمانڈ کے ساتھ چلاتے ہیں، تو آپ پہلے سے مخصوص پاس ورڈ کے ساتھ جڑ سکتے ہیں اور درج ذیل تصویر دیکھ سکتے ہیں:

گرافیکل انٹرفیس کے ساتھ لینکس پر VPS: Ubuntu 18.04 پر VNC سرور لانچ کرنا

systemd کے ذریعے سروس شروع کرنا

VNC سرور کو دستی طور پر شروع کرنا جنگی استعمال کے لیے موزوں نہیں ہے، اس لیے ہم سسٹم سروس کو ترتیب دیں گے۔ کمانڈز کو روٹ کے بطور عمل میں لایا جاتا ہے (ہم sudo استعمال کرتے ہیں)۔ سب سے پہلے، آئیے اپنے سرور کے لیے ایک نئی یونٹ فائل بنائیں:

sudo nano /etc/systemd/system/[email protected]

نام میں @ علامت آپ کو سروس کو کنفیگر کرنے کے لیے ایک دلیل پاس کرنے کی اجازت دیتا ہے۔ ہمارے معاملے میں، یہ VNC ڈسپلے پورٹ کی وضاحت کرتا ہے۔ یونٹ فائل کئی حصوں پر مشتمل ہے:

[Unit]
Description=TigerVNC server
After=syslog.target network.target

[Service]
Type=simple
User=vnc 
Group=vnc 
WorkingDirectory=/home/vnc 
PIDFile=/home/vnc/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x960 :%i
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

پھر آپ کو سسٹمڈ کو نئی فائل کے بارے میں مطلع کرنے اور اسے چالو کرنے کی ضرورت ہے:

sudo systemctl daemon-reload
sudo systemctl enable [email protected]

نام میں نمبر 1 اسکرین نمبر کی وضاحت کرتا ہے۔

VNC سرور کو روکیں، اسے بطور سروس شروع کریں اور اسٹیٹس چیک کریں:

# от имени пользователя vnc 
vncserver -kill :1

# с привилегиями суперпользователя
sudo systemctl start vncserver@1
sudo systemctl status vncserver@1

اگر سروس چل رہی ہے تو ہمیں کچھ اس طرح ملنا چاہیے۔

گرافیکل انٹرفیس کے ساتھ لینکس پر VPS: Ubuntu 18.04 پر VNC سرور لانچ کرنا

ڈیسک ٹاپ کنکشن

ہماری ترتیب خفیہ کاری کا استعمال نہیں کرتی ہے، لہذا نیٹ ورک پیکٹ حملہ آوروں کے ذریعے روکے جا سکتے ہیں۔ اس کے علاوہ، VNC سرورز میں اکثر کمزوریوں کو تلاش کریں، لہذا آپ کو انہیں انٹرنیٹ سے رسائی کے لیے نہیں کھولنا چاہیے۔ اپنے مقامی کمپیوٹر پر محفوظ طریقے سے جڑنے کے لیے، آپ کو ٹریفک کو ایک SSH ٹنل میں پیک کرنے اور پھر VNC کلائنٹ کو ترتیب دینے کی ضرورت ہے۔ ونڈوز پر، آپ گرافیکل SSH کلائنٹ (مثال کے طور پر، PuTTY) استعمال کر سکتے ہیں۔ سیکیورٹی کے لیے، سرور پر ٹائیگر وی این سی صرف لوکل ہوسٹ کو سنتا ہے اور عوامی نیٹ ورکس سے براہ راست قابل رسائی نہیں ہے۔


sudo netstat -ap |more

گرافیکل انٹرفیس کے ساتھ لینکس پر VPS: Ubuntu 18.04 پر VNC سرور لانچ کرنا
لینکس، فری بی ایس ڈی، او ایس ایکس اور دیگر UNIX جیسے OS میں، کلائنٹ کمپیوٹر سے ایک سرنگ ssh یوٹیلیٹی کا استعمال کرتے ہوئے بنائی جاتی ہے (sshd لازمی طور پر VNC سرور پر چل رہا ہو):

ssh -L 5901:127.0.0.1:5901 -C -N -l vnc vnc_server_ip

-L آپشن پورٹ 5901 کے ریموٹ کنکشن کو لوکل ہوسٹ پر پورٹ 5901 سے منسلک کرتا ہے۔ -C آپشن کمپریشن کو قابل بناتا ہے، اور -N آپشن ssh سے کہتا ہے کہ ریموٹ کمانڈ پر عمل نہ کرے۔ -l آپشن ریموٹ لاگ ان کے لیے لاگ ان کی وضاحت کرتا ہے۔

مقامی کمپیوٹر پر سرنگ قائم کرنے کے بعد، آپ کو VNC کلائنٹ کو لانچ کرنے اور میزبان 127.0.0.1:5901 (localhost:5901) سے کنکشن قائم کرنے کی ضرورت ہے، VNC سرور تک رسائی کے لیے پہلے سے مخصوص پاس ورڈ کا استعمال کرتے ہوئے۔ اب ہم VPS پر XFCE گرافیکل ڈیسک ٹاپ ماحول کے ساتھ ایک انکرپٹڈ ٹنل کے ذریعے محفوظ طریقے سے بات چیت کر سکتے ہیں۔ اسکرین شاٹ میں، ورچوئل مشین کے کمپیوٹنگ وسائل کی کم استعمال کو دکھانے کے لیے ٹرمینل ایمولیٹر میں ٹاپ یوٹیلیٹی چل رہی ہے۔ پھر سب کچھ صارف کی درخواستوں پر منحصر ہوگا۔

گرافیکل انٹرفیس کے ساتھ لینکس پر VPS: Ubuntu 18.04 پر VNC سرور لانچ کرنا
آپ تقریباً کسی بھی VPS پر لینکس میں VNC سرور انسٹال اور کنفیگر کر سکتے ہیں۔ اس کے لیے ویڈیو اڈاپٹر ایمولیشن یا کمرشل سافٹ ویئر لائسنس کی خریداری کے ساتھ مہنگی اور وسائل سے بھرپور کنفیگریشن کی ضرورت نہیں ہے۔ سسٹم سروس آپشن کے علاوہ جس پر ہم نے غور کیا، وہاں اور بھی ہیں: ڈیمون موڈ میں لانچ کریں (بذریعہ /etc/rc.local) جب سسٹم بوٹ ہوتا ہے یا inetd کے ذریعے ڈیمانڈ ہوتا ہے۔ مؤخر الذکر کثیر صارف کنفیگریشن بنانے کے لیے دلچسپ ہے۔ انٹرنیٹ سپرسرور VNC سرور شروع کرے گا اور کلائنٹ کو اس سے جوڑ دے گا، اور VNC سرور ایک نئی اسکرین بنائے گا اور سیشن شروع کرے گا۔ اس کے اندر تصدیق کرنے کے لیے، آپ گرافیکل ڈسپلے مینیجر استعمال کر سکتے ہیں (مثال کے طور پر، LightDM)، اور کلائنٹ کو منقطع کرنے کے بعد، سیشن بند ہو جائے گا اور اسکرین کے ساتھ کام کرنے والے تمام پروگرام بند کر دیے جائیں گے۔

گرافیکل انٹرفیس کے ساتھ لینکس پر VPS: Ubuntu 18.04 پر VNC سرور لانچ کرنا

ماخذ: www.habr.com

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