所以我有一个小脚本,应该在启动时启动两个终端窗口。我已将它添加到启动应用程序中,它位于~/.local/bin
我的$PATH
.这是脚本:
#!/bin/bash
sleep 5 &&
mate-terminal --geometry=87x47+0+0
mate-terminal --geometry=87x47+802+0
现在,当我从现有终端或通过Alt+F2(Ubuntu Mate)运行它时,它可以正常工作(尽管输入为 47,但垂直尺寸不会超过 46)。我希望它能在我的顶部面板和底部面板之间“卡锁”,但目前已经足够接近了。
我主要担心的是,当我重新启动时,只有第一个窗口启动。第二个窗口仅在我关闭第一个窗口后启动。如果我通过添加一个将第一个窗口发送到后台,它会起作用吗&
?
答案1
你的脚本基本上是这样的:
sleep 5 && mate-terminal --geometry=87x47+0+0
mate-terminal --geometry=87x47+802+0
这意味着“等待五秒钟,然后启动终端,完成后启动第二个终端”。这里的“完成”意味着终端已退出并将控制权交还给脚本。
你可能想要的是
sleep 5
xtoolwait mate-terminal --geometry=87x47+0+0
xtoolwait mate-terminal --geometry=87x47+802+0
xtoolwait
一旦正在启动的 X 客户端(终端)映射了其窗口,就会将控制权返回给脚本的其余部分。
xtoolwait
应与您的 X 服务器软件一起安装,但如果没有安装,则它应该作为普通发行版中的软件包提供。
如果失败(它似乎已作为 Debian 和 Ubuntu 软件包被删除),您可以使用
sleep 5
mate-terminal --geometry=87x47+0+0 &
mate-terminal --geometry=87x47+802+0 &
按照您自己的建议,将终端启动为后台进程。
当我最后一次关心桌面上的东西出现在哪里时,大约 15 年前,xtoolwait
如果我没记错的话,是标准 X11 发行版的一部分。从那时起,我开始在每个虚拟桌面上运行一个应用程序,并且除了带有tmux
浏览器的终端之外很少使用其他任何东西。
我有点惊讶地发现它xtoolwait
不再是标准 X11 包的一部分,但我认为没有它世界也会继续下去。
&
只需在命令末尾使用即可。