我在 Arch Linux 中使用 KDE 时遇到了一个不寻常的问题。具体来说,Dolphin 会将.md
文件扩展名为 MATLAB 的文件检测为 Markdown 文件,但只有当文件的前两个字符是 MATLAB 时才会检测到##
(是的,确实如此)。
以下是我从 shell 进行的一个简单测试:
[jason@jasons-laptop Desktop]$ xdg-mime query filetype test-1.md
text/x-matlab
[jason@jasons-laptop Desktop]$ cat test-1.md
## test
[jason@jasons-laptop Desktop]$ xdg-mime query filetype test-2.md
text/markdown
[jason@jasons-laptop Desktop]$ cat test-2.md
Test
有谁知道是什么导致了这个错误,或者如何修复它?我试过使用update-mime-database
,但似乎没有帮助。我会考虑提交错误报告,但我不太确定哪个程序应该负责。
答案1
我找到了答案!我必须将以下几行添加到~/.local/share/mime/packages/Override.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mime-info>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="text/markdown">
<magic priority="50"><match value="##" type="string" offset="0"/></magic>
</mime-type>
</mime-info>
然后运行update-mime-database /home/[username]/.local/share/mime
。
我仍然不太清楚为什么##
文件默认被检测为 MATLAB。