简单的启动脚本不起作用

简单的启动脚本不起作用

所以我有一个小脚本,应该在启动时启动两个终端窗口。我已将它添加到启动应用程序中,它位于~/.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 包的一部分,但我认为没有它世界也会继续下去。

&只需在命令末尾使用即可。

相关内容