通过unix shell命令查找给定文件扩展名的首选应用程序

jam*_*her 2 unix command-line file-extension user-preferences

这可能不是严格意义上的编程,但如果我找不到现成的解决方案,它可能会成为编程任务: 在UNIX上,什么是用于确定给定文件类型的用户首选应用程序的命令行方法?

我在这里的理想解决方案是阻止我必须执行以下操作的命令:

okular foo.pdf
Run Code Online (Sandbox Code Playgroud)

并允许我做这样的事情,使用我设置的首选应用程序:

launch foo.pdf
Run Code Online (Sandbox Code Playgroud)

我没有通过搜索找到答案,并且DIY方法不起作用,虽然我已经使用Linux一段时间了,但我不知道管理我首选应用程序的内部.

dmc*_*kee 5

在unix 本身上,这将是用户用来打开它的那个,因为没有首选应用程序的操作系统级别概念.

然而,主要的X桌面环境都定义了这样的概念,然后你必须使用他们的设施:

  • gnome-open 在GNOME(duh)
  • exo-open 在XFCE中[参见gnome链接中的注释]
  • xdg-open 可以在许多环境中工作(据说在KDE中工作)[参见gnome链接中的注释]
  • 只是普通kfmclient exec(或kfmclient4 exec)在KDE(我一直没能找到一个参考kde-open罗布^ h建议,并没有一个KDE系统在手试试)

现在,Mac OS X提供的open命令就像点击查找器中的文件一样(也就是说,它会询问操作系统......)


多次更正归功于评论中的流行语.我不会讨论mailcap,因为我从来没有理解它,忘记它存在...