Answers:
您可以在存储库中使用perl-file-mimeinfoextra
来管理模仿类型。
打开以下所有.pdf
文件的示例apvlv
:
/usr/bin/vendor_perl/mimeopen -d $file.pdf
然后在提示符下输入应用程序:apvlv
。
xdg-open
未配置的xdg-open
文件和使用的应用程序都不会正确打开文件。
-d
开关设置默认。因此,如果您使用它打开fileA.pdf
-那么您应该可以fileB.pdf
使用自己喜欢的应用程序打开。
mimeopen -d a.pdf
为设置默认值*.pdf
,但为自身设置默认值- mimeopen b.pdf
有效。但是xdg-open
配置保持不变,它仍然使用以下命令打开所有内容firefox
:/
mimeopen
,xdg-open
其行为便与预期的一样-对于.pdf
s,它将使用来打开它们apvlv
。
sudo xdg-mime default pluma.desktop text/plain
给touch: cannot touch "/home/user/.local/share/applications/mimeapps.list": No such file or directory /usr/bin/xdg-mime: 807: /usr/bin/xdg-mime: cannot create /home/user/.local/share/applications/mimeapps.list.new: Directory nonexistent
; /usr/bin/vendor_perl/mimeopen -d $file.txt
给bash: /usr/bin/vendor_perl/mimeopen: No such file or directory
。
为什么不使用xdg本身的实用程序?
使Thunar成为默认的文件浏览器,即打开文件夹的默认应用程序。
$ xdg-mime default Thunar.desktop inode/directory
将xpdf用作默认的PDF查看器:
$ xdg-mime default xpdf.desktop application/pdf
这将在您的本地MIME数据库中创建一个条目:
~/.local/share/applications/defaults.list
[Default Applications]
application/pdf=xpdf.desktop
您的PDF文件应该现在用xpdf打开。
defaults.list
因此可以根据需要手动进行编辑。
xdg-mime
没有进行修改defaults.list
,但是手动编辑(由于此答案中的提示)可以解决问题。
在Debian上,您可以以root身份使用命令
update-mime-database /usr/share/mime
已shared-mime-info
安装软件包。
您可以使用类似的方法xdg-mime
为每个.desktop
文件及其包含的mimetypes 生成适当的命令,然后执行所需的文件。注意/usr/share/applications
可能有子目录。
for dd in /usr/share/applications ~/.local/share/applications; do
for d in $(ls $dd 2>/dev/null | grep "\\.desktop$"); do
for m in $(grep MimeType $dd/$d | cut -d= -f2 | tr ";" " "); do
echo xdg-mime default $d $m;
done;
done;
done
就像@aleb的答案一样,但是它适用于带空格的桌面文件:
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
xdg-mime
(的一部分xdg-utils
)是使用(查询,配置)的最佳答案xdg-open
。另请参见unix.stackexchange.com/questions/8793/…–