我试图使用 xdg-open 在 Linux 上使用 python 打开 Excel 文件,但意识到 xdg-open 在我的机器上实际上不起作用:
$ xdg-open ~/Documents/foo.xlsx
/usr/bin/xdg-open: line 881: www-browser: command not found
/usr/bin/xdg-open: line 881: links2: command not found
/usr/bin/xdg-open: line 881: elinks: command not found
/usr/bin/xdg-open: line 881: links: command not found
/usr/bin/xdg-open: line 881: lynx: command not found
/usr/bin/xdg-open: line 881: w3m: command not found
xdg-open: no method available for opening '/home/alex/Documents/foo.xlsx'
但是,MIME 类型似乎已正确设置:
$ xdg-mime query default $(xdg-mime query filetype ~/Documents/foo.xlsx)
libreoffice-calc.desktop
我还可以从文件管理器中打开该文件。从上面的错误消息来看,xdg-open 认为它是一个 URL,并尝试用浏览器写入它。
我需要配置 xdg 才能使 xdg-open 工作吗?
答案1
我终于成功了。我不得不强制默认$HOME/.config/mimetypes现在xdg-open filename.ods
按预期工作:
xdg-mime default libreoffice-calc.desktop 'application/vnd.oasis.opendocument.spreadsheet'
因此,就您的情况而言,这应该适用于 Excel 文件:
xdg-mime default libreoffice-calc.desktop 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'