หากหน้าต่างกราฟิกของ YaST ล้มเหลวในการเชื่อมต่อผ่าน SSH ให้ตรวจสอบก่อนว่าการส่งต่อ X11 ทำงานได้หรือไม่ จากคอมพิวเตอร์ไคลเอ็นต์ ให้เชื่อมต่อด้วยssh -X admin@serverจากนั้นทดสอบโปรแกรมกราฟิกแบบรีโมทอื่น หากโปรแกรมนั้นเปิดขึ้น แต่ YaST รายงานว่าแสดงผลXIO: fatal IO error 11บนหน้าจอเช่นlocalhost:11.0SUSE ได้ระบุวิธีแก้ปัญหาเฉพาะหน้าไว้ คือ เรียกใช้คำสั่ง YaST ที่ได้รับผลกระทบโดยใส่ ไว้QT_XCB_GL_INTEGRATION=noneข้างหน้า ตัวอย่างเช่น ใช้QT_XCB_GL_INTEGRATION=none yast2 diskวิธีแก้ปัญหานี้ใช้ได้กับความล้มเหลวในการส่งต่อ Qt/OpenGL เท่านั้น จะไม่สามารถแก้ไขปัญหาเซิร์ฟเวอร์ X ในเครื่องหายไป การตั้งค่า ไม่ได้ตั้งค่าDISPLAYการส่งต่อเซิร์ฟเวอร์ถูกบล็อก หรือโมดูล YaST ที่ไม่ได้ติดตั้งได้
เริ่มจากการตรวจสอบที่รวดเร็วที่สุดก่อน
อินเทอร์เฟซกราฟิกของ YaST ต้องการจอแสดงผล X บนฝั่งไคลเอ็นต์และอุโมงค์ SSH X11 ที่ใช้งานได้ ไคลเอ็นต์ SSH จะตั้งDISPLAYค่าการส่งต่อบนโฮสต์ระยะไกลเมื่อการส่งต่อทำงานอยู่ การเข้าสู่ระบบ SSH แบบธรรมดายังคงใช้งานได้แม้ว่ากราฟิกจะไม่ถูกส่งต่อ ดังนั้นเซสชันเทอร์มินัลที่สำเร็จเพียงอย่างเดียวจึงไม่ยืนยันว่ามีการใช้งาน X11
- ตรวจสอบให้แน่ใจว่าคอมพิวเตอร์ไคลเอ็นต์มีเซิร์ฟเวอร์ X ที่ใช้งานอยู่หรือเซสชันการแสดงผลที่เข้ากันได้กับ X11 บน Windows เอกสารของ SUSE อธิบายวิธีการเปิดใช้งานการส่งต่อ X11 ใน PuTTY ภายใต้การเชื่อมต่อ > SSH > X11นอกจากนี้ต้องมีเซิร์ฟเวอร์ X ในเครื่องด้วย
- เชื่อมต่อใหม่โดยเปิดใช้งานการส่งต่อ:
ssh -X admin@serverใช้ชื่อบัญชีและชื่อโฮสต์จริงของคุณ
- ในเชลล์ระยะไกล ให้ตรวจสอบ
echo "$DISPLAY"โดยปกติแล้ว หากตั้งค่าการแสดงผลแบบส่งต่อ (forwarded display) ค่าที่แสดงควรเป็นค่าเช่นlocalhost:10.0หรือlocalhost:11.0ค่าว่างหมายความว่าเซสชันไม่ได้สร้างการส่งต่อ X11
- ลองเปิดแอปพลิเคชัน X ขนาดเล็กที่ติดตั้งอยู่บนระบบระยะไกลดู หากไม่สามารถเปิดบนเดสก์ท็อปของคุณได้ ให้ลองแก้ไขปัญหาการส่งต่อข้อมูลก่อนที่จะไปแก้ไขปัญหา YaST
ตัวอย่างเช่น ผู้ดูแลระบบที่เชื่อมต่อจากเวิร์กสเตชัน Linux อาจใช้ssh -X ops@server.exampleคำสั่ง `yaST` จากนั้นเรียกใช้แอปพลิเคชันทดสอบที่มีอยู่ หากหน้าต่างแอปพลิเคชันปรากฏขึ้นในเครื่อง แสดงว่าอุโมงค์ SSH และจอแสดงผลในเครื่องทำงานได้ หากไม่ปรากฏ ข้อผิดพลาดเช่น “ไม่สามารถเปิดจอแสดงผลได้” จะชี้ไปที่เส้นทาง X11 แทนที่จะเป็นวิธีแก้ปัญหาด้านกราฟิกเฉพาะของ YaST
ใช้วิธีแก้ปัญหาเฉพาะของ SUSE สำหรับ YaST
คู่มือการติดตั้งใช้งาน SLES 15 SP7 ของ SUSE ได้บันทึกกรณีที่ GUI ของ YaST ผ่าน SSH ที่มีการส่งต่อ X ล้มเหลวXIO: fatal IO error 11 (Resource temporarily unavailable)วิธีlocalhost:11.0แก้ปัญหาที่แนะนำคือการปิดใช้งานการรวม GL ของ XCB ใน Qt สำหรับคำสั่งนั้นคำสั่งเดียว เรียกใช้คำสั่งสำหรับโมดูลที่คุณต้องการ ตัวอย่างเช่น:
QT_XCB_GL_INTEGRATION=none yast2 disk
สำหรับส่วนติดต่อการติดตั้ง YaST คู่มือเดียวกันนี้ได้ยกตัวอย่างดังนี้:
QT_XCB_GL_INTEGRATION=none yast.ssh
ใช้คำสั่งที่ตรงกับงานของคุณ คำสั่งนี้yast2 diskจะเปิดโมดูลดิสก์ ในขณะที่คำyast.sshสั่งนี้จะแสดงสำหรับขั้นตอนการติดตั้ง การเพิ่มคำนำหน้าคำสั่งเดียวจะจำกัดการตั้งค่าไว้เฉพาะการเรียกใช้งานนั้น อย่าเพิ่มคำสั่งนี้ลงในโปรไฟล์เชลล์ส่วนกลางอย่างถาวร เว้นแต่คุณจะมีเหตุผลอื่นในการเปลี่ยนแปลงพฤติกรรมของ Qt สำหรับโปรแกรมอื่น
วิธีแก้ไขนี้มีประโยชน์อย่างยิ่งเมื่อ X11 ทำงานได้ปกติ แต่ YaST กลับปิดตัวลงหรือแสดงข้อผิดพลาด XIO เฉพาะเจาะจง หากยังคงเกิดข้อผิดพลาดเดิม ให้ลองทดสอบโมดูลอื่นและตรวจสอบการตั้งค่าการส่งต่อข้อมูลของไคลเอ็นต์และเซิร์ฟเวอร์ ความล้มเหลวของกราฟิกอื่นๆ อาจมีสาเหตุแตกต่างกัน วิธีแก้ปัญหาของ SUSE ไม่ใช่วิธีแก้ไขทั่วไปสำหรับปัญหา Qt, GPU หรือจอแสดงผลทุกอย่าง
ตรวจสอบเซิร์ฟเวอร์ SSH เมื่อ DISPLAY ว่างเปล่า
บนเซิร์ฟเวอร์ SUSE การส่งต่อ X11 ต้องได้รับอนุญาตผ่านการกำหนดค่าของ SSH daemon ผู้ดูแลระบบสามารถตรวจสอบ/etc/ssh/sshd_configและยืนยันได้ว่าการกำหนดค่าที่มีผลบังคับใช้นั้นประกอบด้วย:
X11Forwarding yes
นโยบายเซิร์ฟเวอร์สามารถกำหนดได้ผ่านไฟล์การกำหนดค่าที่ให้มา หรือจัดการจากส่วนกลาง ดังนั้นอย่าคิดว่าการแก้ไขเพียงบรรทัดเดียวจะเพียงพอ หลังจากทำการเปลี่ยนแปลงที่ได้รับอนุญาตแล้ว โปรดตรวจสอบความถูกต้องของการกำหนดค่าและโหลดบริการใหม่:
sudo sshd -t
sudo systemctl reload sshd.service
ขณะตรวจสอบการตั้งค่า ให้เปิดเซสชัน SSH ปัจจุบันไว้ และทดสอบการเข้าสู่ระบบครั้งที่สองก่อนปิดเซสชัน การตรวจสอบไวยากรณ์จะตรวจจับการตั้งค่าที่ไม่ถูกต้อง แต่จะไม่ตรวจสอบว่านโยบายถูกต้องหรือไม่ หรือการส่งต่อข้อมูลจากฝั่งไคลเอ็นต์ทำงานได้หรือไม่ หากคุณไม่ได้เป็นผู้ดูแลระบบ SSH โปรดขอให้ผู้ดูแลระบบตรวจสอบนโยบายที่มีผลบังคับใช้แทนที่จะแก้ไขไฟล์ระบบด้วยตนเอง
เชื่อมต่อใหม่หลังจากทำการเปลี่ยนแปลงใดๆ บนฝั่งเซิร์ฟเวอร์ และDISPLAYทำการทดสอบแอปพลิเคชันระยะไกลซ้ำอีกครั้ง หากเซิร์ฟเวอร์รายงานปัญหาเกี่ยวกับการอนุญาต ให้ตรวจสอบว่าผู้ใช้ระยะไกลมีรายการอนุญาต X ที่ถูกต้องหรือxauth listไม่ หลีกเลี่ยงการคัดลอกคุกกี้การอนุญาตด้วยตนเอง หรือลดการควบคุมการเข้าถึงการแสดงผลเพื่อให้หน้าต่างเปิดขึ้น
เรียกใช้ YaST ด้วยสิทธิ์ผู้ดูแลระบบโดยไม่ทำให้หน้าจอแสดงผลเสียหาย
YaST เปลี่ยนแปลงการตั้งค่าระบบและโดยปกติแล้วจำเป็นต้องได้รับอนุญาตจากผู้ดูแลระบบ สาเหตุที่ทำให้สับสนกันบ่อยคือ ผู้ใช้ที่ไม่มีสิทธิ์พิเศษสามารถแสดงหน้าต่างทดสอบได้ แต่ YaST จะล้มเหลวหลังจากได้รับสิทธิ์ระดับสูง กระบวนการที่ได้รับสิทธิ์ระดับสูงอาจไม่เก็บรักษาข้อมูลการส่งต่อDISPLAYหรือข้อมูลการอนุญาต X ที่จำเป็นสำหรับการเชื่อมต่อไว้
ใช้เมธอดการยกระดับสิทธิ์ที่องค์กรของคุณอนุมัติ และตรวจสอบว่ากระบวนการ YaST ได้รับอะไรบ้าง อย่าเปิดใช้งานการเข้าสู่ระบบ SSH โดยตรงในฐานะ root เพียงเพื่อเข้าถึง GUI คำแนะนำด้านความปลอดภัยของ SUSE แนะนำให้เข้าสู่ระบบในฐานะผู้ใช้ที่ไม่มีสิทธิ์ และใช้sudoคำสั่ง root หากนโยบาย sudo ของคุณกรองตัวแปรสภาพแวดล้อมที่เกี่ยวข้องกับการแสดงผลโดยเจตนา ขอให้ผู้ดูแลระบบจัดหาเมธอดที่ได้รับอนุมัติซึ่งมีขอบเขตแคบลง หลีกเลี่ยงกฎการรักษาสภาพแวดล้อมแบบกว้างๆ หรือคำสั่งที่เปิดเผยจอแสดงผลในเครื่องให้กับผู้ใช้โฮสต์ทุกคน
หลักการวินิจฉัยที่สำคัญนั้นง่ายมาก: หากแอปพลิเคชัน X เปิดขึ้นโดยใช้บัญชีปกติของคุณ แต่ YaST ล้มเหลวเฉพาะเมื่อใช้สิทธิ์ระดับสูง ให้มุ่งเน้นไปที่การส่งต่อสิทธิ์และการอนุญาต หากทั้งสองอย่างล้มเหลวเมื่อใช้บัญชีปกติ ให้กลับไปที่ไคลเอ็นต์ SSH เซิร์ฟเวอร์ X ในเครื่อง และการตั้งค่าการส่งต่อเซิร์ฟเวอร์
เลือกใช้ส่วนต่อประสานข้อความเมื่อไม่ต้องการใช้กราฟิก
การส่งต่อ X11 มีประโยชน์เมื่อเวิร์กโฟลว์เฉพาะนั้นต้องการอินเทอร์เฟซแบบกราฟิกอย่างแท้จริง แต่จะเพิ่มการพึ่งพาและอาจทำให้รู้สึกช้าลงเมื่อใช้การเชื่อมต่อที่มีความหน่วงสูง YaST ยังมีอินเทอร์เฟซข้อความ ncurses สำหรับเซสชันเทอร์มินัล เอกสารของ SUSE เกี่ยวกับการบังคับใช้สำหรับโมดูลดิสก์มีดังนี้:
yast2 disk --ncurses
นี่เป็นทางเลือกที่ใช้งานได้จริงบนเซิร์ฟเวอร์ที่ไม่มีส่วนติดต่อผู้ใช้ เมื่อไคลเอนต์ไม่มีเซิร์ฟเวอร์ X หรือเมื่อเซสชันกราฟิกไม่เสถียร คุณยังสามารถเรียกใช้โมดูล YaST จากบรรทัดคำสั่งได้ หากตัวเลือกที่รองรับอนุญาต ตรวจสอบรายการโมดูลด้วยคำสั่ง `yaST list` yast -lและศึกษาวิธีใช้ของโมดูลนั้น ๆ แทนที่จะคิดว่าทุกโมดูลกราฟิกมีการดำเนินการบรรทัดคำสั่งที่เทียบเท่ากัน
คู่มือการเปลี่ยนจากอาการไปสู่การปฏิบัติ
| อาการ | ขั้นตอนต่อไป |
DISPLAYว่างเปล่า | เชื่อมต่อใหม่โดยใช้ssh -X; ตรวจสอบว่าเซิร์ฟเวอร์ X ในเครื่องทำงานอยู่และอนุญาตการส่งต่อ X11 ฝั่งเซิร์ฟเวอร์แล้ว |
| แอปพลิเคชันทดสอบ X ก็ล้มเหลวเช่นกัน | แก้ไขปัญหาการแสดงผลของไคลเอ็นต์ การส่งต่อ SSH และการอนุญาต X ก่อนเริ่มใช้งาน YaST |
| แอปทดสอบทำงานได้ แต่ YaST แสดงข้อผิดพลาด XIO | ลองQT_XCB_GL_INTEGRATION=noneก่อนใช้คำสั่ง YaST ที่ได้รับผลกระทบ |
| YaST ใช้งานได้ก่อนการปรับระดับความสูง แต่ใช้งานไม่ได้หลังจากนั้น | ตรวจสอบเส้นทางการอนุญาต sudo หรือ root ที่ได้รับอนุมัติสำหรับการเข้าถึงการแสดงผลและการอนุญาต X |
| คุณต้องการเพียงแค่เทอร์มินัลอินเทอร์เฟซเท่านั้น | ใช้รูปแบบ ncurses เช่นyast2 disk --ncurses. |
| คำสั่งโมดูลไม่พร้อมใช้งาน | ตรวจสอบโมดูล YaST ที่ติดตั้งแล้วและเอกสารประกอบการเผยแพร่ผลิตภัณฑ์ การแก้ไขปัญหาการแสดงผลไม่สามารถเพิ่มโมดูลที่ขาดหายไปได้ |
หมายเหตุเกี่ยวกับความปลอดภัยและเวอร์ชัน
การส่งต่อ X11 ไม่ใช่แค่ความสะดวกสบายด้านภาพเท่านั้น: โปรแกรมกราฟิกจากระยะไกลจะสื่อสารกับจอแสดงผลของไคลเอนต์ ควรใช้เฉพาะกับระบบที่คุณไว้วางใจเท่านั้น OpenSSH แยกความแตกต่างระหว่างการส่งต่อที่ไม่น่าเชื่อถือ-Xกับการส่งต่อที่น่าเชื่อถือ-Yการส่งต่อที่น่าเชื่อถือจะให้สิทธิ์การเข้าถึงจอแสดงผลในเครื่องแก่ไคลเอนต์ X จากระยะไกลได้กว้างกว่า เริ่มต้นด้วย-Xพิจารณา-Yใช้กับโฮสต์ที่น่าเชื่อถือเฉพาะเมื่อแอปพลิเคชันเฉพาะนั้นต้องการและนโยบายความปลอดภัยของคุณอนุญาต เท่านั้น
ข้อผิดพลาดและวิธีแก้ไขปัญหาของ YaST ข้างต้นได้รับการยืนยันแล้วในคู่มือการติดตั้งใช้งาน SUSE Linux Enterprise Server 15 SP7 โมดูล YaST, ส่วนหลังบ้านแบบกราฟิกที่มีให้ใช้งาน และพฤติกรรมการเริ่มต้นระบบอาจแตกต่างกันไปในแต่ละเวอร์ชันของ SLES, SLED และ openSUSE โปรดตรวจสอบเอกสารประกอบสำหรับผลิตภัณฑ์และเวอร์ชันที่ติดตั้งบนโฮสต์ระยะไกลอย่างถูกต้อง ตรวจสอบเมื่อวันที่ 6 ตุลาคม 2026
เอกสารอ้างอิง: คู่มือการติดตั้งใช้งาน SUSE SLES 15 SP7: YaST ผ่าน SSH ; คู่มือความปลอดภัยและการเสริมความแข็งแกร่ง SUSE SLES 15 SP7: OpenSSH ; คู่มือ SUSE SLES 15 SP7: ระบบ X Window และการตรวจสอบสิทธิ์ ; คู่มือการดูแลระบบ SUSE SLES 15 SP7: โหมดข้อความ YaST และตัวเลือกบรรทัดคำสั่ง