X应用程序在stderr上警告“无法连接到辅助功能总线:”


30

似乎终端上的每个应用程序都会发出警告和错误消息,即使它运行正常。

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

Firefox:

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

清单继续。这是常见现象还是我的系统有问题?我该如何解决这些问题?


以我的经验,是的,这很普遍。各种程序包会遇到许多通知,收益和错误。从终端启动时,这些收益将发送到终端,因此您可以看到它们。以通常会启动X应用程序的方式启动时,您似乎没有。根据应用程序,它们可能会记录在某个地方,但通常不会记录。多年以来,我一直遵循这个简单的经验法则:“如果应用程序正在运行并且错误不太严重,请忽略它”
Karl Wilbur

Answers:


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

我不确定第一个错误,但是Firefox似乎修复了版本42中的g_slice_set_config问题。根据他们的错误报告,它会影响glib 2.35和更高版本。


1

不要更改/ var / lib / dbus / machine-id!首先看看它是否为空!阅读手册页!

来自:男人dbus-uuidgen

如果尝试更改正在运行的系统上的现有机器ID,则可能会导致发生不良情况。不要尝试更改此文件。另外,不要在两个不同的系统上使它相同。任何时候运行两个不同的内核,它都必须有所不同

我拿到

连接到辅助功能总线:无法连接到套接字/ tmp / dbus-oYuNBK96uX:连接被拒绝

错误消息,通过以下方式从其他计算机连接:

ssh -YC用户名@ 1.2.3.4

并发出声音和声音

在本地系统中也尝试了相同的操作,没有错误报告,我也输入了

猫/ var / lib / dbus / machine-id

它已经有一个uuid

我认为可能是该错误的原因,是在用作终端的计算机上运行的xserver与远程系统的uuid不同。

根据上面引用的手册页,我没有做更多的实验,因为在执行过程中更改机器ID会导致一些不当行为。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.