何の環境もなく `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

インストールして使用してくださいパールファイルmimeinfoextraリポジトリでMIMEタイプを管理します。

.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同様のアプローチを使用して、各ファイルとそのファイルに含まれるMIMEタイプの適切なコマンドを生成し、必要な.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

私のように正しいMIMEタイプを使用する方法がわからない人のために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

関連情報