我尝试使用 KDE 的 Konsole 从 QtCreator 启动控制台应用程序。应用程序按预期工作,但在执行期间或执行之后启动的任何新 Konsole 实例都只会显示以下内容:
Cannot read creator env file /tmp/QtCreator.UiK966: No such file or directory
Press <RETURN> to close this window...
或类似的错误
Cannot connect creator comm socket Qt Creator console
第二个不完整,因为它不再发生,而且我再也找不到文本了。关闭 Konsole 的所有实例可以解决该问题,直到我再次从 QtCreator 启动任何控制台项目。
QtCreator Tools/Options/Environment/System/Terminal 设置为 /usr/bin/konsole -e
QtCreator 将以下内容附加到终端中的命令集:
/usr/bin/../libexec/qtcreator/qtcreator_process_stub run /tmp/QtCreator.GJt966/stub-socket "Press <RETURN> to close this window..." /home/zzt/.build/untitled-Desktop-Debug /tmp/QtCreator.UiK966 966 /home/zzt/.build/untitled-Desktop-Debug/untitled
QtCreator 中存在一个已知错误,会导致上述行为,但仅限于由 QtCreator 启动的 Konsole 实例,并且据称该错误已经得到修复。
该问题出现在运行 Arch 的 Oracle VirtualBox VM 上,但不会出现在运行相同操作系统和相同 Konsole&QtCreator 版本的我的笔记本电脑上。两个系统上的配置相似,但肯定会有所不同。
$ konsole --version
konsole 16.08.3
$ qtcreator -version
Qt Creator 4.1.0 based on Qt 5.7.0
...
$ uname -a
Linux archvm 4.8.8-2-ARCH #1 SMP PREEMPT Thu Nov 17 14:51:03 CET 2016 x86_64 GNU/Linux
答案1
konsole --nofork
此选项禁用分叉行为并在单独的进程中运行新窗口。