1

我尝试使用QProcess在 Linux 中调用可执行文件(在本例中为 Truecrypt),但找不到隐藏 Truecrypt 窗口不弹出的方法。
在 Ubuntu 中通过终端调用 Truecrypt(即使在通过命令行发送密码之后)会导致 Truecrypt GUI 在安装卷时弹出,甚至显示安装的文件夹。

CreateProcess()我设法通过在 VC++ 中使用 来避免在 Windows 中出现 GUI CREATE_NO_WINDOW,但似乎无法在 Linux 中找到方法。Linux 中是否有一个命令,用户可以通过该命令通过 C++ 代码调用外部可执行文件,并阻止可执行文件显示其 GUI?

4

1 回答 1

0

这里有两个问题或疑问。关于阻止可执行文件显示 GUI 的问题很容易回答,但对 TrueCrypt 问题没有帮助。

本质上,有两种方法可以禁止应用程序使用 GUI。应用程序有一个配置或命令行选项可以做到这一点(例如,--headlesslibreoffice 的选项),或者您可以从 GUI 中保留有关显示的信息。

Linux 中的任何 GUI 都需要知道显示是什么,而这些信息是通过$DISPLAY环境变量提供的。如果未设置或删除此变量,应用程序将无法显示 GUI。大多数 GUI 应用程序将失败:

~$ echo $DISPLAY
:0
~$ xterm 
~$ DISPLAY=""
~$ xterm 
xterm: Xt error: Can't open display: 
xterm: DISPLAY is not set

我无法回答有关 TrueCrypt 的问题,但是通过trucrypt 命令行手册的简要介绍表明,如果您在命令行上提供了足够的信息,那么 truecrypt 不应该以交互方式运行;但是,交互式运行似乎是某些命令的默认操作。

于 2013-07-01T11:37:00.203 回答