从网上下载了几本中文pdf文档,用系统自带的Evince——文档查看器打开后出现乱码。想到FoxitReader有个linux版本,于是从其官方网站下载下来,打开该文档未出现乱码。
但是因为默认pdf与Envince关联,所以想要用FoxitReader来看pdf文档,只能先打开FoxitReader,然后点文件-》打开菜单,选择pdf文档,才能阅读,稍有麻烦。怎么才能设置默认的pdf关联方式呢?
文件关联的原理主要是设置文件类型与应用程序之间的联系。
文件的类型由mimetype(.xml) 描述,存放在
/usr/share/mime
~/.local/share/mime
应用程序由desktop entry(.desktop)描述,存放在
/usr/share/applications
~/.local/share/applications
xdg-open程序负责根据关联的程序打开文件。
xdg-open先判断文件类型,然后到
/usr/share/applications/defaults.list
~/.local/share/applications/defaults.list
找到指定的.desktop,并根据其中的命令打开应用程序。
xdg-mime可以修改默认文件关联。
查看文件的mime类型:
xdg-mime query filetype a.pdf
查看mime类型的应用程序关联:
xdg-mime query default application/pdf
修改mime类型的应用程序关联:
xdg-mime default evince.desktop application/pdf
还可以直接改defaults.list。该文件存放于:
/usr/share/application
/etc/gnome
~/.local/share/applictions
按照全局性依次降低。
快捷的方式是在Nautilus中选择用其他方式打开,选择想要打开的程序,将“记住打开pdf文档类型文件使用的程序“打勾,会自动创建文件关联,可在~/.local/share/applicaions中看到新加的条目。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
额外学习的命令用法
grep "pdf" applicaions >> ~/.local/share/applicaions
"在application文件中查找出pdf文件关联的那一行并追加到~/.local/share/applicaions中
vim中的替换方法 %s/totem/smplayer/g