单击链接下载文件,但 KDE 尝试使用应用程序打开它。怎么下载呢?

单击链接下载文件,但 KDE 尝试使用应用程序打开它。怎么下载呢?

我在 KDE(Arch Linux 上)中运行 Riot.im(一个 Electron 桌面应用程序)。对于许多文件类型,当我在 Riot 中单击链接下载文件时,文件会按预期下载。我看到 KDE 的文件保存对话框。

但是,对于.pub文件(以及可能的其他一些 mime 类型),它们是由应用程序打开而不是下载。对于.pub文件来说,不幸的是,该应用程序是 Okular,这是完全不合适的。

Riot 的支持人员否认 Riot 中的任何内容正在控制这种行为。他们把矛头指向我的操作系统。我想了解 KDE 如何决定在应用程序中打开链接还是下载它,并且我想强制.pub下载这些链接。

Riot 中的下载链接如下所示:

在此输入图像描述

当我单击该链接时,现在会出现此对话框(这是我提到的新行为):

在此输入图像描述

请注意,文件名实际上是,id_ed25519.pub但 KIO 对话框中的文件名是一串随机字符(如 QRRdfN...Mm)。

另请注意,此对话框不提供保存文件关联的选项(就像 KDE 中此类对话框的典型情况一样)。

右键单击下载链接会显示以下信息:

在此输入图像描述

如果我在 Firefox 中打开该链接,则会显示一个文件保存对话框,我可以按预期下载该文件。 Riot 的行为是不同的(并且是不可取的)。

我的目标是让 KDE 为.pubRiot.im 中的链接提供一个文件保存对话框。我怎样才能做到这一点?

编辑:这是一些故障排除的新信息。

我用这个命令检查了所有包是否损坏。没有损坏的软件包。

paccheck --md5sum --quiet

接下来我重新安装了 KDE 和 kde 应用程序。我从存储库核心中选择了 cronie(默认):

pacman -Syu plasma-meta kde-applications-meta
There are 2 providers available for cron:
Repository core: cronie

重新安装 KDE 确实改变了上述行为,但不是以期望的方式。 (这让事情变得更糟,因为我现在无法正确保存公钥。)当我在 Riot.im 中单击相同的下载链接时,KDE 使用 Okular 打开该文件。这既不是公钥的正确应用程序,也不是所需的操作(下载并保存文件)。但是,我相信这是正常/默认行为。 (这是我在开始尝试解决这个问题之前最初的行为。)

下一步,我打开 KDE 系统设置 > 应用程序 > 文件关联并搜索pub.唯一完全匹配的是 application/vnd.ms-publisher。 Okular、Gwenview 和 Libre Office Draw 以及 Kate 都被列为应用程序。我删除了 Okular、Gwenview 和 Libre Office Draw,只留下 Kate。我保存了设置。我检查它们是否被保存(是)并且在 Dolphin 中显示了相同的关联(它们是)。

接下来我再次测试了Riot.im,它仍然打开了与Okular的公钥链接。

我重新安装了kdegraphics-meta(包含 Okular 的元包),重新安装后再次检查 mime 类型文件关联,然后尝试了 Riot.im 中的下载链接。再次,KDE 在 Okular 中打开链接。 Okular.pub不再列在文件应用程序中

这个关联从何而来?我没有通过 xdg-mime 查询找到它(作为 root 或用户):

# xdg-mime query filetype id_rsa_test.pub
text/plain
# xdg-mime query default text/plain
atom.desktop

$ xdg-mime query filetype id_rsa_test.pub
text/plain
$ xdg-mime query default text/plain
org.kde.kate.desktop

编辑2:我再次能够使用这个问题中的步骤更改Riot的mime类型行为:

如何将新的(自定义)mime 类型与文件关联(基于文件扩展名)?

然而,正如那里所述,“在上面显示的 xdg-mime 默认命令之后,Okular 关联消失了,但没有任何东西可以取代它。”这比被迫在 Okular 中打开公钥文件要好,但它也让我回到了第一步。它确实表明 Riot 对系统的哑剧类型做出了响应。它强化了我的信念(以及防暴支持的响应),即这种行为来自系统的哑剧类型配置。我的系统没有损坏或损坏,需要重新安装。我只是缺少.pubRiot 正在查找的地方的文件的正确 mime 配置。 (我不知道解决方案,但我相信证据表明它可以通过进一步的 mime 类型配置来解决。)

这是支持我观点的另一个证据。 Riot.im 将.csv正确下载文件。这表明有可能实现我想要的行为,并且该行为取决于哑剧类型。

使用新的故障排除信息,此问题的目标与上述相同:

我的目标是让 KDE 为下载链接(尤其是公钥文件)提供一个文件保存对话框。 (我绝对不希望那些在奥库拉开业。)

答案1

正如我在本文中指出的回答,我相信您已经成功更改了系统默认设置。在新系统中尝试,如果有效,只需重新安装 报告的软件包即可paccheck

我安装riot-desktop并发送了 .pub 文件,系统提示我打开或者保存存档通过一个猎鹰(我的默认浏览器)对话框。一旦我选择了另存为,我得到了 KDE 另存为对话框。这是一个屏幕截图

在此输入图像描述

我的猜测是这个问题与您认为的基于电子的应用程序无关。为了证明这一点,请将您的 .pub 文件上传到本地 apache 安装或任何 Web 服务器,然后使用默认浏览器打开链接并返回报告。

相关内容