如何像 macOS 那样打开特定的应用程序“open -a”?

如何像 macOS 那样打开特定的应用程序“open -a”?

在 macOS 的默认终端运行中bash,我可以输入:

open -a Firefox http://www.wikipedia.org

使用 Firefox 或其他浏览器打开 URL。它还可用于启动程序(例如)open -a maps,并在默认程序中打开文件(例如)open file.pdf

我如何在 Ubuntu 上默认的 GNOME 终端中执行相同操作bash?我知道我可以使用 打开文件或 URL xdg-open /path/to/file,也可以使用 打开默认浏览器sensible-browser。Ubuntu 是否有通用命令来打开文件、应用程序或特定应用程序中的文件?

bash我在两台机器上运行,3.2.57(1)-release一个在 macOS,一个4.4.19(1)-release在 Ubuntu。

答案1

您可以具体使用您想要的程序的名称(如果它可以用作命令行工具)。

例如,网址:

firefox duckduckgo.com
chromium-browser askubuntu.com

PDF:

evince foo.pdf
okular bar.pdf

图片:

gpicview foo.png
feh bar.jpeg

正文:

gedit foo.txt
mousepad /etc/config
leafpad bar.xml

视频/音乐:

mpv  foo.mp3
vlc  bar.mp4

如果您希望程序在与终端分离的情况下运行,那么我喜欢采用以下方式:

nohup program args &

例如:

nohup firefox askubuntu.com &

请记住,您始终可以照常重定向输出,例如:

nohup firefox duckduckgo.com &> /dev/null &

答案2

作为在回复中指出对于公认的答案,相当于openLinux 中 macOS 的命令是xdg-开放

xdg-open 在用户首选的应用程序中打开文件或 URL。如果提供了 URL,则 URL 将在用户首选的 Web 浏览器中打开。如果提供了文件,则文件将在该类型文件的首选应用程序中打开。xdg-open 支持文件、ftp、http 和 https URL。

与 macOS 相比open,主要区别在于您无法从命令行指定要使用的特定应用程序。为此,您可以参考已接受的答案,因为这个问题在 Linux 中毫无意义,因为应用程序通常已在您的 PATH 中可用。

相关内容