根据 MIME 类型关联
① 查看文件 MIME 类型
xdg-mime query filetype <your-file-path> # 或者 mimetype <your-file-path> # 或者 file -i <your-file-path>
② 查询打开某类文件的默认程序
gio mime <mime-type> # 或者 xdg-mime query default <mime-type>
③ 设置打开某类文件的默认程序
gio mime <mime-type> <application> # 或者 mimeopen -d <your-file-path> # 或者 xdg-mime default <application> <mime-type>
④ 使用示例
choi@lanseyujie:~/Desktop$ xdg-mime query filetype Complete_NGINX_Cookbook.pdf application/pdf choi@lanseyujie:~/Desktop$ gio mime application/pdf Default application for “application/pdf”: foxitreader.desktop 已注册的应用程序: foxitreader.desktop gimp.desktop krita_pdf.desktop display-im6.q16.desktop 推荐的应用程序: foxitreader.desktop gimp.desktop krita_pdf.desktop display-im6.q16.desktop choi@lanseyujie:~/Desktop$ gio mime application/pdf foxitreader.desktop Set foxitreader.desktop as the default for application/pdf
根据后缀名关联
① 创建新的 MIME 类型,此处以为 *.tvs 文件为例,*.tvs 是 TeamViewer 的录制的视频文件(当然了这个仅仅是演示,目前的 TeamViewer 被唤起后并不能主动播放文件),使用 mimetype 命令查看得知其本质为 text/plain 类型,需要为其设置新的 MIME 类型以便进行关联。
cd ~/.local/share/mime/packages nano application-x-tvs.xml # 写入如下内容 <?xml version="1.0" encoding="UTF-8"?> <mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info"> <mime-type type="application/x-tvs"> <glob pattern="*.tvs"/> <comment>TeamViewer Screen Record</comment> </mime-type> </mime-info> # 更新 MIME 数据库 update-mime-database ~/.local/share/mime
② 创建关联的应用程序启动图标
如果没有启动图标,推荐使用 menulibre 来辅助创建,参考《Deepin常见问题及优化技巧》中的 启动器菜单编辑 一节进行安装。
③ 关联默认使用的程序
nano ~/.config/mimeapps.list [Added Associations] application/x-tvs=com.teamviewer.TeamViewer.desktop;
④ 关联文件类型图标
将图标命名为 application-x-tvs 按不同尺寸放在 ~/.local/share/icons/hicolor/mimetypes/<icon-size>/ 或 /usr/share/icons/hicolor/<icon-size>/mimetypes/ 文件夹里重启一下 dde-desktop 进程即可生效。
killall dde-desktop
本文标题:Linux下的文件关联
版权声明:本文使用「署名 4.0 国际」创作共享协议,转载或使用请遵守署名协议。
相关文章
上一篇:汶川,十年