1个关于设置默认启动程序的严重bug
Tofloor
poster avatar
JerryABCD
deepin
2020-10-02 15:51
Author
比如,我想设置firefox为默认看图软件,但右键设置默认应用时其他应用里没有firefox。(Firefox是个绿色软件)当我去/usr/share/Applications里选择它的desktop文件时,却发现选中后没有任何变化。
(不知道论坛出了啥问题,最近没法传图。)
而当我前往设置>默认应用里设置图片默认程序为Firefox时,(当然也得手动选desktop文件)就成功了。
这还只是拿图片说,像pdf这种文件我根本没办法。

所以请尽快修复这个bug
并且希望在新版中把一切在applications文件夹 里的所有注明type=application的desktop文件全都扫到选择默认程序菜单里
希望能在设置里出涵盖电脑上存在的所有文件后缀的、统一的默认程序设置界面。


Reply Favorite View the author
All Replies
wtz
deepin
2020-10-02 16:52
#1
右键设置默认打开程序那个bug,15.9的时候就有了。只要你之前手动添加过某个.desktop文件,那就无法再次添加同名的.desktop文件。
建议你检查一下这个文件夹:~/.local/share/applications
把除了 defaults.list  mimeapps.list 这两个文件以外的其他文件都删掉。
然后重新设置默认打开程序,就可以了。

关于开始菜单:以前的版本就是把所有“type=application”的项目都加到开始菜单。Gnome桌面也是这么干的。
然后就有人反对,因为很多应用程序的组件和依赖(wine、xterm)也会出现在开始菜单里,并且自带图标往往很丑,所以很碍眼。
后来就只有“=false”和“NotShowIn”不包含当前桌面的应用才能显示在开始菜单中了。

根本原因还是xdg规范里面没有强制分级的措施,于是各家搞各家的,结果整合应用的时候一片混乱。
Reply View the author
JerryABCD
deepin
2020-10-02 17:17
#2
https://bbs.deepin.org/post/203204
右键设置默认打开程序那个bug,15.9的时候就有了。只要你之前手动添加过某个.desktop文件,那就无法再次添 ...

我说的是选择默认程序菜单,不是开始菜单(启动器)
Reply View the author
JerryABCD
deepin
2020-10-02 17:20
#3
https://bbs.deepin.org/post/203204
右键设置默认打开程序那个bug,15.9的时候就有了。只要你之前手动添加过某个.desktop文件,那就无法再次添 ...

你是说,当我选择程序后,系统会尝试在applications文件夹创建一个desktop文件,而不是直接打开。
而我选择的desktop文件本来就位于applications文件夹。这就让它无法创建了。
Reply View the author
wtz
deepin
2020-10-02 18:40
#4
https://bbs.deepin.org/post/203204
你是说,当我选择程序后,系统会尝试在applications文件夹创建一个desktop文件,而不是直接打开。
而我选 ...

首次手动选择的.desktop文件会被复制到~/.local/usr/share/applications下面,并且被重命名为“dde-file-manager-custom-open-MIME.desktop”,其中“MIME”是被打开的文件的MIME类型(如纯文本文件对应“text-plain”)。
之后如果再次选择其他的.desktop,由于“dde-file-manager-custom-open-MIME.desktop”已经存在,所以再次复制失败,关联的程序也就没有更新了。

“默认程序菜单”目前对.desktop文件的支持也有问题,如果.desktop文件里没有“MimeType=”一行,那就无法创建“dde-file-manager-custom-open-MIME.desktop”,所以也无法关联。

目前xdg规范是根据文件内容(也即file命令)获取文件格式,并非根据后缀名获取文件格式。而file命令给出的文件格式是基于MIME规范定义的,如果MIME规范里没有相应的格式(如“txt”->“text/plain”,“doc”->“ application/msword”),那file命令也无法判断文件格式,所以文件管理器也无法给文件分配相应的默认打开程序。

简言之:要关联打开方式,先要定义文件格式;要定义文件格式,先要判断文件内容;要判断文件内容,先要安装解析文件内容的程序(见/usr/share/mime-info)。
因此,现行xdg规范下,要想通过文件管理器指定某一文件的打开方式,必须先安装允许打开该文件的程序。

Windows的思路:管你MD格式规范,后缀名是啥,你就是啥。你让我用啥程序打开,我就用啥程序打开。

形式主义 v.s. 实用主义。
Reply View the author
JerryABCD
deepin
2020-10-02 19:28
#5
https://bbs.deepin.org/post/203204
首次手动选择的.desktop文件会被复制到~/.local/usr/share/applications下面,并且被重命名为“dde-file- ...

我感觉用windows的思路,把规范什么的抛到脑后(估计几乎没有人在意),这些bug是最好修的
Reply View the author
JerryABCD
deepin
2020-10-02 19:28
#6
https://bbs.deepin.org/post/203204
首次手动选择的.desktop文件会被复制到~/.local/usr/share/applications下面,并且被重命名为“dde-file- ...

谢谢科普
Reply View the author
JerryABCD
deepin
2020-10-02 19:29
#7
https://bbs.deepin.org/post/203204
首次手动选择的.desktop文件会被复制到~/.local/usr/share/applications下面,并且被重命名为“dde-file- ...

谢谢科普
Reply View the author