相关疑难解决方法(0)

如何阻止 gedit(和其他程序)在我的终端中输出 GTK 警告等?

从 raring 升级后,我在 trusty 上运行了很棒的窗口管理器。我的桌面环境故意没有运行所有的 Gnome / Freedesktop 守护进程——我不想要它们。

当我gedit从这样的终端执行时:

gedit file
Run Code Online (Sandbox Code Playgroud)

每当我按回车键或保存或在其他各种情况下,它都会在我的终端上输出这样的消息:

(gedit:5700): Gtk-WARNING **: Calling Inhibit failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files
Run Code Online (Sandbox Code Playgroud)

我明白这个警告的意思,我决定这对我来说无关紧要。

我怎样才能关闭这种警告?我所说的“关闭”并不是指任何这些或类似的解决方法:

  • 将 gedit 的输出通过管道传输到 /dev/null
  • 编写一个包装脚本,将 gedit 的输出通过管道传输到 /dev/null
  • 创建一个别名,将 gedit 的输出传送到 /dev/null

这些变通方法是不可接受的,因为它们必须单独应用于每个 Gnome 应用程序 — gedit 并不是唯一喜欢弄乱终端的应用程序。

gedit gtk

36
推荐指数
1
解决办法
3万
查看次数

如何让 zenity“临时父母”警告永久消失

Zenity 总是在终端中显示警告让我很恼火:

Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
Run Code Online (Sandbox Code Playgroud)

显然我不是唯一一个:

几乎所有的答案都告诉您通过附加2>/dev/null到命令的末尾来改变调用 zenity 的方式。我不想对我已经编写的所有代码执行此操作,也不想在以后编写的代码中记住这一点。

有没有更简单的方法让这条烦人的消息消失?

command-line bash gtk zenity redirect

6
推荐指数
2
解决办法
5289
查看次数

标签 统计

gtk ×2

bash ×1

command-line ×1

gedit ×1

redirect ×1

zenity ×1