每次我去关于:支持并点击“打开目录”,Firefox 使用 SMPlayer 打开它,然后 mpv/mplayer 抱怨:
Playing: /home/sebastien/.mozilla/firefox-esr/empty6/persdict.dat
Failed to recognize file format.
Exiting... (Errors when loading file)
所以我搜索了“smplayer”关于:偏好设置#应用程序但找不到它。
我也在关于:配置但也找不到它。
最后,我在 XDG mimes 类型定义中搜索了:
$ xdg-mime query filetype ~/.mozilla/firefox-esr/empty6/persdict.dat
text/plain
$ xdg-mime query default text/plain
kate.desktop
$ xdg-mime query filetype ~/
inode/directory
$ xdg-mime query default inode/directory
dolphin.desktop
编辑 0:添加一些xdg-open
命令:
$ xdg-open ~/.mozilla/firefox-esr/empty6/persdict.dat
Fontconfig warning: ignoring C.UTF-8: not a valid language tag
$ pgrep -af /persdict.dat
32659 /usr/bin/kate -b /home/sebastien/.mozilla/firefox-esr/empty6/persdict.dat
$ xdg-open Documents
Fontconfig warning: ignoring C.UTF-8: not a valid language tag
$ pgrep -af /Documents
8437 /usr/bin/dolphin --icon system-file-manager -caption Dolphin /home/sebastien/Documents
编辑 1:inode/directory=
输入~/.local/share/applications/mimeapps.list
:
$ grep inode/directory= ~/.local/share/applications/mimeapps.list
inode/directory=dolphin.desktop;smplayer.desktop;kde4-dolphin.desktop;vlc.desktop;caja-2.desktop;kde4-kfmclient_dir.desktop;kde4-gwenview.desktop;easytag.desktop;nemo.desktop;audacious-qt.desktop;Thunar-folder-handler.desktop;qmmp_cue.desktop;audacious.desktop;kde4-k4dirstat.desktop;pcmanfm.desktop;qmmp_dir.desktop;qmmp_enqueue.desktop;
inode/directory=dolphin.desktop
编辑 2:Firefox 找不到 Dolphin 应用程序启动器,因为它位于以下kde4
子文件夹中/usr/share/applications/
:
$ locate /dolphin.desktop
/usr/share/applications/kde4/dolphin.desktop
解释:Firefox 无法找到dolphin.desktop
,/usr/share/applications/
因此它使用文件inode/directory
中的下一个 mimetype条目:~/.local/share/applications/mimeapps.list
smplayer.desktop
$ grep inode/directory= ~/.local/share/applications/mimeapps.list
inode/directory=dolphin.desktop;smplayer.desktop;kde4-dolphin.desktop;vlc.desktop;caja-2.desktop;kde4-kfmclient_dir.desktop;kde4-gwenview.desktop;easytag.desktop;nemo.desktop;audacious-qt.desktop;Thunar-folder-handler.desktop;qmmp_cue.desktop;audacious.desktop;kde4-k4dirstat.desktop;pcmanfm.desktop;qmmp_dir.desktop;qmmp_enqueue.desktop;
inode/directory=dolphin.desktop
解决方案:感谢ashvatthama 的回答:要解决这个问题,您可以输入以下命令:
xdg-mime default kde4-dolphin.desktop inode/directory
现在它工作正常:
$ pgrep -af /empty6
29083 dolphin --icon system-file-manager -caption Dolphin /home/sebastien/.mozilla/firefox-esr/empty6
我已经看到这个错误好几年了,我很想解决它。
你能帮助我吗 ?
答案1
$ grep inode/directory= ~/.local/share/applications/mimeapps.list inode/directory=dolphin.desktop;smplayer.desktop;kde4-dolphin.desktop;vlc.desktop;caja-2.desktop;kde4-kfmclient_dir.desktop;kde4-gwenview.desktop;easytag.desktop;nemo.desktop;audacious-qt.desktop;Thunar-folder-handler.desktop;qmmp_cue.desktop;audacious.desktop;kde4-k4dirstat.desktop;pcmanfm.desktop;qmmp_dir.desktop;qmmp_enqueue.desktop; inode/directory=dolphin.desktop $ grep inode/directory= /usr/share/applications/mimeinfo.cache inode/directory=Thunar-folder-handler.desktop;kde4-kid3.desktop;kde4-gwenview.desktop;kde4-dolphin.desktop;kde4-kfmclient_dir.desktop;nautilus.desktop;caja-folder-handler.desktop;audacious-qt.desktop;nautilus-folder-handler.desktop;pcmanfm.desktop;audacious.desktop;baobab.desktop;nemo.desktop;
因此您应该做的是编辑这两个文件,使得只有以inode/directory
say开头的行inode/directory=dolphin.desktop
,没有其他内容。
编辑:子文件夹
根据XDG 桌面入口规范:
桌面文件 ID
代表应用程序的每个桌面条目都由其桌面文件 ID 标识,该 ID 基于其文件名。
要确定桌面文件的 ID,请使其完整路径相对于安装桌面文件的 $XDG_DATA_DIRS 组件,删除“applications/”前缀,并将“/”转换为“-”。
例如 /usr/share/applications/foo/bar.desktop 具有桌面文件 ID foo-bar.desktop。
因此您不需要从dolphin.desktop
到建立符号链接kde4/dolphin.desktop
,您只需指定kde4-dolphin.desktop
到xdg-mime
等即可。