相关疑难解决方法(0)

xdg-open 打开与 xdg-mime 查询指定的应用程序不同的应用程序

我在没有桌面环境的情况下运行 Debian Jessie(我使用平铺窗口管理器 i3)并且喜欢使用xdg-open首选应用程序快速打开文件。不过,我在为 PDF 文件设置首选应用程序时遇到了一个持续的问题。简而言之,这是我的问题:

$ xdg-mime query filetype ~/Downloads/document.pdf
application/pdf

$ xdg-mime query default application/pdf
/usr/share/applications/qpdfview.desktop

$ xdg-open ~/Downloads/document.pdf
[opens gimp!]
Run Code Online (Sandbox Code Playgroud)

任何想法都将不胜感激 - 这已经困扰了我大约一年。我曾经设法(暂时)修复它的唯一方法是直接编辑mimeinfo.cachegimpapplication/pdf记录中删除对 的引用。

是的,/usr/share/applications/qpdfview.desktop存在并包含qpdfview二进制文件的正确位置。(确实,这个 .desktop 文件在我手动编辑时使用mimeinfo.cache。)

debian xdg-open

9
推荐指数
1
解决办法
3015
查看次数

如何使 xdg-open 遵循 Debian 中的 mailcap 设置

tl;博士:

在 Debian 中xdg-open(通过xdg-mime)不遵循我更喜欢使用的mailcap规范run-mailcap是否有一些系统的方法来xdg-open跟踪mailcap条目?理想情况下,比修改xdg-open脚本以始终调用run-mailcap.

语境

Debian(从 9.5 开始)有几个系统用于设置默认应用程序,或者更具体地说,关联文件扩展名、MIME 类型和程序(或程序操作)。在这个答案中简要回顾它们。粒度最大的两个主要(就 MIME 关联而言)是

  1. 针对桌面环境的“更现代”XDG 标准
  2. mailcap系统更多地针对邮件代理和终端环境(或与桌面无关)。在这个答案中有很好的描述。

目标

我更喜欢使用第二个 mailcap 系统,因为它的通配符mailcap.order方法可以非常方便地自动将应用程序与其支持的所有(或部分)MIME 类型相关联,并且还可以区分给定 MIME 类型的查看器和编辑器。该系统也与系统更新紧密相关,即更新包不会改变关联顺序。

执行入口点

上面提到的两种方法有不同的入口点

  1. XDG用途 xdg-open
  2. mailcap 系统使用run-mailcap或其别名 ( view, edit)

但是,不同的程序调用不同的入口点,所以结果可能不一致。我正在努力实现这一目标。

xdg-open 可能会倒退 run-mailcap

经检查,如果桌面处于活动状态/usr/bin/xdg-openxdg-utils-1.1.1-1+deb9u1它似乎xdg-open会尝试使用xdg-mime(在非常一般的意义上,不一定是桌面环境),否则它可能会回退(run-mailcap如果它可用)。

# ... line …
Run Code Online (Sandbox Code Playgroud)

defaults debian mime-types xdg-open

7
推荐指数
1
解决办法
922
查看次数

标签 统计

debian ×2

xdg-open ×2

defaults ×1

mime-types ×1