كيفية إعداد توجيه X11 على نظام لينكس عبر SSH

تتيح لك خاصية إعادة توجيه X11 تشغيل تطبيق لينكس رسومي على جهاز كمبيوتر بعيد وعرض نافذته على سطح مكتبك المحلي عبر SSH. لإعدادها، فعّل خاصية إعادة التوجيه في خادم SSH البعيد، وتأكد من أن الخادم يدعم X xauth، وتحقق من أن سطح مكتبك المحلي يدعم X، ثم اتصل باستخدام الأمر المناسب ssh -X. تقوم هذه الخاصية بإعادة توجيه نوافذ التطبيقات الفردية، ولا تُنشئ جلسة سطح مكتب بعيد كاملة.

ما تحتاجه قبل إعداده

يُعتبر الحاسوب الذي تُدخل عليه أمر SSH هو العميل . وهو يحتاج إلى برنامج OpenSSH وجلسة سطح مكتب رسومية نشطة مع شاشة عرض X. توفر العديد من أنظمة Linux هذه الميزات مباشرةً أو عبر XWayland عند استخدام Wayland في الجلسة. إذا echo "$DISPLAY"لم يظهر أي شيء على سطح المكتب المحلي، فهذا يعني عدم وجود شاشة عرض متاحة لـ SSH في تلك الجلسة.

الحاسوب البعيد هو الخادم . يحتاج إلى خادم OpenSSH والأداة xauthالمساعدة لكي يتمكن SSH من إنشاء ملف تعريف ارتباط مؤقت للتفويض يُستخدم لعرض البيانات المُعاد توجيهها. على نظامي Debian أو Ubuntu، ثبّتهما على النظام البعيد باستخدام sudo apt updateالأمر `sudo src` sudo apt install openssh-server xauth. أما على توزيعة أخرى، فاستخدم مدير الحزم الخاص بها لتثبيت خادم OpenSSH والحزمة التي توفر الأداة المساعدة xauth. احتفظ بحساب تسجيل دخول SSH عادي يعمل قبل إجراء أي تغييرات على الإعدادات.

طرفية لينكس تعرض أوامر ssh و xauth الموجودة على النظام المحلي
تأكد من أن الجهاز الطرفي المحلي يمكنه تشغيل عميل OpenSSH؛ يحتاج الخادم البعيد أيضًا إلى xauth.

إعداد توجيه X11 عبر SSH

1. قم بتمكين إعادة التوجيه في إعدادات الخادم

على جهاز الكمبيوتر البعيد، قم بتحرير ملف تكوين الخادم ، عادةً /etc/ssh/sshd_configباستخدام محرر يتمتع بصلاحيات المسؤول:

sudoedit /etc/ssh/sshd_config

ابحث عن إعداد نشط موجود X11Forwardingوقم بتغييره إلى:

X11Forwarding yes

إذا لم يكن الإعداد موجودًا، فأضفه في القسم العام قبل أي كتلة. تقوم بعض التوزيعات أيضًا بتحميل Matchالملفات من `/ usr / local /etc/ssh/sshd_config.d/...MatchDisableForwarding yesX11UseLocalhost

تكوين خادم SSH مع تفعيل توجيه X11Forwarding (نعم)
يجب أن يكون إعداد الخادم موجودًا في ملف sshd_config، وليس في ملف عميل SSH المسمى ssh_config.

2. تحقق من صحة الإعدادات وأعد تحميل SSH

قبل إعادة تحميل البرنامج الخفي، تحقق من الملف بحثًا عن أخطاء في بناء الجملة وتأكد من قيمة إعادة التوجيه الفعالة:

sudo sshd -t
sudo sshd -T | grep -i '^x11forwarding'

يجب أن يُنهي الأمر الأول عمله دون أخطاء، بينما يجب أن يُبلغ الأمر الثاني عن أي خطأ x11forwarding yes. إذا كنت تستخدم Matchقواعد، فاختبر الإعدادات الفعّالة للمستخدم والاتصال المعنيين كما هو موضح في دليل OpenSSH. أصلح أي خطأ قبل إعادة التحميل حتى لا تُعطّل الوصول إلى SSH.

أعد تحميل اسم الخدمة المستخدم في توزيعتك. تستخدم توزيعتا دبيان وأوبونتو عادةً ما يلي:

sudo systemctl reload ssh

تستخدم أنظمة فيدورا وأنظمة عائلة RHEL بشكل شائع ما يلي:

sudo systemctl reload sshd

إذا لم يكن إعادة التحميل مدعومًا، فاستخدم restartنفس الخدمة. أبقِ الجلسة الحالية مفتوحة واختبر اتصالًا جديدًا قبل إغلاقها. يغطي توثيق خادم OpenSSH الخاص بنظام Ubuntu ملف الخادم ومقتطفات التكوين المستخدمة في Ubuntu.

3. الاتصال من سطح مكتب لينكس المحلي

على جهاز العميل، اطلب إعادة توجيه X11 غير الموثوق به باستخدام -X:

ssh -X user@server.example.com

استبدل اسم المستخدم والمضيف المذكورين في المثال باسمك واسم مضيفك. إذا كان خادم SSH يستمع على منفذ غير قياسي، فأضف رقم المنفذ الخاص به باستخدام الأمر التالي -p:

ssh -X -p 2222 user@server.example.com

بعد تسجيل الدخول، شغّل برنامجًا رسوميًا مُثبّتًا على الجهاز البعيد. لإجراء فحص سريع، شغّل xclockتطبيق الاختبار إن كان متوفرًا، أو شغّل برنامجًا آخر بواجهة رسومية مُثبّتًا. يقوم SSH بتعيين DISPLAYقيمة الجلسة البعيدة وإعادة توجيه اتصال X11 تلقائيًا؛ لا تنسخ قيمة العرض المحلية إلى الخادم أو تُعيّنها يدويًا.

طرفية لينكس محلية تتصل بمضيف بعيد باستخدام ssh -X
يطلب الخيار -Xإعادة توجيه X11 عند بدء جلسة SSH.
تطبيق xclock عن بعد معروض بجانب طرفية SSH على سطح مكتب Linux
يظهر تطبيق واجهة المستخدم الرسومية المُعاد توجيهه كنافذة على سطح المكتب المحلي بينما تظل جلسة SSH مفتوحة.

الأمن واستكشاف الأخطاء وإصلاحها

يُستخدم -Xافتراضيًا. -Yيُفعّل هذا الخيار إعادة التوجيه الموثوقة، مما يُزيل قيود أمان X11 ويمنح التطبيق البعيد وصولًا أوسع إلى شاشتك المحلية. استخدمه فقط مع خادم وتطبيق تثق بهما. يُحذّر OpenSSH من أن إعادة توجيه X11 قد تُعرّض شاشة العميل للهجمات؛ راجع دليل ssh ودليل ssh_config لمعرفة الفرق بين إعادة التوجيه الموثوقة وغير الموثوقة.

  • "فشل طلب إعادة توجيه X11": تحقق من القيمة الفعالة للخادم X11Forwarding، وتأكد xauthمن تثبيته على المضيف البعيد، وابحث عن Matchحظر أو DisableForwardingإعداد تقييدي.
  • DISPLAYإذا كانت الجلسة البعيدة فارغة: اقطع الاتصال ثم أعد الاتصال باستخدام الأمر المناسب ssh -X. تأكد من أن واجهة المستخدم الرسومية تعمل في الطرفية المحلية وأن الاتصال يصل إلى الخادم الذي قمت بتكوينه للتو.
  • تظهر رسالة تفيد بعدم إمكانية فتح الشاشة: تأكد من أن جلسة سطح المكتب المحلية لا تزال نشطة. لا يمكن لواجهة سطر الأوامر التي لا تملك صلاحية الوصول إلى شاشة سطح المكتب عرض النوافذ المُعاد توجيهها.
  • xclockلم يتم العثور على البرنامج: ببساطة، البرنامج التجريبي غير موجود. جرّب تطبيقًا بواجهة رسومية مثبتًا مسبقًا على الجهاز البعيد؛ هذه الرسالة وحدها لا تثبت وجود خلل في إعادة توجيه SSH.

يُعدّ توجيه X11 مناسبًا للأدوات التي تُستخدم عن بُعد بشكل متقطع، ولكن قد تُصبح التطبيقات الرسومية التي تُعيد رسم نفسها بشكل متكرر بطيئةً عند استخدام اتصال ذي زمن استجابة عالٍ. لذا، يُنصح باستخدام حلول سطح المكتب البعيد المُصممة خصيصًا لهذا الغرض، وذلك لإدارة سطح المكتب بالكامل أو للعمليات التي تتطلب معالجة رسومية مكثفة.

اترك تعليقاً

كيفية تقسيم ملفات PDF في سطر أوامر لينكس باستخدام PDFtk

كيفية تقسيم ملفات PDF في سطر أوامر لينكس باستخدام PDFtk

قم بتقسيم كل صفحة من صفحات ملف PDF إلى ملف منفصل أو استخرج نطاقات الصفحات المختارة باستخدام PDFtk على نظام Linux، وذلك باتباع إرشادات التثبيت الحالية وأمثلة الإخراج الآمنة.

كيفية تثبيت بيئة سطح المكتب UKUI على نظام لينكس

كيفية تثبيت بيئة سطح المكتب UKUI على نظام لينكس

قم بتثبيت UKUI من الأرشيف الرسمي لأوبونتو، وراجع مسار حزمة الاختبار الحالية لديبيان، وتجنب تعليمات Arch القديمة التي لم تعد تثبت سطح المكتب بالكامل.

كيفية مشاركة الملفات لاسلكيًا بين نظامي أندرويد ولينكس باستخدام KDE Connect

كيفية مشاركة الملفات لاسلكيًا بين نظامي أندرويد ولينكس باستخدام KDE Connect

قم بإقران نظام Android مع نظام Linux عبر شبكة Wi-Fi وأرسل الملفات في كلا الاتجاهين باستخدام KDE Connect، دون الحاجة إلى كابل أو خادم FTP أو حساب سحابي.

كيفية إدارة مستخدمي ومجموعات لينكس من خلال سطر الأوامر

كيفية إدارة مستخدمي ومجموعات لينكس من خلال سطر الأوامر

تعلم كيفية التحقق من عضوية مجموعات لينكس، وإنشاء المجموعات وإزالتها، وإضافة المستخدمين بأمان، والتحقق من تغييرات الحساب باستخدام الأوامر القياسية.

كيفية إعادة تعيين كلمة مرور منسية على نظام لينكس

كيفية إعادة تعيين كلمة مرور منسية على نظام لينكس

استعد الوصول إلى حساب Linux محلي باستخدام مسؤول ثانٍ أو وضع استعادة Ubuntu، وتعرف على ما لا يمكن فتحه عن طريق إعادة تعيين كلمة المرور.

كيفية ترقية نظام openSUSE إلى إصدار جديد بأمان

كيفية ترقية نظام openSUSE إلى إصدار جديد بأمان

قم بترقية نظام openSUSE Leap باستخدام أداة الترحيل الرسمية، أو قم بتحديث Tumbleweed باستخدام zypper dup. قم بعمل نسخة احتياطية أولاً، وتحقق من التوافق، وراجع تغييرات الحزم.

كيفية تثبيت بريد تروجيتا على نظام لينكس

كيفية تثبيت بريد تروجيتا على نظام لينكس

تحقق مما إذا كانت توزيعة لينكس الخاصة بك لا تزال تحتوي على حزمة Trojita، وقم ببنائها من مصدر KDE إذا لزم الأمر، وقم بتكوين IMAP وSMTP بشكل آمن.

كيفية إضافة وإزالة مصادر البرامج المخصصة على نظام التشغيل openSUSE Linux

كيفية إضافة وإزالة مصادر البرامج المخصصة على نظام التشغيل openSUSE Linux

أضف مستودعًا تابعًا لجهة خارجية إلى openSUSE باستخدام YaST أو zypper، وتحقق من مفتاح التوقيع الخاص به وقم بتحديث الإعدادات، ثم قم بإزالة المصدر بأمان عندما لا تعود بحاجة إليه.

كيفية فحص حالة القرص الصلب على نظام لينكس باستخدام تقنية SMART

كيفية فحص حالة القرص الصلب على نظام لينكس باستخدام تقنية SMART

تحقق من حالة محركات الأقراص الصلبة، ومحركات الأقراص ذات الحالة الصلبة (SSD)، ومحركات الأقراص ذات الحالة الصلبة (NVMe) باستخدام smartctl أو GNOME Disks، واقرأ تحذيرات SMART الرئيسية، وقم بتشغيل اختبار ذاتي لمحرك الأقراص بأمان.

كيفية الوصول إلى جهاز الكمبيوتر الذي يعمل بنظام لينكس عن بُعد باستخدام NoMachine

كيفية الوصول إلى جهاز الكمبيوتر الذي يعمل بنظام لينكس عن بُعد باستخدام NoMachine

قم بتثبيت NoMachine Personal Edition على مضيف Linux الخاص بك، وقم بالاتصال باستخدام NoMachine Player، وقم بإعداد شبكة محلية (LAN) أو VPN أو الوصول إلى الإنترنت مع التنشيط الحالي وإرشادات المنفذ.