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 فيها جميع ما تريد … ولا حاجة لتكرار نفس المعلومات مرة أخرى …

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

6 thoughts on “Howto config a VNC Server on Ubuntu

  1. السلام عليكم ورحمة الله وبركاته:
    كالعادة متألق يا اخوية يا ابو محمد, كان عندي تعليق بمجتمع لينوكس حبيت اضيفة بالزون هنا….عرفنا كيفية اعداد السيرفر VNC لكن ماهي برامج VNC Client التي استخدمتها؟؟؟؟ الله لا يحرمنا منك يا غالي.

  2. ما شاء الله …شكرا على الدرس … بس كان لي سؤال
    هل الإعدادات التي ذكرتها توفر لي
    multiple session vnc
    ولو أغلقت النافذة ورجعت بعد دقيقة مثلا أجد كل شئ كما تركته
    وإن كانت الإجابة بلا …كيف أعمل ذلك على الإيبونتو أو على أي توزيعة أخرى ترشحها لي
    وشكرا جزيلا

  3. شرح ولا اروع أخوي محمد ::wink::

    تابع الى الامام .. وان شاء لله تجد جميع الحلول لمشكلات

    خوادمكم … تقبل مروري ::love::

  4. شـكــ وبارك الله فيك ـــرا لك … لك مني أجمل تحية .

  5. ايمن العوادي @ وعليكم السلام ورحمة الله وبركاته
    حياك الله اخوي ايمن وأشكرك على كلامك الطيب … بخصوص الـ VNC Client عادي يا خوي Real VNC أو GTK VNC Viewer أو Ultra VNC أو Remote Desktop Viewer … يوجد كثير يا أيمن وأنت حر بإستعمالك لأحدهم … بالتوفيق لك …

    php man @ هلا أخوي … صراحة لم اجرب ذلك، ولكن عادي يا طيب سهلة عمل ذلك إن كانت هذه الطريقة لا تسمح … قم بنسخ ملف Xvnc الموجود بمجلد xinetd وغيير رقم البورت الى 5902 مثلا وقم بالشبك على هذا المنفذ الجديد … أما بخصوص غلق الشاشة والعودة لها؟ فالأفضل تجرب بنفسك، لاني أعتقد نعم يحفظ الحالة التي كنت عليها … شكراً لمرورك أخي واتمنى لك التوفيق …

    yusuf @ الله يخليك يارب أخي يوسف وإن شاء الله يفيدك …

    FoX @ الله يخليك يارب أخي الكريم، وإن شاء الله ما أواجه مشاكل أصلاً :) شكراً لمرورك اخي …

    mrloong @ ويبارك بيك أخي الكريم ويا هلا ومرحبا بك، إن شاء الله تكون أستفدت من الموضوع …

    نورتوا الزون جميعكم يا شباب …

Comments are closed.