5 user-default desktop-environment vlc mime-types xdg-open
在我的 Lubuntu (18.10) 上,xdg-open
当文件未与任何应用程序关联时启动 VLC 播放器。
$ xdg-mime query filetype jquery.js
application/javascript
$ xdg-mime query default application/javascript # no output
$ xdg-open jquery.js
Error: no "view" mailcap rules found for type "application/javascript"
Opening "/tmp/jquery.js" with VLC media player (application/javascript)
Run Code Online (Sandbox Code Playgroud)
对于某些文件,它会启动 Calibre 的电子书查看器(例如 .rb)。
编辑我深入研究xdg-open
并发现它执行以下命令:
xdg-mime query filename "$file"
使用和检查文件类型xdg-mime query default $filetype
run-mailcap --action=view "$file"
mimeopen -L -n "$file"
问题出在mimeopen上。
那么如何更改 mimeopen以使用 Featherpad 或特定应用程序打开任何未知文件?换句话说,如果 mimeopen 找不到任何合适的应用程序,我想设置默认后备应用程序。
小智 5
mimeopen
将未知文件视为text/plain
或application/octet-stream
。
要设置默认应用程序,请使用-d
选项运行 mimeopen。由于我找不到指定 mimetype 的选项,因此您需要首先创建虚拟文件。
touch text.txt # for text/plain
mimeopen -d text.txt # and choose your favorite app
echo -e \\0 > data.dat # for application/octet-stream
mimeopen -d -M data.dat
Run Code Online (Sandbox Code Playgroud)
或编辑“~/.config/mimeapps.list”。
[Default Applications]
text/plain=featherpad.desktop;
application/octet-stream=firefox.desktop;
Run Code Online (Sandbox Code Playgroud)
mimeopen
与File-MimeInfo一起提供,尝试查找具有父mimytypes 的应用程序。例如,如果文件类型以“text/”开头,则它的父文件类型为“text/plain”。所有文件类型都继承“application/octet-stream”。
在我的环境中的 mimeopen 上,最“适合”八位字节流的应用程序是 VLC Player,对于文本/纯文本,它是 Calibre 的电子书查看器。这就是使用这些应用程序打开某些文件的原因。