C:打开第二个自定义大小的terminal并将其用于输出

我正在用C编写一个简单由terminal启动的程序。 现在我想让程序本身打开一个自定义大小的terminal,并把它的输出写在那里。

我find了命令

system("gnome-terminal"); 

这打开另一个terminal,但我找不到一个函数,让我写入这个第二个terminal。 我正在使用Ubuntu

如果你有任何想法,那会很好

最简单的事情可能是写输出到一个文件,说/ tmp / tmp96888(tip: mkstemp ),然后做类似

 system("gnome-terminal --geometry=40x14 --command 'less /tmp/tmp96888'"); 

或者,从文件连续更新:

 system("gnome-terminal --geometry=40x14 --command 'tail -f /tmp/tmp96888'"); 

但是如果可以的话,我认为最好的办法是打开一个新的终端并运行程序本身,然后打印输出。 只有在真正需要在原始窗口中执行操作的情况下,才需要使用单独的输出窗口。