2009-12-22 40 views
2

這可能不是嚴格關於編程,但是如果我找不到現成的解決方案,它可能會成爲編程任務:在UNIX上,什麼是命令一種確定給定文件類型的用戶首選應用程序的方法?通過unix shell命令查找給定文件擴展名的首選應用程序

我的理想在這裏的解決辦法是停止我不得不做如下的命令:

okular foo.pdf 

,讓我做這樣的事情,與我的設置首選應用程序工作:

launch foo.pdf 

我沒有找到答案通過搜索,並且DIY方法不起作用,雖然我一直在使用Linux一段時間,但我不知道管理我的首選應用程序的內部線索。

回答

5

對於unix 本身這是用戶用來打開它的那個,因爲首選應用程序沒有OS級別的概念。

但是主要的X桌面環境中的所有定義這樣的概念,那麼你必須使用他們的設備:

  • gnome-open在GNOME(杜)
  • exo-open在XFCE [看到侏儒評論鏈接]
  • xdg-open在許多環境中(據說工作在KDE)[見在GNOME鏈接]評論可能工作
  • 只是普通kfmclient exec(或kfmclient4 exec)以K DE(我一直沒能找到kde-open參考爲Rob H suggests,並沒有一個KDE系統在手試試)

現在的Mac OS X提供了open命令,它的工作原理是點擊文件在取景器(這是說,它要求操作系統...)


幾個感謝在評論ephemient更正。我不會討論mailcap,因爲我從來沒有理解它,並忘記它存在...

+0

'xdg-open'不是來自xdm,它來自http://portland.freedesktop.org/並且設計爲桌面激動型; KDE的例子是不準確的,它是'kfmclient exec'(或者如果你的發行版重命名二進制文件,則是'kfmclient4 exec');你沒有提到傳統的'mailcap'機制。 – ephemient 2009-12-23 01:56:50

+0

xdg-open似乎正是我在這裏尋找的。可愛。 – jameshfisher 2009-12-23 09:51:36

1

答案因您使用的桌面環境而異。既然你提到了Okular,我會假設你在使用KDE。因此,嘗試:

kde-open <file> 

對於GNOME,還有就是相當於:

gnome-open <file> 
0

要回答這個問題我自己,我已經定義了一個簡單的(bash)的功能,在我所期望的方式工作:

function show { 
    xdg-open $1 &> NUL 
    } 

xdg-open幾乎正是我想要的,但它讓醜陋的程序警告滑入外殼,上面似乎修復。

謝謝大家。

+0

管道到'NUL'創建一個名爲'NUL'的文件。我想你想要'/ dev/null',這是一個真正的'黑洞'。 – 2010-12-25 00:19:57