Terminal

X 應用程序在 stderr 上警告“無法連接到輔助功能匯流排:”

  • April 28, 2019

似乎終端中的每個應用程序都會發出警告和錯誤消息,即使它看起來執行良好。

Emacs:

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

表明:

** (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

火狐:

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

名單還在繼續。這種行為是常見的還是我的系統有問題?我如何解決這些問題?

不幸的是,GTK 庫(特別是 GNOME 使用的)往往會發出很多看起來很嚇人的消息。有時這些消息表明潛在的錯誤,有時它們完全是虛假的,如果不深入研究程式碼,就不可能分辨出哪個是哪個。作為最終使用者,您對此無能為力。您可以將這些錯誤報告為錯誤(即使程序在其他方面表現正確,發出虛假錯誤消息也是錯誤),但是當程序基本正常工作時,這些錯誤被視為非常低的優先級是可以理解的。

如果您不使用任何可訪問性功能,可訪問性警告是一個已知錯誤,可通過簡單的解決方法:

export NO_AT_BRIDGE=1

根據我的經驗,Gtk-CRITICAL錯誤是完全虛假的。儘管它們確實在某處表明了程式錯誤,但不應將它們報告給最終使用者,而應僅報告給編寫程序的開發人員(或底層庫-通常程序的開發人員本身對此無能為力,因為它是由程序中使用的庫呼叫的庫呼叫的庫中的錯誤)。

引用自:https://unix.stackexchange.com/questions/230238