如何在没有任何环境的情况下正确、轻松地配置`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

相关内容