我正在开发Firefox NPAPI插件+ XPCOM组件。我遇到了两难:给定从Internet下载的文件(比如PDF或PNG)如何启动默认的帮助应用程序以使用C / C ++在Linux上显示该文件?
目前我正在使用system
函数调用来调用gnome-open
命令并将其传递给文件路径。这适用于GNOME桌面,但它不适用于具有不同桌面环境(包括KDE)的Linux平台。
所以我的问题是:有没有一个标准的统一方法来解决这个问题?有什么建议吗?任何帮助将不胜感激!
答案 0 :(得分:4)
xdg-open
命令是在用户首选应用程序中打开文件或URL的标准方法。
它应该可以在不同的桌面环境中正常工作。
答案 1 :(得分:1)
在Linux中没有使用默认应用程序打开文件的标准工具。这取决于桌面环境。对于Gnome,你会发现有一个“gnome-open”工具。为了同样的目的,KDE有“kde-open”。我会首先检查gnome-open,如果它不存在,请检查kde-open。否则向用户报告错误。
另一种选择是使用Firefox本身使用“file://”协议打开文件。如果安装了适当的插件,Firefox可以显示PDF文件,显示文本文件等。