於 CLI 要開啟檔案,類似 GUI (Nautilus) 的執行,會自動挑選程式開啟,要怎麼做?
Linux 於 CLI 自動挑選程式開啟檔案 要怎麼做?
於 CLI 要開啟檔案,類似 GUI 的執行(滑鼠點兩下執行),會自動挑選程式開啟,有下面幾種可以使用:
- gnome-open opens a file with Gnome's default application
- kde-open opens a file with KDE's default application
- xdg-open opens a file with X's default application
先說結論:若使用 Xwindow 若選用 Gnome,就用 gnome-open filename,若沒有 gnome-open 則使用 xdg-open filename
下面有做些測試
- gnome-open:於 Gnome 的話,就使用 gnome-open filename 即可。
- xdg-open:於 CLI 的話,xdg-open filename.txt,會用 less 直接開啟檢視。
- kde-open:沒測過,不過應該跟 gnome-open 一樣意思,KDE 應該要用 kde-open 比較好
可以寫程式詢問要用哪些程式來開啟,下述程式取自此篇:Open file from terminal in specific application
#!/bin/bash read filename myvar=$(zenity --list --text="Chose a non-default program" --column="Programs" firefox gedit) $myvar filename &
查詢與設定遇到的檔案類型,使用哪個預設的程式來開啟執行 (使用 xdg-mime query (查詢) 和 xdg-mime default (設定))
- $ xdg-mime query default application/pdf # 查詢 pdf 預設開啟程式
AdobeReader.desktop - $ xdg-mime default evince.desktop application/pdf 設定使用 evince (文件檢視器) 來打開
- $ xdg-mime query default application/pdf
evince.desktop - evince xxx.pdf # 使用文件檢視器打開
Windows CLI (cmd) 開啟網址方式
- start filename / URL
- cmd /c start filename / URL
MacOS 開啟網址方式
- open filename / URL
- open -a /Applications/Firefox.app http://www.google.com # 指定 Application