Terminal
X 應用程序在 stderr 上警告“無法連接到輔助功能匯流排:”
似乎終端中的每個應用程序都會發出警告和錯誤消息,即使它看起來執行良好。
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
錯誤是完全虛假的。儘管它們確實在某處表明了程式錯誤,但不應將它們報告給最終使用者,而應僅報告給編寫程序的開發人員(或底層庫-通常程序的開發人員本身對此無能為力,因為它是由程序中使用的庫呼叫的庫呼叫的庫中的錯誤)。