العودة إلى المدونة

تثبيت وتكوين Virtual Network Computing (VNC) على Ubuntu 20.04

تثبيت وتكوين Virtual Network Computing (VNC) على Ubuntu 20.04

إن Virtual Network Computing (VNC) هو نظام لمشاركة الشاشة يُستخدم للوصول إلى واجهات المستخدم الرسومية عن بُعد. وهو يستخدم بروتوكول مخزن إطارات البيانات المؤقت عن بُعد (RFB) مما يسمح لخادم واحد (جانب المستخدم) بالاتصال بجانب آخر (العميل). إن VNC آمن ومحمي ويعمل على جميع أنظمة التشغيل.

RealVNC, UltraVNC, Xfce, TightVNC، على سبيل المثال لا الحصر، هي عملاء VNC الأكثر شعبية المستخدمة اليوم. من بين قائمة البدائل المتاحة، أنت حر في اختيار أي VNC يناسبك. في هذا البرنامج التعليمي، سنرشدك خلال خطوات تثبيت وتكوين VNC على Ubuntu 20.04. سنقوم بتثبيت Xfce بسبب سرعته وخفته وأدائه الممتاز.

سنبدأ بإعداد خادم VNC على خادم Ubuntu وإنشاء اتصال آمن عبر نفق SSH. أخيرًا، سنستخدم برنامج عميل VNC على جهازنا المحلي للتفاعل مع الخادم من خلال بيئة سطح مكتب رسومية.

المتطلبات الأساسية

لمتابعة هذا البرنامج التعليمي، ستحتاج إلى:

الخطوة 1 — تثبيت بيئة سطح مكتب وخادم VNC

على عكس إصدارات Ubuntu السابقة، لا يأتي Ubuntu 20.04 مع VNC مثبتًا مسبقًا. كخطوة أولى، سنقوم بتثبيت الحزم اللازمة من مستودع Ubuntu الرسمي. قبل المضي قدمًا، دعنا نحدث الحزم الحالية:

الآن سنقوم بتثبيت Xfce وحزمة xfce4-goodies باستخدام الأمر:

أثناء تثبيت الحزمة، ستظهر لك شاشة تطالبك باختيار مدير عرض افتراضي لـ Xfce. تجاهل الرسالة أو اضبطها كافتراضية، ثم اضغط على ENTER.

مدير العرض هو برنامج يسمح للمستخدمين بتسجيل الدخول إلى بيئة سطح المكتب من خلال واجهة رسومية. في هذا البرنامج التعليمي، سنستخدم Xfce عند الاتصال بعميل VNC حيث قمنا بتسجيل الدخول كمستخدم Ubuntu غير جذري (non-root). لذلك، لن يكون لاختيار مدير العرض أي تأثير على التثبيت الخاص بنا.

بعد تثبيت Xfce، سنقوم بتثبيت خادم TightVNC:

في الخطوة التالية، استخدم الأمر vncserver لإعداد كلمة مرور وصول VNC وإنشاء ملفات التكوين الأولية. اكتب ما يلي لبدء تشغيل مثيل خادم VNC:

بعد ذلك، قم بإعداد كلمة مرور يتراوح طولها بين 6 و8 أحرف واضغط على ENTER. ستظهر لك رسالة مطالبة:

بعد تأكيد كلمة المرور، ستحصل على خيار لإنشاء كلمة مرور للعرض فقط. يقتصر المستخدمون الذين يسجلون الدخول باستخدام كلمة مرور العرض فقط على التحكم في VNC باستخدام الماوس أو لوحة المفاتيح. مرة أخرى، هذا مجرد أمر موصى به ويمكنك تمكينه إذا كنت بحاجة إليه، وإلا يمكنك تخطيه.

في المستقبل، إذا كنت ترغب في تغيير كلمة المرور الخاصة بك أو إضافة كلمة مرور للعرض فقط، فاستخدم الأمر:

الآن، سيكون لديك جميع التكوينات الافتراضية التي تم إنشاؤها للخادم، ومنفذ عرض 5901 تم إطلاقه كـ :1. يمكن لـ VNC إطلاق مثيلات متعددة على منافذ عرض أخرى مثل :2, :3، و :4 يشير إلى المنفذ 5902, 5903، و 5904 على التوالي:

تم الآن تثبيت خادم VNC الخاص بك وتشغيله بنجاح. في الخطوة التالية، دعنا نقوم بتكوين الخادم لتشغيل Xfce للوصول إليه من خلال الواجهة الرسومية.

الخطوة 2 — تكوين خادم VNC

تحت دليل home، ستجد مجلد .vnc الذي يحتوي على جميع ملفات التكوين المسماة startup. في البداية، ستجد ملف startup قيد التشغيل والذي تم إنشاؤه تلقائيًا عندما قمنا بتشغيل الأمر vncserver في الخطوة-1. تم إنشاء برنامج التشغيل النصي عندما قمت بتشغيل الأمر vncserver في الخطوة السابقة. ومع ذلك، ستقوم الآن بإنشاء ملفك الخاص لتشغيل سطح مكتب Xfce. سيتعين علينا أيضًا إنشاء خادمنا الخاص لتشغيل سطح مكتب Xfce لأن تكوين VNC سيتغير.

قبل المتابعة، يتعين علينا إيقاف مثيل خادم VNC الذي يعمل على المنفذ 5901:

سترى المخرجات التالية:

بدلاً من 17648، قد تحصل على رقم مختلف ولا بأس بذلك. بعد ذلك، سنقوم بتعديل ملف xstartup . قبل إجراء أي تعديلات على الملف، دعنا نأخذ نسخة احتياطية من الملف الأصلي:

بعد ذلك، قم بإنشاء ملف xstartup جديد وافتحه في أي محرر نصوص. في هذا البرنامج التعليمي، نستخدم nano:

بمجرد الانتهاء، أضف الأسطر التالية إلى الملف:

كلما قمت ببدء تشغيل خادم VNC أو إعادة تشغيله، يتم تنفيذ هذه الأوامر تلقائيًا. السطر الأول هو Shebang الذي يخبر النظام بمعلومات المفسر لتمرير ملف ~/.vnc/xstartup للتنفيذ. السطر التالي xrdb $HOME/. Xresources، يخبر إطار عمل واجهة المستخدم الرسومية لـ VNC بقراءة ملف Xresources الخاص بمستخدم الخادم. أخيرًا، يطلب السطر الأخير من الخادم تشغيل Xfce. بعد إضافة هذه الأسطر، احفظ الملف وأغلقه.

نحتاج إلى جعل الملف قابلاً للتنفيذ حتى يتمكن خادم VNC من استخدام ملف التشغيل الجديد:

بعد ذلك، أعد تشغيل خادم VNC:

الآن سيكون لديك خيار -localhost مضافًا هنا. يقوم localhost بربط خادم VNC بواجهة الاسترجاع (loopback interface) الخاصة بخادمك، مما يسمح بالاتصالات من الخوادم المثبتة فقط. بعد ذلك، سنقوم بإنشاء نفق SSH بين جهازنا المحلي والخادم. الهدف هو إضافة طبقة إضافية من الأمان حول VNC. لماذا؟ لأن المستخدمين الذين سيكون لديهم حق الوصول هم أولئك الذين لديهم بالفعل وصول SSH إلى الخادم.

سترى المخرجات التالية:

بعد إعداد التكوين، نكون جاهزين للاتصال بخادم VNC من جهازنا المحلي.

الخطوة 3 — الاتصال بأمان بسطح مكتب VNC

عند الاتصال بالخادم، لا يستخدم VNC بروتوكولات آمنة. لذلك، نحتاج إلى إنشاء نفق SSH ومطالبة عميل VNC بإجراء اتصال باستخدام النفق بدلاً من السماح له بإجراء اتصال مباشر بمفرده.

سنقوم بإنشاء اتصال SSH على جهاز الكمبيوتر المحلي الخاص بنا باستخدام الأمر ssh الذي يقوم بالتوجيه إلى اتصال localhost . استخدم الأمر الموجود على الطرفية لإنشاء اتصال SSH:

دعنا نفك تشفير الكود أعلاه:

  • -L 59000:localhost:5901: يحدد خيار -L أن المنفذ المحدد على الكمبيوتر المحلي ( 59000) سينتقل إلى المضيف والمنفذ المحددين على الخادم الوجهة ( localhost:5901). هذا يعني أن المنفذ 5901 على الخادم الوجهة سيتم تحديده كـ your_server_ip). المنفذ المحلي الذي تحدده عشوائي. طالما أن المنفذ غير مرتبط بالفعل بخدمة أخرى، فأنت حر في استخدامه كمنفذ إعادة توجيه للنفق الخاص بك.

  • -C: لتمكين الضغط مما يساعد بشكل أكبر في تقليل استهلاك الموارد وتسريع الأداء.

  • -N: مفيد لإعادة توجيه المنافذ. هذا يبلغ ssh بعدم تنفيذ أي أوامر عن بعد.

  • -l cloudsigma your_server_ip: الـ -l يتيح لك هذا المفتاح تحديد المستخدم الذي تريد تسجيل الدخول به بعد الاتصال بالخادم.

الأمر أعلاه هو طريقة أكثر أمانًا لإنشاء اتصال آمن بدلاً من مجرد فتح جدار الحماية الخاص بخادمك للسماح بالاتصالات بالمنفذ 5901 من أي مكان. بمجرد إجراء الاتصال، يقوم نفق SSH بتوجيه المحتويات من المنفذ 5901 على VNC الخاص بك إلى المنفذ 59000 على جهازك المحلي من خلال منفذ SSH الافتراضي؛ المنفذ 22.

يمكنك أيضًا استخدام PuTTY للاتصال بخادمك. افتح PuTTY، وانتقل إلى الجانب الأيسر من واجهة PuTTY وابحث عن فرع Connection للاتصال. بعد ذلك، قم بتوسيع فرع SSH وانقر على Tunnels. في شاشة Options controlling SSH port forwarding الشاشة، أدخل 59000 كـ Source Port و localhost:5901 كـ Destination:

VNC image 1

احتفظ بجميع الخيارات دون تغيير، وانقر على Add، ثم Apply لتطبيق النفق. بمجرد بدء النفق، استخدم عميل VNC للاتصال بـ localhost: 59000. بشكل افتراضي، سيُطلب منك المصادقة باستخدام كلمة المرور التي أنشأناها في الخطوة-1. بمجرد الاتصال، سترى سطح مكتب Xfce الافتراضي:

VNC 2

يمكنك الوصول إلى الملفات وإدارتها في الدليل الرئيسي. أيضًا، قم بتكوين خادم VNC الخاص بك ليعمل كـ systemd service.

الخطوة 4 — تشغيل VNC كخدمة Systemd

يتيح لك إعداد خادم VNC ليعمل كخدمة systemd إدارة الخادم. ستكون قادرًا على البدء، الإيقاف، إعادة التشغيل أو الإنهاء، وفقًا لراحتك واحتياجاتك. في كل مرة يتم فيها تشغيل الخادم، يمكنك استخدام أوامر إدارة systemd للتحقق مما إذا كان الخادم ON أو OFF.

أولاً، سنقوم بإنشاء ملف وحدة جديد لتحديد منفذ عرض VNC الذي نريد استخدامه عند إدارة الخدمات. قم بتعريف ملف الوحدة:

ستجد الرمز @ في نهاية اسم الملف، والذي يسمح لك بتمرير وسيط لاستخدام تكوين الخدمة.

بعد ذلك، أضف مجموعة الأسطر إلى ملف الوحدة. قم بإعادة تسمية User, Group, WorkingDirectory, واسم المستخدم في قيمة PIDFILE:

إذا كان VNC قيد التشغيل بالفعل، فإن الأمر ExecStartPre سيقوم بإيقافه. أما الأمر ExecStart فيقوم بتشغيل VNC ويضبط عمق الألوان على 24 بت بدقة 1280×800. يمكنك تعديل خيارات بدء التشغيل هذه بناءً على متطلباتك. لاحظ أيضًا أن الأمر ExecStart يتضمن مجددًا الخيار -localhost. بمجرد الانتهاء، احفظ ملف الوحدة وأغلقه.

بعد ذلك، قم بتعريف ملف الوحدة الجديد لنظامك:

قم بتفعيل ON ملف الوحدة:

الـ 1 الذي يلي الـ @ تشير العلامة إلى رقم الشاشة الذي يجب أن تظهر الخدمة عليه. في حالتنا، هو الافتراضي :1 كما تمت مناقشته في الخطوة-2. إذا كان VNC لا يزال قيد التشغيل، يمكنك إيقاف المثيل الحالي لخادم VNC باستخدام kill الأمر:

ثم، قم بتشغيله كما تقوم بتشغيل أي خدمة systemd أخرى:

يمكنك التحقق من أنه بدأ باستخدام هذا الأمر:

سترى المخرجات التالية:

خادم VNC الخاص بك جاهز الآن للاستخدام كلما تم تمهيد الخادم الخاص بك، ويمكنك إدارته باستخدام systemctl أوامر مثل أي خدمة systemd أخرى. ومع ذلك، لن ترى أي اختلاف من جانب العميل. لإعادة الاتصال، ابدأ تشغيل نفق SSH الخاص بك باستخدام:

يمكنك مرة أخرى إجراء اتصالات باستخدام عميل VNC الخاص بك بـ localhost:59000 مع الخادم الخاص بك.

الخاتمة

في البداية، قد يبدو إعداد خادم VNC أمرًا صعبًا، خاصة عندما تحاول الاتصال بجهاز كمبيوتر جديد. بمجرد إنشاء اتصال موثوق، سيكون العمل مع جهاز كمبيوتر بعيد أمرًا ممتعًا ومثيرًا. مع وجود خادم VNC آمن يعمل على خادم Ubuntu 20.04 الخاص بك، يمكنك بسهولة إدارة مواردك وملفاتك وبرامجك وإعداداتك بواجهة رسومية سهلة الاستخدام. قد يكون استخدام النطاق الترددي المفرط أحد عيوب استخدام VNC. يمكنك التغلب على ذلك باستخدام شاشات ذات دقة منخفضة وتدرج رمادي لنقل أسرع.

حوسبة سعيدة!

author

Shreyas Patil

المؤلف · CloudSigma

Preslav Dobrev هو مصمم إبداعي في CloudSigma، يركز على هوية أعمال متسقة باستخدام قنوات التسويق التقليدية والمبتكرة. هو بارع في دمج الرؤية الفنية مع التسويق الاستراتيجي لخلق سرد قصصي مؤثر للعلامة التجارية.

التعليقات

لا توجد تعليقات بعد. كن أول من يعلق.