使用 xdg-open 打开一个带有新进程的 url

Nic*_*lin 17 command-line file-opening

我开始尝试将Crunchbang(基于 Debian,并使用terminator)作为 Web 开发环境,而我正在努力解决的问题之一是xdg-open. 我来自 OSX 背景,所以如果这个问题过于密集,请原谅我。

我希望能够打开一个 url,xdg-open http://www.google.com然后继续使用相同的终端窗口来工作(这就是openOSX 中的功能)。现在, usingxdg-open占用当前选项卡/会话,直到我关闭浏览器窗口,或手动结束ctrl + c。我更喜欢它启动一个新进程,这样我就可以打开一个 URL,引用页面上的数据,并在同一个选项卡/窗口中使用它,而无需打开额外的一个。

ter*_*don 15

奇怪的是,它在我的 Debian 上开箱即用。尝试在后台运行它:

xdg-open http://www.google.com &
Run Code Online (Sandbox Code Playgroud)

您可以通过将这些行添加到您的~/.bashrc文件中,使其成为一个函数:

function open () {
    xdg-open "$*" &
}
Run Code Online (Sandbox Code Playgroud)

然后您可以简单地运行open http://www.google.com,它将在后台运行。


Dan*_* D. 10

如果您想将进程与当前 shell 分离,而不是将其作为后台作业启动xdg-open http://www.google.com &,我喜欢该detach实用程序:

detach xdg-open http://www.google.com
Run Code Online (Sandbox Code Playgroud)

可以为此创建一个别名。我喜欢detachnohup默认情况下关闭 stdin stdout 和 stderr,因此它的调用更清晰。

  • 唉,我的发行版中似乎不存在“detach”。``nohup`` 启动进程,但仍占据终端窗口。 (4认同)