Ubuntu(20.04 LTS)出了个奇怪的现象,本地路径的 scheme 处理程序,莫名其妙变成了 vscode。
1 2 3 |
cat ~/.config/mimeapps.list | grep -i code text/html=code-url-handler.desktop x-scheme-handler/vscode=code-url-handler.desktop |
【后面指定的 .desktop
文件存在于两个地方,/usr/share/applications
和 ~/.local/share/applications
下。】
而 ~/.local/share/applications
下也有 mimeapps.list
文件,未验证是否生效。据 https://askubuntu.com/questions/90214/how-do-i-set-the-default-program 中的某回答,说 mimeapps.list
文件的位置,~/.local/share/applications/mimeapps.list
已欲废止,而应该优选使用 ~/.config
。
mimeapps.list
文件的同级目录下还有名为 defaults.list
的文件,其内容组织基本一致。个人的看法是,前者的作用在于将类型与处理程序登记在册,而后者则是指定其一为默认处理程序。于是在两者里都添加了 x-scheme-handler/file=nautilus-folder-handler.desktop
的语句,试图用它来覆盖 vscode。file 这个是因为看到了 http 而照猫画虎写的,但从 http://edoceo.com/howto/xfce-custom-uri-handler 处可知,应该写法是对的。后来又发现,mimeapps.list
文件中本身就分 [Added Associations]
和 [Default Applications]
两节,由此反而不知 defaults.list
文件的作用。令人困惑。