從網上下載了幾本中文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