改变xdg-open的行为

pyr*_*hic 3 linux terminal xdgutils

我在Ubuntu Linux终端中经常使用命令xdg-open。但是,有两件事让我很烦:

  1. 是否可以消除错误消息?

  2. 是否可以使命令始终完成?(也就是说,不要继续运行,这样我的终端中会有另一个“新行”)。

由于程序的工作方式,我意识到2不可能实现,但我想1可以实现。

Fla*_*mma 6

第一个很简单。只是

alias xdg-open="xdg-open 2>/dev/null"
Run Code Online (Sandbox Code Playgroud)

如果要永久保留,只需将该行添加到〜/ .bashrc文件。

但是,如果您想对错误视而不见,我建议您三思。

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

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

# 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 &
Run Code Online (Sandbox Code Playgroud)