0

我正在为 OpenCV 中的模式识别编写一个 C++ 程序。提示用户输入,当用户输入“查看图像数据库”选项时,我想要一个显示该目录中文件的窗口。我尝试了一个系统调用

system("nautilus /home/sample/index.jpg");

但它说它找不到目录并要求检查拼写。我想知道是否是因为从不同的目录执行程序。谁能解释为什么会这样?如果是这样,如何绕过它?

4

2 回答 2

2

您必须使用默认设置文件管理器,而不是 nautilus 或任何其他。试试看这里:Linux默认应用程序如何找到默认文件管理器

于 2013-11-07T10:10:25.307 回答
1

如果要打开 nautilus,请输入完整路径(可能是/usr/bin/nautilus ,但您可以使用which命令轻松发现)。

一些进一步的说明:

  • 并非所有 Linux 系统都有 Nautilus(例如,Mint 已将 Nautilus 替换为nemo

  • 如果你想制作交互式窗口,那么你需要一个合适的图形库。在这种情况下,由于您使用 C++ 进行编程,因此我建议您使用所有 Linux 桌面发行版上都可用的 Qt。

于 2013-11-07T07:48:03.187 回答