ทำให้การส่งต่อ 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 จะสร้างจอแสดงผลพร็อกซีสำหรับเซสชันนั้น

เทอร์มินัล SSH เชื่อมต่อด้วยคำสั่ง ssh -X และยืนยันว่า DISPLAY คือ localhost:10.0
ตัวอย่างในเทอร์มินัล: เชลล์ระยะไกลมีค่า DISPLAY ที่ส่งต่อมาหลังจากเชื่อมต่อ SSH ด้วยตัวเลือก -X

หากคุณใช้ PuTTY บน Windows ให้เปิดใช้งานการส่งต่อ X11 ในการตั้งค่าการเชื่อมต่อ > SSH > X11 ของเซสชัน และตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ X ในเครื่องกำลังทำงานอยู่ คู่มือการติดตั้งของ SUSE ระบุข้อกำหนดนี้ไว้ โฮสต์ระยะไกลจะไม่สามารถแสดงหน้าต่างได้หากเครื่องในเครื่องไม่มีเซิร์ฟเวอร์ X แม้ว่าการเข้าสู่ระบบ SSH จะสำเร็จก็ตาม

2. ตรวจสอบเซิร์ฟเวอร์ SSH ของ SLES และการตรวจสอบสิทธิ์ X

บนโฮสต์ SLES ผู้ดูแลระบบสามารถตรวจสอบการกำหนดค่าของ SSH daemon ได้:

sudo grep -i '^X11Forwarding' /etc/ssh/sshd_config
command -v xauth

นโยบายเซิร์ฟเวอร์ที่มีผลบังคับใช้ต้องอนุญาตการส่งต่อ X11 และxauthต้องพร้อมใช้งานสำหรับการส่งต่อการตรวจสอบสิทธิ์ เอกสารของ SUSE X11Forwarding Yesระบุการตั้งค่าฝั่งเซิร์ฟเวอร์และหมายเหตุว่า SSH จะตั้งค่ารีโมตDISPLAYเมื่อไคลเอ็นต์เชื่อมต่อ การตั้งค่า-Xแบบง่ายๆgrepอาจพลาดการตั้งค่าในไฟล์การกำหนดค่าที่รวมอยู่หรือMatchบล็อกเงื่อนไข หากเอาต์พุตดูเหมือนจะขัดแย้งกับพฤติกรรม ให้ผู้ดูแลระบบ SSH ตรวจสอบการกำหนดค่าที่มีผลบังคับใช้แทนที่จะเพิ่มบรรทัดที่ซ้ำซ้อน

เทอร์มินัลจะตรวจสอบว่า X11Forwarding ถูกตั้งค่าเป็น yes และติดตั้งคำสั่ง xauth แล้ว
ตัวอย่างการใช้งานในเทอร์มินัล: ตรวจสอบการตั้งค่า sshd X11Forwarding และยืนยันว่ายูทิลิตี้ xauth พร้อมใช้งานบนโฮสต์ SLES แล้ว

หากคุณทำการเปลี่ยนแปลงใดๆsshd_configโปรดตรวจสอบความถูกต้องของไฟล์ก่อนที่จะโหลดเดมอนใหม่:

sudo sshd -t
sudo systemctl reload sshd

เรียกใช้คำสั่งเหล่านี้ด้วยสิทธิ์ผู้ดูแลระบบเท่านั้น ในระหว่างการทดสอบเซสชัน SSH ใหม่ ให้เปิดเซสชัน 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
อินเทอร์เฟซ YaST SSH เริ่มทำงานโดยตั้งค่า QT_XCB_GL_INTEGRATION เป็น none
ตัวอย่างการใช้งานในเทอร์มินัล: วิธีแก้ปัญหาการผสานรวม 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
ตัวอย่างการใช้งานในเทอร์มินัล: เรียกใช้โมดูลดิสก์ YaST โดยใช้แบ็กเอนด์ ncurses เมื่อไม่จำเป็นต้องใช้ GUI ที่ส่งต่อมา

อินเทอร์เฟซแบบข้อความหลีกเลี่ยงการส่งต่อ X11 โดยสิ้นเชิง และมักเป็นตัวเลือกที่ง่ายที่สุดสำหรับเซิร์ฟเวอร์ระยะไกล มันยังคงเป็น YaST และยังคงเปลี่ยนแปลงการกำหนดค่าระบบ โปรดตรวจสอบการเปลี่ยนแปลงดิสก์ พาร์ติชั่น ไฟร์วอลล์ และเครือข่ายอย่างรอบคอบก่อนยืนยัน สำหรับระบบการติดตั้ง SLES ทาง SUSE กล่าวว่า YaST มีอินเทอร์เฟซ ncurses เมื่อไม่มีเซิร์ฟเวอร์ X ในเครื่อง

ตรวจสอบการแก้ไข

เปิดเซสชัน SSH ใหม่โดยใช้ คำสั่ง ssh -X`ssh_name` ตรวจสอบecho "$DISPLAY"ว่า `ssh_name` ไม่ว่างเปล่า จากนั้นเรียกใช้ YaST โดยใช้คำสั่งที่เหมาะสม หากสำเร็จ หน้าต่าง YaST จะปรากฏบนเดสก์ท็อปในเครื่อง หรือโมดูล ncurses จะเปิดขึ้นในเทอร์มินัลหากคุณเลือกแบ็กเอนด์นั้น หากการส่งต่อทำงานได้ปกติ แต่ข้อผิดพลาด XIO ยังคงอยู่หลังจากแก้ไขด้วย Qt แล้ว ให้บันทึกข้อผิดพลาดในเทอร์มินัลทั้งหมดและตรวจสอบบันทึกการเผยแพร่ SLES หรือฐานความรู้การสนับสนุน SUSE สำหรับปัญหาเฉพาะรุ่น ขั้นตอนนี้ไม่สามารถระบุข้อบกพร่องของ Qt หรือ YaST ที่ไม่เกี่ยวข้องจากส่วนของข้อผิดพลาดเพียงอย่างเดียวได้

ข้อมูลอ้างอิงอย่างเป็นทางการ

ฝากความเห็น

เมื่อ SLES Btrfs เข้าสู่โหมดอ่านอย่างเดียว: ตรวจสอบหาสาเหตุก่อนทำการเมานต์ใหม่

เมื่อ SLES Btrfs เข้าสู่โหมดอ่านอย่างเดียว: ตรวจสอบหาสาเหตุก่อนทำการเมานต์ใหม่

ตรวจสอบว่า Btrfs ถูกตั้งค่าเป็นโหมดอ่านอย่างเดียวโดยเจตนา พื้นที่เหลือน้อย หรือกำลังปกป้องข้อมูลหลังเกิดข้อผิดพลาด จากนั้นเลือกวิธีการกู้คืนที่เหมาะสมกับสาเหตุ

ลงทะเบียน SLES 15 กับ SUSE Manager ในเครือข่ายออฟไลน์

ลงทะเบียน SLES 15 กับ SUSE Manager ในเครือข่ายออฟไลน์

เตรียมช่องสัญญาณจำลอง สร้างคีย์การเปิดใช้งาน และบูตสแตรปไคลเอ็นต์ SLES 15 โดยไม่ต้องเข้าถึงอินเทอร์เน็ตโดยตรง ในขณะที่ยังคงรักษาการเชื่อมต่อที่จำเป็นสำหรับการเช็คอินของผู้จัดการไว้

ทำให้การส่งต่อ X11 ของ YaST ใช้งานได้ผ่าน SSH

ทำให้การส่งต่อ X11 ของ YaST ใช้งานได้ผ่าน SSH

แก้ไขข้อผิดพลาดในการเปิดใช้งาน XIO ของ YaST ผ่าน SSH ตรวจสอบการส่งต่อ X11 และ xauth และสลับไปใช้ส่วนติดต่อ ncurses เมื่อไม่จำเป็นต้องใช้หน้าต่างระยะไกล

ย้อนกลับการอัปเดต SLES ที่ล้มเหลวอย่างปลอดภัยด้วย Snapper

ย้อนกลับการอัปเดต SLES ที่ล้มเหลวอย่างปลอดภัยด้วย Snapper

ค้นหาสแนปช็อต Btrfs ก่อนการอัปเดต ทดสอบในโหมดอ่านอย่างเดียว และทำให้การกู้คืนเป็นแบบถาวรด้วย Snapper พร้อมทั้งทำความเข้าใจว่าข้อมูลใดบ้างที่อยู่นอกเหนือการย้อนกลับแบบรูท

การส่งต่อ Syslog ของ SLES อย่างปลอดภัยด้วย rsyslog และ Mutual TLS

การส่งต่อ Syslog ของ SLES อย่างปลอดภัยด้วย rsyslog และ Mutual TLS

ส่งบันทึกระบบ SLES ไปยังตัวเก็บรวบรวม rsyslog ระยะไกลผ่าน TLS ที่มีการตรวจสอบสิทธิ์ พร้อมด้วยการตรวจสอบใบรับรอง การบัฟเฟอร์เมื่อระบบขัดข้อง และการทดสอบการส่งมอบ

ตรวจสอบข้อผิดพลาดเกี่ยวกับหน่วยความจำระหว่างการอัปเกรด SLES ก่อนลองใหม่อีกครั้ง

ตรวจสอบข้อผิดพลาดเกี่ยวกับหน่วยความจำระหว่างการอัปเกรด SLES ก่อนลองใหม่อีกครั้ง

ใช้บันทึก RAM, swap, kernel และ Zypper เพื่อระบุแรงดันหน่วยความจำที่แท้จริง ป้องกันสถานะของแพ็กเกจ และเลือกวิธีการลองอัปเกรด SLES ที่ปลอดภัยยิ่งขึ้น

รักษาการอัปเดตความปลอดภัยของ Debian 12 ให้ทำงานได้บนเซิร์ฟเวอร์แบบไม่มีหน้าจอแสดงผล

รักษาการอัปเดตความปลอดภัยของ Debian 12 ให้ทำงานได้บนเซิร์ฟเวอร์แบบไม่มีหน้าจอแสดงผล

เปิดใช้งานการอัปเดตความปลอดภัยอัตโนมัติของ Debian ผ่าน SSH รักษาแหล่งแพ็กเกจเริ่มต้น และตรวจสอบการทำงานตามกำหนดเวลาผ่านบันทึกของ systemd และ APT

รับการแจ้งเตือน SMART Disk ของ Ubuntu ทางอีเมลด้วย smartd

รับการแจ้งเตือน SMART Disk ของ Ubuntu ทางอีเมลด้วย smartd

เปรียบเทียบตัวเลือกการรับอีเมล ตั้งค่า smartd บน Ubuntu และตรวจสอบว่าคำเตือนเกี่ยวกับสถานะของดิสก์ส่งไปถึงกล่องจดหมายของคุณหรือไม่

ข้อผิดพลาดในการค้นหา DNS ของ Debian 12: ซ่อมแซม systemd-resolved

ข้อผิดพลาดในการค้นหา DNS ของ Debian 12: ซ่อมแซม systemd-resolved

กู้คืนการค้นหา DNS บน Debian 12 โดยตรวจสอบ systemd-resolved ซ่อมแซม resolv.conf เมื่อจำเป็น และตรวจสอบการแก้ไข DNS ต้นทางและการแก้ไขแอปพลิเคชัน

Ubuntu 24.04 ไม่แสดงเสียง HDMI ใช่ไหม? กู้คืนเอาต์พุต

Ubuntu 24.04 ไม่แสดงเสียง HDMI ใช่ไหม? กู้คืนเอาต์พุต

ตั้งค่า Ubuntu ให้ตรวจจับจอภาพหรือทีวีของคุณเป็นอุปกรณ์ส่งสัญญาณเสียง เลือกอุปกรณ์นั้นในการตั้งค่าเสียง และตรวจสอบการเชื่อมต่อหรือรายการอุปกรณ์ PipeWire หากไม่มี HDMI