الرئيسية
» كيف
»
تفعيل خاصية إعادة توجيه X11 في YaST عبر SSH
تفعيل خاصية إعادة توجيه X11 في YaST عبر SSH
إذا توقف YaST عبر XIO: fatal IO error 11 (Resource temporarily unavailable)SSH، فجرّب أولاً حل Qt الموثق من SUSE QT_XCB_GL_INTEGRATION=none yast.ssh. بالنسبة لنظام SLES مثبت ووحدة YaST محددة، استخدم نفس المتغير قبل تلك الوحدة، مثل QT_XCB_GL_INTEGRATION=none yast2 disk. إذا لم يتمكن أي تطبيق رسومي من الفتح، فأصلح إعادة توجيه X11 أولاً: اتصل باستخدام ssh -X، وتأكد من أن الصدفة البعيدة تحتوي على DISPLAYقيمة ، وتحقق من تمكين إعادة توجيه X11 على الخادم.
يوثّق دليل نشر SLES 15 SP7 من SUSE هذا العطل تحديدًا في XIO، بالإضافة إلى حل Qt البديل وبديل ncurses. يظهر هذا المقطع في سياق التثبيت عن بُعد، لذا استخدمه كحلٍّ مُوجَّه لسلوك YaST-over-SSH المُطابق؛ فهو لا يُثبت أن كل فشل في تشغيل YaST له نفس السبب. تُفرِّق الفحوصات أدناه بين هذه الحالة وحالة خادم X المحلي المفقود، أو تعطيل إعادة توجيه SSH، أو مشكلة في مصادقة X.
1. تأكد من أن إعادة توجيه X11 تعمل قبل استكشاف أخطاء YaST وإصلاحها
تُرسل خاصية إعادة توجيه X11 بيانات نوافذ التطبيقات البعيدة عبر SSH إلى خادم X على جهازك المحلي. لذا، يحتاج جهازك المحلي إلى خادم X قيد التشغيل، ويجب على عميل SSH طلب إعادة التوجيه. على سطح مكتب X11، افتح نافذة طرفية جديدة وقم بالاتصال كما يلي:
ssh -X admin@server.example.com
استبدل الحساب والمضيف بحسابك وحسابك الخاص. بعد تسجيل الدخول، قم بتشغيل الأمر التالي:
echo "$DISPLAY"
تشير قيمة مثل هذه localhost:10.0إلى أن SSH قد أنشأ شاشة عرض مُعاد توجيهها. هذا مثال فقط، وليس قيمة ثابتة: قد يختلف رقم الشاشة. إذا كانت المخرجات فارغة، فسجّل الخروج وأعد الاتصال باستخدام الأمر ` -X. إذا استمرت فارغة، فراجع إعدادات SSH من جانب العميل وتكوين الخادم في القسم التالي. لا تُعيّن القيمة يدويًا DISPLAYإلى قيمة مُخمنة؛ إذ يُنشئ SSH شاشة عرض وسيطة للجلسة.
مثال على الطرفية: تحتوي الصدفة البعيدة على قيمة DISPLAY مُعاد توجيهها بعد اتصال SSH تم إجراؤه باستخدام -X.
إذا كنت تستخدم برنامج PuTTY على نظام ويندوز، فقم بتفعيل خاصية إعادة توجيه X11 في إعدادات الجلسة ضمن قسم الاتصال > SSH > X11، وتأكد من تشغيل خادم X محلي. يشير دليل نشر SUSE إلى هذا الشرط. لا يمكن للمضيف البعيد عرض نافذة إذا لم يكن لدى الجهاز المحلي خادم X، حتى في حال نجاح تسجيل الدخول عبر SSH.
2. تحقق من خادم SSH الخاص بنظام SLES ومصادقة X
على مضيف SLES، يمكن للمسؤول فحص تكوين برنامج SSH الخفي:
يجب أن تسمح سياسة الخادم الفعّالة بإعادة توجيه X11، وأن xauthتكون متاحة لعملية تسليم المصادقة. تُوثّق SUSE X11Forwarding Yesهذا الإعداد على جانب الخادم، وتُشير إلى أن SSH يُعيّن الخادم البعيد DISPLAYعند اتصال العميل . قد يُغفل -Xأمر بسيط بعض الإعدادات في ملفات التكوين المُضمّنة أو الكتل الشرطية؛ إذا بدا أن الناتج يتعارض مع السلوك، فيُرجى من مسؤول SSH فحص التكوين الفعلي بدلاً من إضافة أسطر مُكرّرة.grepMatch
مثال على الطرفية: تحقق من إعداد sshd X11Forwarding وتأكد من أن أداة xauth متوفرة على مضيف SLES.
إذا قمت بالتغيير sshd_config، فتحقق من صحة الملف قبل إعادة تحميل البرنامج الخفي:
sudo sshd -t
sudo systemctl reload sshd
لا تُشغّل هذه الأوامر إلا بصلاحيات المسؤول. أبقِ جلسة SSH الحالية مفتوحة أثناء اختبار جلسة جديدة، حتى لا يؤدي خطأ في التكوين إلى حظرك. ثم افصل الاتصال وأعد الاتصال؛ حيث يتم التفاوض على إعدادات إعادة التوجيه عند بدء جلسة SSH. تجنّب فتح منفذ TCP 6000 على الخادم أو استخدامه xhost +كاختصار. صُممت إعادة توجيه SSH لتوجيه حركة مرور X وإدارة مصادقتها؛ إذ قد يؤدي الوصول المباشر إلى X إلى كشف الشاشة لأجهزة أخرى.
3. تطبيق الحل البديل الخاص بـ YaST لـ Qt
إذا DISPLAYتم تعيينها وفتح تطبيق X آخر مُعاد توجيهه، ولكن فشل YaST مع خطأ XIO المذكور أعلاه، فجرب تجاوز البيئة الموثق لهذا التشغيل فقط:
QT_XCB_GL_INTEGRATION=none yast.ssh
بالنسبة للنظام المثبت بشكل عادي، قم بتشغيل الوحدة النمطية المطلوبة بدلاً من افتراض وجود أداة المساعدة في التثبيت. على سبيل المثال، توثق SUSE شكل هذه الوحدة النمطية:
QT_XCB_GL_INTEGRATION=none yast2 disk
مثال على الطرفية: الحل البديل لتكامل Qt XCB الموثق من قبل SUSE لـ YaST عبر SSH.
ينطبق هذا المتغير فقط على الأمر الذي يليه؛ فهو لا يُغيّر إعدادات Qt أو سياسة SSH بشكل دائم. yast.sshيستخدم نظام SUSE هذا الأمر تحديدًا في نظام التثبيت الخاص به، بينما يبدأ مضيف SLES المُثبّت عادةً وحدات YaST باستخدام الأمر ` yast2. إذا كانت وحدة أخرى لا تعمل، فاستبدل اسمها الموثّق بالأمر ` disk. لا تعتبر هذا الإعداد البيئي حلاً لمشكلة في الشاشة الفارغة DISPLAYأو لعميل لا يحتوي على خادم X.
4. استخدم واجهة نص YaST عندما لا تكون هناك حاجة إلى نافذة.
إذا كنت تحتاج فقط إلى إتمام مهام الإدارة ولا تحتاج إلى نافذة رسومية، فاستخدم واجهة ncurses الخاصة بـ YaST في طرفية SSH. بالنسبة لوحدة القرص، تجد وثائق SUSE ما يلي:
yast2 disk --ncurses
يمكنك أيضًا طلب استخدام واجهة ncurses الخلفية للوحدة بشكل صريح:
YUI_PREFERRED_BACKEND=ncurses yast2 disk
مثال على الطرفية: استدعاء وحدة قرص YaST مع الواجهة الخلفية ncurses عندما تكون واجهة المستخدم الرسومية المعاد توجيهها غير ضرورية.
تتجنب واجهة النص إعادة توجيه X11 تمامًا، وغالبًا ما تكون الخيار الأبسط للخادم البعيد. وهي لا تزال YaST وتُجري تغييرات على إعدادات النظام؛ لذا يُرجى مراجعة تغييرات القرص والتقسيم وجدار الحماية والشبكة بعناية قبل تأكيدها. بالنسبة لنظام تثبيت SLES، تُشير SUSE إلى أن YaST تُوفر واجهة ncurses عندما يكون خادم X محلي غير مُتاح.
تحقق من الإصلاح
افتح جلسة SSH جديدة ssh -X، وتأكد echo "$DISPLAY"من أن الملف غير فارغ، ثم شغّل YaST باستخدام الأمر المناسب. في حال نجاح العملية، ستظهر نافذة YaST على سطح المكتب المحلي، أو سيتم فتح وحدة ncurses في الطرفية إذا اخترتَ هذه الواجهة الخلفية. إذا كان التوجيه سليمًا ولكن لا يزال خطأ XIO موجودًا بعد تجاوز Qt، فاحفظ نص الخطأ كاملًا في الطرفية، وتحقق من ملاحظات إصدار SLES أو قاعدة معارف دعم SUSE بحثًا عن مشكلة خاصة بهذا الإصدار؛ إذ لا يمكن لهذه العملية تحديد عيب غير ذي صلة في Qt أو YaST من جزء الخطأ وحده.