2

我正在开发一个 Firefox NPAPI 插件 + XPCOM 组件。我遇到了一个难题:给定从 Internet 下载的文件(例如 PDF 或 PNG),我如何启动默认帮助应用程序以使用 C/C++ 在 Linux 上显示该文件?

目前我正在使用system函数调用来调用gnome-open命令并将文件路径传递给它。这适用于 GNOME 桌面,但不适用于具有不同桌面环境(包括 KDE)的 Linux 平台。

所以我的问题是:有没有标准的统一方法来解决这个问题?有什么建议吗?任何帮助将不胜感激!

4

2 回答 2

5

xdg-open命令是在用户首选应用程序中打开文件或 URL 的标准方式。

它应该在不同的桌面环境中正常工作。

于 2010-09-14T00:13:01.537 回答
1

在 Linux 中没有使用默认应用程序打开文件的标准工具。这取决于桌面环境。对于 Gnome,如您所见,有一个“gnome-open”工具。KDE 有它的“kde-open”用于同样的目的。我会先检查 gnome-open,如果它不存在,请检查 kde-open。否则向用户报告错误。

另一种选择是使用 Firefox 本身使用“file://”协议打开文件。如果安装了适当的插件,Firefox 能够显示 PDF 文件,显示文本文件等。

于 2010-09-13T18:12:49.837 回答