启动在一个控制台中拆分的Shell中运行的多个应用程序


9

我需要启动在shell中运行的多个应用并监视其执行。目前,我有一个主脚本,可以在新的gnome控制台中启动每个应用程序,但我希望将它们全部在同一屏幕上的拆分屏幕中启动。

这篇文章在一个窗口中有多个shell解释了如何将分割屏幕与多种类型的控制台应用程序一起使用,例如screen,terminator和byobu。手动可以正常运行,但是我希望能够从我的主脚本自动在拆分屏幕控制台中启动我的所有应用程序。在上述工具的文档中,没有什么我可以通过脚本自动实现的。

有任何想法吗?

Answers:


6

您可以创建一个自定义屏幕配置文件,该文件将打开多个拆分并在其中启动脚本。它看起来像这样:

screen script1.sh # Open first screen and launch first script
split             # Make second split
focus             # Switch to second split
screen script2.sh # Open second screen and launch second script
split             # Make third split
focus             # Switch to third split
screen script3.sh # Open third screen and launch third script

将其放入名为myscripts的文件中,并使用启动屏幕screen -c myscripts。如果您喜欢垂直分割,只需在分割命令中添加-v即可。

如果您想要网格布局,请尝试以下操作:

screen script1.sh # Open first screen and launch first script
split -v          # Make second split
focus             # Switch to second split
screen script2.sh # Open second screen and launch second script
split             # Make third split
focus             # Switch to third split
screen script3.sh # Open third screen and launch third script
focus             # Cycle back to first split
split             # Split first split horizontally
focus             # Switch to new split
screen script4.sh # Open fourth screen and launch fourth script

非常感谢,这就像一种魅力。唯一的另一个问题是,在启动多个脚本之后,我可以按Cd键返回到终端,但是当我执行“ screen -r”操作时,它将恢复到上一个​​打开的选项卡,并且不再能看到其他选项卡的输出。“ screen -ls”仅显示一个实例,但我可以看到我的所有脚本仍在带有“ ps”的进程列表中运行。那么,如何分离多标签屏幕并以相同的状态返回到它呢?
jmbouffard 2011年

我发现了一个有关此问题的超级用户问题:superuser.com/questions/69816/…看起来很棘手。在我看来,您也许还可以创建一个重新建立拆分的宏。
本·威廉姆斯

超级用户论坛的提示对我而言似乎不起作用,因为当我使用-c选项启动嵌套会话时,它似乎未使用我的配置。
jmbouffard 2011年

我还尝试了您的其他想法,用一个配置文件来重新建立拆分,例如您的答案中所示的配置文件。但是我想我需要使用“屏幕-r -c宏”,但是看来我无法将-r选项与-c结合使用,因为它没有考虑我的命令。仅“ -c”可以用空白屏幕重新建立拆分,“-r -c宏”与“ -r”完全相同,并且不创建任何拆分。
jmbouffard 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.