كيفية إعداد خادم VNC في Ubuntu
يعد بروتوكول حوسبة الشبكة الافتراضية (VNC) أحد الركائز الأساسية لإدارة سطح المكتب البعيد. يتيح لك تشغيل الخادم بسلاسة عن بُعد جنبًا إلى جنب مع سطح المكتب الرسومي بالكامل. نوضح لك هنا كيفية إعداد خادم VNC في Ubuntu. سنوضح أيضًا كيف يمكنك الاتصال بخادم VNC وجعله يعمل وفقًا لاحتياجاتك الخاصة.
استضافة خادم VNC محلي في Ubuntu
واحدة من أسهل الطرق لبدء تشغيل خادم VNC في Ubuntu هي من خلال ميزة “Remote Desktop”. منذ الإصدار 16.04 ، يشحن Ubuntu بالفعل بطريقة أساسية ولكنها عالية القدرة لمشاركة سطح المكتب الخاص به في شبكة محلية.
لاستخدام سطح المكتب البعيد لـ Ubuntu ، تحتاج إلى الضغط على Win ، ثم كتابة “الإعدادات”. سيؤدي هذا إلى فتح لوحة تحكم التوزيع حيث يمكنك العثور على معظم إعداداتها.
بعد ذلك ، تحتاج إلى الضغط على رمز العدسة المكبرة في الزاوية اليسرى العليا من النافذة. سيؤدي ذلك إلى ظهور مربع بحث صغير حيث يمكنك توفير اسم الإعداد الذي تريد الوصول إليه. هنا ، اكتب “مشاركة”.
بمجرد الانتهاء ، تحتاج إلى الضغط على فئة “مشاركة” على الشريط الجانبي الأيسر للنافذة. سيؤدي هذا بدوره إلى فتح مجموعة من القوائم حيث يمكنك التحكم في سياسات مشاركة Ubuntu. للوصول إلى سياسات سطح المكتب البعيد ، تحتاج إلى الضغط على قائمة “سطح المكتب البعيد”.
سيؤدي القيام بذلك إلى تحميل نافذة تراكب صغيرة حيث يمكنك تعديل وتمكين خدمة سطح المكتب البعيد لجهازك. لبدء جلسة عن بعد ، تحتاج إلى تمكين خيار “سطح المكتب البعيد”.
بعد ذلك ، تحتاج أيضًا إلى تحديد “تمكين بروتوكول VNC القديم”. سيضمن هذا أن أي عميل متصل سيكون قادرًا على التواصل بشكل صحيح مع جهازك.
أخيرًا ، تحتاج إلى تحديد خيار “التحكم عن بعد”. بشكل افتراضي ، لا يسمح سطح المكتب البعيد لـ Ubuntu للضيوف البعيدين بالتحكم في لوحة المفاتيح والماوس بالجهاز. سيؤدي تمكين هذا الخيار إلى تجاوز هذا التقييد.
ملاحظة: يأتي Windows أيضًا مع برنامج أصلي لسطح المكتب البعيد. إليك كيف يمكنك الاستفادة منها بشكل جيد.
استخدم TigerVNC للخادم البعيد
في حين أن ميزة سطح المكتب البعيد في Ubuntu مفيدة للمهام الأساسية ، فإن إحدى أكبر ميزاتها المقيدة هي أنها تعمل فقط على الشبكات المحلية. يمكن أن تكون هذه مشكلة إذا كنت تريد إما التحكم في جهازك خارج منزلك أو التحكم في خادم افتراضي خاص بعيد.
في هذا الصدد ، TigerVNC هو تنفيذ فعال وقوي لبروتوكول VNC الذي يمكن أن يعمل في الشبكات الخارجية. بخلاف إعادة توجيه التطبيقات عن بُعد باستخدام SSH ، فإنه يهدف إلى توفير طريقة بسيطة لمشاركة أجهزة كمبيوتر سطح المكتب بأكملها عبر منصات مختلفة وظروف شبكة مختلفة. على سبيل المثال ، من الممكن إنشاء خادم VNC على Linux VPS والوصول إليه من جهاز Windows محلي.
بصرف النظر عن ذلك ، صمم مطورو TigerVNC أيضًا البرنامج ليكون آمنًا بشكل افتراضي. هذا يعني أنه يمكنك بسهولة نشر TigerVNC وجعله يقوم بتشفير جميع البيانات بين الخادم وعملائه.
تثبيت TigerVNC في Ubuntu
تتمثل الخطوة الأولى في نشر خادم TigerVNC في تثبيت نسخة من البرنامج على جهازك. للقيام بذلك ، تحتاج أولاً إلى تحديث نظامك وترقيته:
sudo apt update && sudo apt upgrade
بعد ذلك ، تحتاج إلى تثبيت TigerVNC عن طريق تشغيل الأمر التالي:
sudo apt install tigervnc-standalone-server ssh xterm dbus-x11
إنشاء كلمة مرور خادم VNC
مع تثبيت TigerVNC ، يمكنك الآن إنشاء كلمة مرور رئيسية لخادمك. للقيام بذلك ، تحتاج إلى تشغيل الأمر التالي:
vncpasswd
سيعرض هذا الأمر موجهًا أعمى حيث يمكنك كتابة كلمة المرور لخادمك الجديد. من المهم ملاحظة أن الحد الأدنى لطول كلمة المرور هنا هو 6 أحرف.
بعد ذلك ، ستطلب منك المطالبة كلمة مرور “للعرض فقط”. يتيح لك هذا الخيار مشاركة سطح المكتب دون منح الضيف أي تحكم في لوحة المفاتيح والماوس بالجهاز. في حالتي ، سأقوم بتعيين هذا الخيار على “N.”
تكوين وتشغيل TigerVNC في Ubuntu
مع تعيين كلمة مرور رئيسية ، يمكنك الآن تكوين المنافذ الخاصة بالمستخدم لخادم VNC الخاص بك. يتيح لك القيام بذلك مشاركة جهازك بشكل متوازٍ عبر عملاء مختلفين.
للقيام بذلك ، تحتاج إلى فتح “/etc/tigervnc/vncserver.users” باستخدام محرر النصوص المفضل لديك:
sudo nano /etc/tigervnc/vncserver.users
بمجرد الدخول ، تحتاج إلى إنشاء مساحة لأي مستخدمين تريد إضافتهم إلى الخادم. يمكنك القيام بذلك عن طريق الضغط على Alt + / ، ثم Enter.
بعد ذلك ، يمكنك الآن إضافة المستخدمين الذين تريد ربطهم بخادم VNC الخاص بك. بالنسبة للجزء الأكبر ، تبدو البنية العامة لإضافة مستخدم جديد في TigerVNC شيئًا كالتالي:
:display=username
- تخبر قيمة العرض TigerVNC بإنشاء جهاز شاشة مزيف في منفذ عرض معين. على سبيل المثال ، تعيين قيمة على “: 1” يخبر خادم VNC بإنشاء “شاشة افتراضية” في المنفذ 1.
- تخبر قيمة اسم المستخدم TigerVNC بتخصيص جهاز الشاشة المزيف لمستخدم معين. في حالتي ، فإن كتابة السطر: 1 = ramces سيعين “الشاشة الافتراضية” في المنفذ 1 لحساب المستخدم الخاص بي.
إنشاء تكوين خادم VNC الخاص بك
بمجرد الانتهاء من ذلك ، يمكنك الآن إنشاء ملف التكوين لمستخدم VNC الخاص بك. للقيام بذلك ، تحتاج إلى تشغيل الأمر التالي:
nano /home/$USER/.vnc/xstartup
بعد ذلك ، تحتاج إلى كتابة نص برمجي قصير يقوم تلقائيًا بتحميل متغيرات البيئة الافتراضية بمجرد تشغيل TigerVNC:
#!/bin/bash PATH=/usr/bin:/usr/sbin unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec /usr/bin/gnome-session
- سيحدد السطر الأول من التعليمات البرمجية متغير PATH لجلسة سطح المكتب البعيد. وذلك لأن جلسة TigerVNC لا ترث متغير PATH من الجهاز “الأصل”.
- يضمن الخطان الثاني والثالث أن جلسة سطح المكتب البعيد الحالية لا تستخدم أي متغيرات جلسة من الجهاز “الأصل”.
- يبدأ السطر الرابع من التعليمات البرمجية بيئة سطح المكتب جنوم على سطح المكتب البعيد. على عكس البرنامج الخفي العادي ، لا تحتاج إلى تفرع هذه العملية.
بمجرد الانتهاء من ذلك ، يمكنك الآن حفظ ملف التكوين الجديد الخاص بك عن طريق الضغط على Ctrl + O ، ثم Ctrl + X.
أخيرًا ، تأكد من أن ملف التكوين الجديد الخاص بك يحتوي على بتات التنفيذ الصحيحة. يمكنك القيام بذلك عن طريق تشغيل الأمر التالي:
chmod u+x /home/$USER/.vnc/xstartup
إنشاء وبدء خدمة TigerVNC
بعد الانتهاء من ملف التكوين الخاص بك ، يمكنك الآن إنشاء خدمة SystemD لخادم VNC الخاص بك. سيسمح لك القيام بذلك بتشغيل خدمة TigerVNC تلقائيًا أثناء بدء التشغيل.
للبدء ، تحتاج أولاً إلى إنشاء ملف خدمة SystemD المناسب على “/ etc / systemd / system:”
sudo nano /etc/systemd/system/[email protected]
بعد ذلك ، تحتاج إلى كتابة نص صغير داخل ملف الخدمة هذا والذي سيحمل ملف التكوين الخاص بك:
[Service] Type=forking User=ramces Group=ramces WorkingDirectory=/home/ramces ExecStart=/usr/bin/vncserver -localhost no :%i ExecStop=/usr/bin/vncserver -kill :%i [Install] WantedBy=multi-user.target
بعد ذلك ، يمكنك الآن حفظ ملف الخدمة الجديد بالضغط على Ctrl + O ، ثم Ctrl + X.
بعد ذلك ، تحتاج إلى تعطيل واجهة المستخدم الرسومية وإعادة تشغيل جهازك. يمكنك القيام بهذين الإجراءين باستخدام الأوامر التالية:
sudo systemctl set-default multi-user sudo reboot
أخيرًا ، يمكنك الآن إعادة تحميل وتمكين إعدادات SystemD الجديدة من خلال systemctl:
sudo systemctl daemon-reload sudo systemctl enable vncserver@1 sudo systemctl start vncserver@1
تثبيت عميل TigerVNC
لتتمكن من الاتصال بخادم VNC هذا ، تحتاج إلى عميل VNC على جهاز آخر. يمكنك استخدام عميل TigerVNC:
sudo apt install tigervnc-viewer
بعد ذلك ، قم بإنشاء رابط SSH بين خادم VNC وعميلك. هذا يضمن أن اتصال VNC الخاص بك مشفر من طرف إلى طرف:
ssh -L 5901:192.168.68.155:5901 [email protected]
بعد ذلك ، يمكنك استخدام عميل TigerVNC للاتصال بالشاشة الافتراضية لخادم VNC:
vncviewer 192.168.68.155:5901
من ناحية أخرى ، تحتاج إلى حذف قيمة المنفذ إذا كنت تتصل بجهازك من خلال ميزة سطح المكتب البعيد في Ubuntu:
vncviewer 192.168.68.155
أسئلة شائعة
س 1. لا يعرض خادم VNC البعيد الخاص بي أي خطوط.
الجواب. هذه المشكلة على الأرجح بسبب مشكلة في ذاكرة التخزين المؤقت لخادمك. لإصلاح ذلك ، تحتاج إلى التأكد من أنك قمت بتثبيت جميع الخطوط الضرورية لبيئة سطح المكتب لديك.
على سبيل المثال ، يمكنك تشغيل sudo apt install Fonts-dejavu Font-dejavu-extra لتثبيت بعض الخطوط الأساسية التي تستخدمها معظم البيئات الحديثة.
س 2. يعرض عميل TigerVNC الخاص بي شاشة سوداء.
الجواب. في حين أن هذا قد يكون بسبب عدد من المشكلات ، فإن السبب الأكثر شيوعًا لهذه المشكلة هو التعارض بين شاشة Xorg المادية والظاهرية.
بشكل افتراضي ، لا يدعم TigerVNC مثيلات Xorg المتعددة. نتيجة لذلك ، لن يتمكن خادم VNC من مشاركة عرض افتراضي عندما تستخدم بيئة سطح المكتب على الخادم الخاص بك. لإصلاح ذلك في Ubuntu، يمكنك تشغيل sudo gnome-session-quit.
س 3. هل من الممكن الوصول إلى خادم VNC الخاص بي بأمان دون استخدام SSH؟
الجواب. نعم. من الممكن استخدام TigerVNC دون الاعتماد على SSH. ومع ذلك ، من المهم ملاحظة أن طريقة الاتصال الافتراضية في TigerVNC أقل أمانًا.
مع العلم بذلك ، فإن أحد الحلول التي يمكنك القيام بها هو إنشاء شهادة OpenSSL محلية. يتيح لك هذا الاستمرار في استخدام قناة مشفرة لارتباطات VNC الخاصة بك. بمجرد حصولك على شهادة X509 ، يمكنك تشغيل: vncviewer [email protected] -X509CA /path/to/cert.pem للاتصال بخادم VNC.