แอปพลิเคชั่น X เตือนว่า "ไม่สามารถเชื่อมต่อกับบัสการเข้าถึงได้" บน stderr


30

ดูเหมือนว่าทุกแอปพลิเคชันจากเทอร์มินัลจะให้คำเตือนและข้อความแสดงข้อผิดพลาดถึงแม้ว่ามันจะทำงานได้ดีก็ตาม

Emacs:

** (emacs:5004): WARNING **: Couldn't connect to accessibility bus:    
Failed to connect to socket /tmp/dbus-xxfluS2Izg: Connection refused

Evince:

** (evince:5052): WARNING **: Couldn't connect to accessibility bus:    
Failed to connect to socket /tmp/dbus-xxfluS2Izg: Connection refused

(evince:4985): Gtk-CRITICAL **: gtk_widget_show: assertion 
'GTK_IS_WIDGET (widget)' failed

(evince:4985): Gtk-CRITICAL **: gtk_widget_show: assertion 
'GTK_IS_WIDGET (widget)' failed

Firefox:

(process:5059): GLib-CRITICAL **: g_slice_set_config: assertion 
'sys_page_size == 0' failed

รายการดำเนินต่อไป พฤติกรรมนี้เป็นเรื่องปกติหรือมีบางอย่างผิดปกติกับระบบของฉันหรือไม่ ฉันจะแก้ไขปัญหาเหล่านี้ได้อย่างไร


จากประสบการณ์ของฉันใช่มันเป็นเรื่องธรรมดา มีประกาศรายได้และข้อผิดพลาดมากมายที่พบในแพ็คเกจต่างๆ เมื่อเปิดตัวจากสถานีรายได้เหล่านี้จะถูกส่งไปยังสถานีดังนั้นคุณจะได้เห็นพวกเขา เมื่อเปิดตัวเป็นปกติแล้วจะเปิดใช้งานแอป X คุณจะไม่ดูเหมือนพวกเขา พวกเขาอาจถูกบันทึกไว้ที่ไหนสักแห่ง แต่มักจะไม่ได้ขึ้นอยู่กับแอปพลิเคชัน เป็นเวลาหลายปีที่ฉันได้ปฏิบัติตามกฎง่ายๆนี้ "ถ้าแอปทำงานและข้อผิดพลาดไม่น่ากลัวเกินไปให้เพิกเฉยต่อมัน"
Karl Wilbur

คำตอบ:


53

น่าเสียดายที่ไลบรารี GTK (ใช้โดยเฉพาะ GNOME) มีแนวโน้มที่จะส่งข้อความที่ดูน่ากลัวมากมาย บางครั้งข้อความเหล่านี้บ่งบอกถึงข้อบกพร่องที่อาจเกิดขึ้นบางครั้งพวกเขาปลอมแปลงโดยสิ้นเชิงและเป็นไปไม่ได้ที่จะบอกได้ว่าข้อความใดที่ไม่ได้เจาะลึกเข้าไปในโค้ด ในฐานะผู้ใช้ปลายทางคุณไม่สามารถทำอะไรได้เลย คุณสามารถรายงานข้อผิดพลาดเหล่านั้น (แม้ว่าโปรแกรมจะทำงานอย่างถูกต้องการเปล่งข้อความผิดพลาดปลอมเป็นข้อบกพร่อง) แต่เมื่อโปรแกรมทำงานโดยทั่วไปข้อบกพร่องเหล่านี้จะถือว่าเป็นความสำคัญต่ำมาก

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

export NO_AT_BRIDGE=1

จากประสบการณ์ของฉัน, Gtk-CRITICALข้อบกพร่องเป็นของปลอมอย่างสมบูรณ์; ในขณะที่พวกเขาบ่งบอกถึงข้อผิดพลาดในการเขียนโปรแกรมบางแห่งพวกเขาไม่ควรรายงานผู้ใช้ปลายทางเฉพาะกับนักพัฒนาที่เขียนโปรแกรม (หรือไลบรารีพื้นฐาน - บ่อยครั้งที่ผู้พัฒนาโปรแกรมเองไม่สามารถทำอะไรได้เพราะมัน ข้อบกพร่องในห้องสมุดที่ถูกเรียกโดยห้องสมุดที่ถูกเรียกโดยห้องสมุดที่ใช้ในโปรแกรม)


ดังนั้นฉันได้รับข้อผิดพลาดนี้ในขณะที่ windowmanager (ยอดเยี่ยม) กำลังเริ่ม ดังนั้นฉันควรใส่ของไว้exportที่ไหน?
UlfR

@UlfR: คุณจะใส่ไว้ใน. bashrc ของคุณ
Ben Crowell

@UlfR ใน~/.profileหรือในการกำหนดค่าที่ยอดเยี่ยมของคุณ (ฉันไม่ทราบว่าสิ่งที่เป็นไวยากรณ์ที่น่ากลัว) หรือ~/.xinitrcถ้าคุณใช้startxหรือใน~/.xsessionถ้าคุณใช้เซสชัน X11 แบบคลาสสิก (ตรงข้ามกับตัวจัดการเซสชันของสภาพแวดล้อมเดสก์ทอปของตัวเอง)
Gilles 'หยุดความชั่วร้าย' ใน

@BenCrowell ไม่ไม่อยู่ใน.bashrc: มันจะใช้กับโปรแกรมที่เริ่มต้นจากเทอร์มินัลเท่านั้น การนิยามตัวแปรสภาพแวดล้อม.bashrcเป็นสิ่งที่ผิดเสมอไป
Gilles 'หยุดความชั่วร้าย' ใน

2

ฉันพบมันที่ไหนสักแห่ง แต่ฉันลืมลิงค์ไป

หากต้องการแก้ไขให้เรียกใช้:

dbus-uuidgen > /var/lib/dbus/machine-id

หากคุณไม่มี dbus-uuidgen มันอยู่ในแพ็คเกจ dbus ซึ่งสามารถติดตั้งได้โดยการออก:

yum install dbus

3
ไม่ได้แก้ไขปัญหาให้ฉัน
Zeimyth


1

อย่าเปลี่ยน / var / lib / dbus / machine-id! ก่อนอื่นดูว่ามันว่างเปล่า! อ่าน man page!

จาก: man dbus-uuidgen

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

ฉันได้รับ

เชื่อมต่อกับบัสการเข้าถึง: ไม่สามารถเชื่อมต่อกับซ็อกเก็ต / tmp / dbus-oYuNBK96uX: การเชื่อมต่อถูกปฏิเสธ

ข้อความแสดงข้อผิดพลาดการเชื่อมต่อจากคอมพิวเตอร์เครื่องอื่นด้วย:

ssh -YC user_name@1.2.3.4

และวิ่งไปที่ดวงจันทร์และปรากฏขึ้น

ยังพยายามเหมือนกันในระบบท้องถิ่นและไม่มีการรายงานข้อผิดพลาดฉันพิมพ์ด้วย

cat / var / lib / dbus / machine-id

และมันมีหนึ่ง uuid แล้ว

สิ่งที่ฉันคิดว่าอาจเป็นสาเหตุของข้อผิดพลาดนั้นคือ xserver ทำงานในเครื่องที่ใช้เป็นเทอร์มินัลมี uuid ที่แตกต่างจากระบบระยะไกล

ฉันไม่ได้ทำการทดลองอีกต่อไปเนื่องจากการเปลี่ยนรหัสเครื่องระหว่างการประมวลผลสิ้นสุดลงในพฤติกรรมที่ไม่เหมาะสมบางประการตามหน้า man ที่ยกมาข้างต้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.