为什么GTK +应用程序有这么多控制台消息?

我尝试使用命令行打开Software Center

software-center 

它确实有效。 我的意思是,软件中心打开并正常工作,但同时,在终端窗口中我看到了很多奇怪的错误。 怎么可能? 我很困惑。

对此有任何解释(并修复它)? 我再说一遍,该应用程序确实打开,它工作正常,只有背景中的线条表明事情不是很好。

以下是所有线条的屏幕截图。

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

当然,您在终端中看到的是向开发人员发送的消息。 所以你有两个选择,要么忽略它们,要么打开应用程序而不看它们。

要执行第二个选项,请在命令行中尝试:

 nohup software-center & 

它将打开应用程序并返回终端,没有任何垃圾

之前曾提出过非常密切相关的问题。 以下是一些答案的链接:

我喜欢这个解释:

此类消息在Gnome应用程序中很常见,并不一定表示存在错误。 Gnome对用户采取了一种愚蠢的方法; 目标受众不会从终端运行应用程序,因此不会看到这些消息。 如果您真的关心,请将Gnome应用程序的错误输出重定向到日志文件,否则重定向到/ dev / null。

来源: 吉尔斯 。

这也很好:

此错误表示该软件使用完全有效的GTK库调用与较新版本的GTK库。 有时在软件开发过程中,需要摆脱“旧方式”,在保持向后兼容性的同时做事。 这是通过标记不需要的调用折旧来实现的。 这告诉开发人员他们的代码在这个版本中完全有效,但是将来他们的代码需要更新才能使用新版本的库,可能会有很多版本。

在这种情况下,GTK希望在维度上包含单位时更加严格。 它告诉开发人员GTK假设单位是像素,这是软件开发人员首先做出的确切假设。

资料来源: Bailley S.

顺便说一句,如果你从终端启动Firefox,你可能会看到这样一个可怕的消息:

 GLib-CRITICAL **: g_slice_set_config: assertion 

但根据Bug#833117中的评论,它似乎是无害的。

简而言之,除非出现问题,否则我们的初学者几乎不需要从终端启动基于GUI的应用程序,我们需要将输出提供给能够理解此类输出含义的人。

您看到打印到控制台的消息不一定是错误。 屏幕截图中的大部分内容实际上只是提供信息或警告。 关于主题处理的警告是由您使用的GTK +主题引起的。 它们并不是致命的,但它们确实需要由制作主题的人来修复,如果它们没有得到修复,它们将来可能会导致更大的问题。

实际来自software-center应用程序的一些警告实际上只是信息。

通常,可以安全地忽略这些警告和信息消息。