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


10

我试图使用命令行打开软件中心

software-center

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

是否对此有任何解释(及其修复)?我再说一遍,该应用程序确实可以打开并且运行良好,只是背景中显示不正常的行。

这是所有行的屏幕截图。

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明


很多程序都这样做(例如,gedit),但是idk为什么
MrVaykadji 2014年

6
另外,请使用复制和粘贴将控制台输出放置在您的问题中,而不要像这样截屏。如果全部为文本,则更易于阅读。
dobey 2014年

Answers:


5

当然,您在终端中看到的是发给开发人员的消息。因此,您有两种选择,要么忽略它们,要么打开应用程序而不看到它们。

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

nohup software-center &

它将打开应用程序并返回到终端,而不会产生任何垃圾


12

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

我喜欢这个解释:

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

资料来源:Gilles

这也很好:

该错误表明该软件正在使用完全有效的GTK库调用以及更高版本的GTK库。有时,在软件开发过程中,希望摆脱“旧方法”,在保持向后兼容性的同时做事。这可以通过标记不希望的呼叫折旧来实现。这告诉开发人员,他们的代码在此版本中完全有效,但是将来需要更新他们的代码以使用新版本的库,可能还会有许多版本发布。

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

资料来源:Bailley S

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

GLib-CRITICAL **: g_slice_set_config: assertion

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

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


5

您看到的打印到控制台的消息不一定是错误。实际上,屏幕快照中的大多数只是信息量大或警告。有关主题处理的警告是由于您使用的GTK +主题引起的。它们不是致命的,但是无论由谁创建主题,它们都必须修复,并且如果不解决,将来可能会引起更大的问题。

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

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

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.