使用 gedit 发出警告

使用 gedit 发出警告

在使用 gedit 作为文本编辑器编译 C 代码时,我永久收到警告。我gedit file&在 shell 中启动了文本编辑器。我使用 Ubuntu 20.04.5 LTS。警告内容如下:

(gedit:915949): Gtk-WARNING **: 22:02:02.233: Negative content width -6 (allocation 18, extents 12x12) while allocating gadget (node label, owner GtkLabel)

这是什么意思 ?我应该怎么办 ?

非常感谢您的任何评论。

答案1

中的某些内容gedit,或者您​​正在使用的任何主题中的某些内容,为某些小部件指定了错误的值。在这种情况下,无论其内容是什么,宽度或高度可能都稍微太小(6 像素)。

这只是一个警告。它几乎肯定是无害的,您可以忽略它。

GTK 应用程序——事实上,大多数 GUI 应用程序——总是发出这样的警告。大多数用户看不到它们,因为通过菜单或桌面上的图标启动的应用程序通常会将其 STDERR 输出重定向到名为~/.xsession-errors.

它们几乎总是无害的(它们只是警告 - 严重的问题将被标记为“错误”而不是“警告”,致命错误往往会导致程序崩溃或触发干净的退出),并且它们主要用于开发人员用来调试他们的程序。

如果您确实注意到了一些您认为可能由此警告引起或与之相关的轻微外观缺陷,然后向开发人员(如果您使用的是发行版软件包,则向软件包维护者)提交错误报告。


但是,如果打印了很多警告,那么当从命令行运行程序时,它们可能会很烦人。特别是当在后台运行时&

如果它们太烦人,您可以随时重定向它们。例如完全忽略错误和警告(不推荐,除非您确定不会有真正的错误,或者您不关心是否有错误):

gedit file 2> /dev/null &

如果您想重定向到 .xsession-errors,与通过菜单或图标启动的程序相同,您应该附加2>>而不是仅仅附加2>

gedit file 2>> ~/.xsession-errors &

您甚至可以编写一个函数或 shell 脚本来始终为您执行此操作:

gedit_quiet () { gedit "$@" 2>> ~/.xsession-errors & }

该函数将gedit在后台运行,并使用您提供的任何选项和参数,并将 stderr 重定向到~/.xsession-errors.

将该函数保存到您的 shell 中~/.bash_profile,以便它始终在您的登录 shell 中可用(注意:仅限新 shell - 对 bash 启动脚本的更改不会影响当前运行的 shell)。您可能想将其重命名为更短的名称,例如gq- 但确保它不与现有程序名称冲突。

相关内容