ไม่สามารถเปิดแอปแบบกราฟิกจากเทอร์มินัลหลังจากอัปเดตเป็น 15.10


10

หลังจากอัปเดตเป็น 15.10 เป็นไปไม่ได้ที่จะเรียกใช้แอพแบบกราฟิกจากเทอร์มินัล:

xxx@xxx:~$ gksudo wireshark
Invalid MIT-MAGIC-COOKIE-1 key
(gksudo:5532): Gtk-WARNING **: cannot open display: :0
xxx@xxx:~$ sudo -H wireshark
[sudo] password for xxx: 
Invalid MIT-MAGIC-COOKIE-1 key
** (wireshark:5535): WARNING **: Could not open X display
Invalid MIT-MAGIC-COOKIE-1 keyFailed to connect to Mir: Failed to connect to server socket: No such file or directory
Unable to init server: Could not connect: Connection refused

(wireshark:5535): Gtk-WARNING **: cannot open display: :0
xxx@xxx:~$ wireshark
Invalid MIT-MAGIC-COOKIE-1 key
** (wireshark:5569): WARNING **: Could not open X display
Invalid MIT-MAGIC-COOKIE-1 keyFailed to connect to Mir: Failed to connect to server socket: No such file or directory
Unable to init server: Could not connect: Connection refused

(wireshark:5569): Gtk-WARNING **: cannot open display: :0
xxx@xxx:~$ gedit
Invalid MIT-MAGIC-COOKIE-1 key
** (gedit:5570): WARNING **: Could not open X display
Invalid MIT-MAGIC-COOKIE-1 keyFailed to connect to Mir: Failed to connect to server socket: No such file or directory
Unable to init server: Could not connect: Connection refused

(gedit:5570): Gtk-WARNING **: cannot open display: :0
xxx@xxx:~$ sudo gedit
Invalid MIT-MAGIC-COOKIE-1 key
** (gedit:5574): WARNING **: Could not open X display
Invalid MIT-MAGIC-COOKIE-1 keyFailed to connect to Mir: Failed to connect to server socket: No such file or directory
Unable to init server: Could not connect: Connection refused

(gedit:5574): Gtk-WARNING **: cannot open display: :0

งานวิจัยเล็ก ๆ ของฉันชี้ไปที่การใช้ gksudo แต่มันก็ไม่ได้ผลเช่นกัน ฉันยังลองบางสิ่งด้วย xauth อะไรคือปัญหา? ขอบคุณ


1
ลองลบ.Xauthority- sudo rm -f ~/.Xauthorityแล้วเริ่มใหม่
UniversallyUniqueID

ไม่เหมือนกัน
sssemil

คำตอบ:


15

xhost +ในฐานะผู้ใช้ปกติเรียกใช้คำสั่ง หลังจากนั้นลองเรียกใช้แอปพลิเคชันกราฟิกของคุณอีกครั้ง

สิ่งนี้จะปิดการควบคุมการเข้าถึงตามโฮสต์บนเซิร์ฟเวอร์ X นี่คือข้อมูลที่เกี่ยวข้องจากหน้าคน:

โปรแกรม xhost ใช้เพื่อเพิ่มและลบชื่อโฮสต์หรือชื่อผู้ใช้ไปยังรายการที่อนุญาตให้ทำการเชื่อมต่อกับเซิร์ฟเวอร์ X

+ สิทธิ์การเข้าถึงแก่ทุกคนแม้ว่าพวกเขาจะไม่ได้อยู่ในรายการ (เช่นปิดการควบคุมการเข้าถึง)


ฉันมีปัญหาที่ฉันสามารถเปิดแอปพลิเคชัน GUI จากเทอร์มินัลrootได้ แต่ไม่ใช่ในฐานะผู้ใช้ทั่วไป ในกรณีนั้นให้เรียกใช้xhost +ตามที่rootได้รับอนุญาตจากนั้นฉันก็เริ่มโปรแกรม GUI ในฐานะผู้ใช้ปกติ
Craig โอทิส

สิ่งนี้ได้ผล! ขอบคุณ!
Muhammad bin Yusrat

3

แปลก แต่export DISPLAY=:1ช่วย ไชโย


2
คุณใช้จอ X หลายจอหรือบางอย่าง ค่าเริ่มต้นควรเป็น:0
UniversallyUniqueID

2
ตรงประเด็นเดียวกัน (ใน 16.04 ในกรณีของฉัน); น่าเสียดายที่นี่ใช้งานไม่ได้
adam.smith

ไม่เพียงอันเดียว ": 0" เป็นค่าเริ่มต้นเสมอ แต่มีการเปลี่ยนแปลงบางอย่างหลังจากการอัปเดต
sssemil

1
ในกรณีของฉันการตั้งค่า DISPLAY เป็น: 0 แก้ปัญหาได้ (ในขณะที่: 1 ไม่ได้)
mbello

ในกรณีของฉันการตั้งค่า DISPLAY เป็น: 2 แก้ไขได้ แค่ต้องพยายามต่อไป.
zkytony

0

ในกรณีของปัญหาเดียวกันพบว่าหลังจากการปรับปรุงแพคเกจเดียวผ่านgnome-shell synaptic-package-managerทันทีหลังจากลงชื่อเข้าใช้ครั้งต่อไปฉันไม่สามารถเข้าถึงส่วน GUI ของระบบปฏิบัติการได้ ได้การค้นหามากมายแล้ว

เมื่อฉันใช้apt install gdm3จากเทอร์มินัลโหมดการกู้คืนฉันสามารถค้นหาพรอมต์การเข้าสู่ระบบหลังจากการบูตระบบ (เทอร์มินัลเท่านั้นไม่ใช่ GUI)

หลังจากนั้นฉันลองใช้apt install gnomeซึ่งติดตั้งส่วนประกอบทั้งหมดไว้ด้วยกันเมื่อการดาวน์โหลดเสร็จสิ้นฉันก็สามารถใช้ระบบปฏิบัติการของฉันในโหมด GUI

หากคุณไม่ได้รับพรอมต์เข้าสู่ระบบให้ลองทำตามขั้นตอนด้านบนในโหมดการกู้คืน มิฉะนั้นลองติดตั้ง Gnome ซึ่งอัพเดต gdm3 ตาม


0

คำเตือน:การใช้ xhost อย่างไม่เหมาะสมสามารถให้โฮสต์ทั้งหมดบนอินเทอร์เน็ตเข้าถึงเซิร์ฟเวอร์ดิสเพลย์ X ได้โดยไม่ตั้งใจ

โดยทั่วไปคุณไม่ควรปิดการควบคุมการเข้าถึงโดยใช้โฮสต์บนเซิร์ฟเวอร์ X เว้นแต่คุณจะรู้ว่าคุณกำลังทำอะไรอยู่ แต่คุณควรอนุญาตสิ่งที่ต้องมีการเข้าถึงเท่านั้น

สารละลาย:

ดำเนินการ: xhost +si:localhost:root

โซลูชันดังกล่าวยังใช้งานได้สำหรับผู้ใช้ Wayland ที่เรียกใช้แอปพลิเคชัน XWayland ที่ยกระดับ

เมื่อพยายามเรียกใช้แอปพลิเคชัน XWayland ด้วยสิทธิ์ระดับสูงคุณอาจได้รับข้อผิดพลาดต่อไปนี้:

No protocol specified
Unable to init server: Could not connect: Connection refused
Could not parse arguments: Cannot open display:
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.