Ubuntu for Windows -- 无法通过 xdg-open 打开 PDF 文件

Ubuntu for Windows -- 无法通过 xdg-open 打开 PDF 文件

我打开 PDF 文件的默认应用程序是 Adob​​e Acrobat XI Pro。

我希望能够通过适用于 Linux 的 Windows 子系统使用该程序打开 PDF 文件。

目前,当我运行时,xdg-open main.pdf我得到以下输出:

Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/%{ <-- HERE (.*?)}/ at /usr/bin/run-mailcap line 528.
Error: no "view" rule for type "application/pdf" passed its test case
       (for more information, add "--debug=1" on the command line)
/usr/bin/xdg-open: 778: /usr/bin/xdg-open: www-browser: not found
/usr/bin/xdg-open: 778: /usr/bin/xdg-open: links2: not found
/usr/bin/xdg-open: 778: /usr/bin/xdg-open: elinks: not found
/usr/bin/xdg-open: 778: /usr/bin/xdg-open: links: not found
/usr/bin/xdg-open: 778: /usr/bin/xdg-open: lynx: not found
/usr/bin/xdg-open: 778: /usr/bin/xdg-open: w3m: not found
xdg-open: no method available for opening 'main.pdf'

跑步xdg-mime query default application/pdf给了我evince.desktop。我不确定这是什么。

跑步grep -i "pdf" /usr/share/applications/defaults.list给了我:

application/pdf=evince.desktop
application/x-bzpdf=evince.desktop
application/x-gzpdf=evince.desktop
application/x-xzpdf=evince.desktop

答案1

在我看来,您正在尝试从适用于 Linux 的 Windows 子系统打开文件,但 Windows 主机操作系统上安装了程序 (Adobe Acrobat)。

在这种情况下,我建议您不要使用,xdg-open而是直接将 open 命令从 Bash 传递到 Windows 终端(注意:我希望 Adob​​e Acrobat 成为您在 Windows 上的默认 pdf 阅读器)。

这可以通过在 WSL 中的 Bash 中输入以下内容来完成:

cmd.exe /C start <your file>

这将在后台打开 Windows 终端,评估使用哪个程序打开该文件(使用 Windows 默认文件关联),如果成功在 Windows 中打开该文件(您可以通过cmd /?键入cmd.exe).

为了避免每次都输入整行,您还可以open通过编辑.bash_aliases文件来为命令设置别名:

open='cmd.exe /C start'

这将允许您使用open <file>Windows 文件关联。

相关内容