将终端分成多个,并在每个终端上调用程序

Split the terminal into multiple, and call program on each

我有一个 C 程序,我想在其中打开 2 个控制台。一个我会显示地图,另一个是聊天。

现在,我是 运行 控制台上的程序(显示地图的地方),我正在用这个打开第二个控制台:

system("xterm ./chat +hold -geometry 60x40+1400+450 -title 'Chat' &");

但这看起来很糟糕,所以我想使用 gnu-screen 并排放置 2 个控制台。

我该怎么做?

您可以尝试以下方法

xterm -geometry 132x50+10+30 -e 'screen -c ./my_special_screenrc'

./my_special_screenrc 应该包含

screen -t map  1 ./map     #run the "map" command
screen -t chat 2 ./chat    #run the "chat" command
split
select 1 #the map - defined above
focus
select 2 #the chat

使用以下 ./map 命令进行测试

while :
do
    echo "This is the [=12=] program"
    sleep 5
done

和聊天类似 ln map chat

上半部分每 5 秒打印一次

This is the ./map program
This is the ./map program

下半区

This is the ./chat program