Post

Howto config a VNC Server on Ubuntu

السلام عليكم ورحمة الله وبركاته

في عملي أحتجت الى عمل VNC Server وذلك للإتصال على الخوادم الموجودة من خلاله (رغبة المدير) … الذي كان يدير الخوادم بالشركة كان قد فعل إمكانية الإتصال بالخادم من خلال استعمال البرنامج الذي يأتي مع GNOME نفسه وأسمه على ما اذكر Vimo … لكن مشكلة إستعمال هذا البرنامج هو إنك يجب أن تقوم بعمل Login بشكل Locally لكي تتمكن من الدخول الى الخادم بشكل Remotely !!! هذه الطريقة لا تنفع إحتياجاتي لان لا أستطيع أن أقوم بالتحول من خادم الى آخر في كل مرة واقوم بتسجيل الدخول ومن ثم أدخل عليهم من حاسوبي !!!

لهذا كان لابد من البحث عن حل آخر … وبعد بحث بسيط في Google وجدت الموضوع التالي: أضغط هنا

ولهذا يعتبر هذا الموضوع عبارة عن ترجمة مع شرح بالعربي ليس إلا لما هو في ذلك الموضوع …

المرحلة الأولى: تركيب البرامج اللازمة

أول شيء قم بالدخول الى الخادم ومن ثم نفذ الأمر التالي:

sudo apt-get install vnc4server xinetd

هنا سنقوم بتركيب خدمة VNC و Xinetd … حيث سنقوم بتشغيل VNC Server من خلال xinetd …

إذا لم يكن لديك SSH Server وتريد إضافته لتكمل العمل من خلال الدخول بالـ SSH ؟ فقم بتطبيق هذا الأمر:

sudo apt-get install openssh-server

إذا كان موجود عندك، لا داعي لتطبيقه أو ربما سيقوم بعمل تحديث لما هو موجود عندك …

المرحلة الثانية: تفعيل XDMCP

هذه الخطوة لكي نفعل شاشة الدخول الى النظام gdm وذلك عندما نتصل بالخادم … قم بالبداية بتنفيذ الأمر التالي:

sudo vim /etc/gdm/gdm.conf

الآن أبحث عن كلمة RemoteGreeter وقم بحذف اشارة # من امامها لتصبح هكذا:

RemoteGreeter=/usr/lib/gdm/gdmlogin

بعد ذلك أبحث عن كلمة xdmcp وقم بتغيير القيمة من false الى true لتصبح هكذا:

[xdmcp]

Enable=true

الآن قم بإعادة تشغيل للـ gdm من خلال الأمر:

sudo /etc/init.d/gdm restart

المرحلة الثالثة: إعداد xinetd

الآن سنقوم بإنشاء ملف جديد للخدمة VNC … قم بتنفيذ الأمر التالي:

sudo vim /etc/xinetd.d/Xvnc

بعد ذلك أضغط على حرف i ومن ثم أضف السطور التالية:

service Xvnc

{

type = UNLISTED

disable = no

socket_type = stream

protocol = tcp

wait = no

user = nobody

only_from = localhost

server = /usr/bin/Xvnc

server_args = -inetd -query localhost -geometry 1024x768  -depth 16 -cc 3 -once -SecurityTypes=none -extension XFIXES

port = 5901

}

الآن قم بالضغط على Esc ومن ثم على إشارة “:” ومن ثم أضغط على x ومن ثم Enter …

الآن قم بإعادة تشغيل الخدمة xinetd من خلال الأمر التالي:

sudo  /etc/init.d/xinetd restart

المرحلة الرابعة: فحص الإتصال

الآن بسبب كوني وضعت في ملف الخدمة السطر التالي:

only_from = localhost

فإنه لن يستطيع أحد الدخول وإستعمال الـ VNC Server إلا من خلال الجهاز نفسه … ولهذا سنقوم بتمرير الخط الى الـ VNC Server من خلال إتصال SSH … إذا كنت تستعمل برنامج putty فيمكنك عمل ذلك من خلال الخطوات التالية:

أفتح برنامج putty ومن ثم أذهب الى Connections ومن ثم SSH ومن ثم Tunnels …

بعد ذلك في خانة Source Port ضع المنفذ الذي أستعملته والذي هو في مثالنا هذا 5901 …

في حقل Destination ضع localhost:5901 ومن ثم أضغط على Add …

بعد ذلك أرجع الى صفحة وضع الـ IP أو إسم الخادم الذي تريد الإتصال به وقم بإكمال عملية الإتصال بشكل طبيعي … وقم بعمل Login بمستخدمك على الخادم هناك …

الآن أرجع الى جهازك وبأي برنامج خاص بالـ VNC قم بالإتصال على localhost:5901 … وهكذا سيأخذك الى الخادم ويعرض لك شاشة الدخول gdm أدخل المستخدم وكلمة السر له وخلاص تمت العملية بنجاح …

إذا كنت تستعمل جنو/لينوكس وتريد التمرير من خلاله ؟ راجع مواضيعي السابقة حول SSH فيها جميع ما تريد … ولا حاجة لتكرار نفس المعلومات مرة أخرى …

إن شاء الله تستفيدون منها مثلما أنا أستفدت منها …

دمتم بود …

This post is licensed under CC BY 4.0 by the author.