首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >改变xdg-open的行为

改变xdg-open的行为
EN

Stack Overflow用户
提问于 2014-01-13 05:29:28
回答 2查看 5.1K关注 0票数 7

在我的Ubuntu终端中,我经常使用xdg-open命令。然而,有两件事让我感到厌烦:

  1. 是否有可能抑制错误消息?
  2. 是否有可能使命令始终完成?(也就是说,不要继续运行,以便在我的终端中有另一条“新线路”)。

我意识到2可能是不可能的,因为程序的工作方式,但我想1是。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-23 09:16:02

第一个很简单。只是

代码语言:javascript
复制
alias xdg-open="xdg-open 2>/dev/null"

如果您想永久地使用它,只需将该行添加到~/..bashrc文件中即可。

不过,如果你想对错误视而不见,我建议你三思。

第二个让我很困惑。xdg-open不应该是交互的。在我的计算机(Debian )xdg中,打开命令并结束命令,即使命令本身没有结束(即:您没有关闭为URL打开的应用程序)。我认为这应该是XDG在任何平台上的行为(它应该在任何XDG系统上以完全相同的方式工作,这就是它的目的)。

无论如何,对于在shell中启动的任何命令,如果希望它是非交互式的,也就是说,即使前面的命令尚未完成,也允许输入命令,只需将"&“附加到它的末尾即可。示例:

代码语言:javascript
复制
# prompt is not shown until you close the calculator
$ gnome-calculator
# prompt is shown right after opening calculator and you can 
# work on the shell even if you don't close it
$ gnome-calculator &
票数 12
EN

Stack Overflow用户

发布于 2014-11-15 11:25:04

我可能迟到了,但我遇到了和你完全一样的问题。

我尝试用xdg启动一个URL,我的默认浏览器是firefox,而不是xdg,但是firefox一开始就有一个错误:

代码语言:javascript
复制
[user@user-pc ~]$ xdg-open https://www.google.de # the page opens fine, but firefox had an error
[user@user-pc ~]$ 
(process:3783): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed

# needed to press enter here

xdg-打开关闭良好,但firefox错误仍然存在,我需要按回车才能让bash移动。

为了解决这个问题,我在一个新的shell中调用xdg,将这些输出放入/dev/null:

代码语言:javascript
复制
bash -c "xdg-open https://www.google.de" 2> /dev/null

页面打开得很好,没有显示错误--而是没有显示任何错误。不需要按enter键。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21084457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档