我正在使用 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 文件 mimeinfo在extra
存储库中管理 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