如何在沒有任何環境的情況下正確、輕鬆地配置`xdg-open`?

如何在沒有任何環境的情況下正確、輕鬆地配置`xdg-open`?

我正在使用 OpenBox 視窗管理器沒有任何桌面環境

xdg-open行為奇怪。它用 來打開所有內容firefox

$ xdg-settings --list
Known properties:
  default-web-browser           Default web browser

我正在尋找一個簡單的程式;就像閱讀每一個*.desktop文件輸入/usr/share/applications/資料夾並自動設定 xdg 設定。

答案1

為什麼不使用 xdg 本身的實用程式?

使 Thunar 成為預設檔案瀏覽器,即開啟資料夾的預設應用程式。

$ xdg-mime default Thunar.desktop inode/directory

使用 xpdf 作為預設 PDF 檢視器:

$ xdg-mime default xpdf.desktop application/pdf

這應該創建一個條目

[Default Applications]
application/pdf=xpdf.desktop

在您本地的 MIME 資料庫中~/.config/mimeapps.list

您的 PDF 檔案現在應該可以使用 xpdf 開啟。

答案2

您可以安裝並使用perl 檔案 mimeinfoextra儲存庫中管理 mimetypes。

.pdf開啟以下位置的所有文件的範例apvlv

/usr/bin/vendor_perl/mimeopen -d $file.pdf

或在其他 Linux 發行版上,不在以下mimeopen目錄中/usr/bin/vendor_perl/,但在其中之一$PATH

mimeopen -d $file.pdf

然後,根據提示輸入應用程式:apvlv

答案3

xdg-mime您可以使用類似的方法為每個檔案及其包含的 mimetypes產生適當的命令.desktop,然後執行您喜歡的命令。注意/usr/share/applications可能有子目錄。

find /usr/share/applications ~/.local/share/applications -iname '*.desktop' -print0 | while IFS= read -r -d $'\0' d; do
  for m in $(grep MimeType "$d" | cut -d= -f2 | tr ";" " "); do
    echo xdg-mime default "'$d'" "'$m'"
  done
done

答案4

對於像我這樣不知道如何獲得正確的 mimetype 來使用的人xdg-mime

1- 初始情況:

$ xdg-open .開啟 vscodium(誰硬編碼了這個愚蠢的檔案關聯?):[

2-問題:「.」的默劇類型是什麼?

$ mimetype . .: inode/directory

3-解決方案:

$ xdg-mime default thunar.desktop inode/directory

注意:以下行不起作用,但不會報告錯誤:{ $ xdg-mime default Thunar.desktop inode/directory

相關內容