google-chrome-stable 不尊重 xdg-open

google-chrome-stable 不尊重 xdg-open

我使用google-chrome-stablein下载了一个文件~/Downloads/video.mkv,但在 Chrome 的下载页面中单击该文件会以某种方式在 Firefox 而不是我的默认视频播放器中打开该文件。

正确运行xdg-open ~/Downloads/video.mkv会打开我的默认播放器 mpv。

xdg-mime query default $(xdg-mime query filetype ~/Downloads/video.mkv)也正确输出mpv.desktop

xdg-settings get default-web-browser输出google-chrome.desktop

我不知道为什么它会在这里触发 Firefox。有什么办法可以解决这个问题吗?

编辑:我已经成功缩小了错误的范围。问题是,当 Chrome 尝试打开 mpv 时,它会崩溃,这就是为什么它会退回到使用浏览器打开文件路径(这可以用BROWSER环境变量覆盖,但不知何故默认为 Firefox)。

这是日志:

mpv: symbol lookup error: mpv: undefined symbol: vkCreateXlibSurfaceKHR

我不知道为什么 mpv 会抛出这个错误。如果我在命令行中正常运行 mpv 则不会出现此错误。

答案1

打开 mimeapps.list 文件。您可以在 ~/.local/share/applications/mimeapps.list 中找到该文件。如果该文件不存在,请创建一个新文件。

检查是否有视频文件 MIME 类型的条目(在本例中,.mkv 文件为 video/x-matroska)。如果没有条目,请添加一个。如果存在指向 Firefox 的现有条目,请将其更改为指向您首选的视频播放器(在您的情况下为 mpv.desktop)。该条目应如下所示:

[Default Applications]
video/x-matroska=mpv.desktop

Save the file and close the text editor.

重新启动 Chrome 并尝试从下载页面再次打开视频文件。它现在应该在 mpv(您的默认视频播放器)中打开。

如果这不起作用,您可能需要将该问题作为错误报告给 Google Chrome 团队,因为这可能是 Chrome 处理系统上文件关联的方式出现问题。

相关内容