似乎终端上的每个应用程序都会发出警告和错误消息,即使它看起来运行良好。
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
这样的例子还在继续。这种行为常见吗还是我的系统有问题?我如何解决这些问题?
答案1
不幸的是,GTK 库(特别是 GNOME 使用的)往往会发出许多看起来吓人的消息。有时这些消息表明潜在的错误,有时它们完全是虚假的,并且如果不深入研究代码就不可能分辨哪个是哪个。作为最终用户,您对此无能为力。您可以将这些错误报告为错误(即使程序在其他方面表现正常,发出虚假错误消息也是错误),但是当程序基本正常工作时,可以理解的是,这些错误会被视为非常低的优先级。
可访问性警告是已知错误如果您不使用任何辅助功能,可以使用简单的解决方法:
export NO_AT_BRIDGE=1
根据我的经验,Gtk-CRITICAL
错误完全是虚假的;虽然它们确实在某处指示了编程错误,但不应将它们报告给最终用户,而只能报告给编写程序的开发人员(或底层库 - 通常程序本身的开发人员对此无能为力,因为它是程序中使用的库调用的库调用的库中的错误)。
答案2
不要更改 /var/lib/dbus/machine-id!先看看是不是空的!阅读dbus-uuidgen手册页!
如果您尝试更改正在运行的系统上的现有机器 ID,则可能会导致不好的事情发生。不要尝试更改此文件。另外,不要在两个不同的系统上使其相同;任何时候有两个不同的内核运行时它都需要不同
我拿到
连接到辅助总线:无法连接到套接字/tmp/dbus-oYuNBK96uX:连接被拒绝
错误消息,从其他计算机连接:
ssh -YC [email protected]
并运行 Thunar 和 Evince。
在本地系统中也尝试了相同的操作,没有报告错误我也输入了
cat /var/lib/dbus/machine-id
并且它已经有一个 UUID。
我认为导致该错误的原因可能是用作终端的计算机中运行的 X 服务器具有与远程系统不同的 UUID。
我没有进行更多实验,因为根据上面引用的手册页,在执行期间更改机器 ID 会导致一些不当行为。
答案3
我在某个地方找到了它,但我忘记了它的链接。
要修复它,请运行:
dbus-uuidgen > /var/lib/dbus/machine-id
如果您没有 dbus-uuidgen ,它位于 dbus 包中,可以通过发出以下命令来安装:
yum install dbus
答案4
我不确定第一个错误,但 Firefox 似乎在版本 42 中修复了 g_slice_set_config 问题。根据他们的说法错误报告,它影响 glib 2.35 及更高版本。