这与其说是寻求帮助,不如说是我的好奇心。
我编写这个脚本是为了快速弹出四个终端会话并填满我的屏幕,因为我当前的许多系统都有四件套的东西,如果我要大量使用它们,我对终端定位有点OC。
#!/bin/bash
#launch 4 terminals setup to fill my screen
gnome-terminal --geometry 116x27+0+600 &
gnome-terminal --geometry 116x27+0+0 &
gnome-terminal --geometry 116x27+1000+0 &
gnome-terminal --geometry 116x27+1000+600 &
exit
现在,这个脚本对我来说效果很好。没什么可写的等等。奇怪的是,在重新启动我的系统(solaris 11 x86)之前,我没有将命令放到后台(最后没有&)。重新启动前它运行良好。事实上,在重新启动之前,当它没有向 bg 发送命令时,它的工作速度稍快一些。
重新启动后,如果没有后台命令,我会得到一个终端,当我从该终端退出时,我会得到下一个终端,依此类推。
这对我来说似乎很合理,但我现在很好奇是否有人知道脚本的启动方式可能有什么不同,从而使其无需使用所有命令即可工作。就像之前它作为普通 shell 脚本启动一样,现在相同的启动器执行相同的脚本,启动它就像我在提示符下输入每个命令一样。
我查看了文档,并尝试了一些选项来查看是否有任何影响此问题的选项,不幸的是,我对桌面的主要用途通常只是为了启动多个终端会话,所以我对 GUI 桌面一无所知。
最后一点奇怪的地方。我将原始脚本(不带&)复制到另一个脚本名称。然后做了一个全新的启动器,又可以了。然后我又重新启动了。但重新启动后,它不再起作用(一次打开它们,并且仅在前一个退出后才打开)。
摘要,在重新启动之前,此脚本不需要 & 才能工作,现在可以了。刚制作的这个脚本可以工作,但是重新启动后它就停止工作了。为什么会这样?系统没有进行任何更改。如果有人深入了解启动器如何在启动时获取信息以及它们在动态组装时如何工作,那将非常高兴知道。
答案1
提示:启动所有 gnome 终端(全部四个),按照您想要的方式设置它们,然后运行:
gnome-terminal --save-config=$HOME/my4.term
然后修改你的脚本来运行:
#!/bin/bash
gnome-terminal --load-config=$HOME/my4.term
并用它来启动四个终端。它还会保存您所在的工作目录、窗口大小、几何形状、选项卡等。