我的电脑上挂接了 3 个不同的显示器。我有 3 个自定义 Terminator 布局。到目前为止,我必须手动打开 3 个不同的 Terminator 窗口,将它们移动到各自的显示器,将它们全部切换到全屏,然后分别应用各自的布局。
有没有办法可以自动完成这项任务?shell 脚本肯定可以解决这个问题。由于我对 shell 脚本的了解非常有限,有人能告诉我执行此操作所需的资源吗?或者有人对此有不同的看法吗?
答案1
要以预定义布局打开 Terminator,您首先需要定义布局。配置窗口可以帮助您完成此操作。您还可以在那里配置和命名多个不同的布局。我不会介绍如何做到这一点,而是重点介绍如何在登录时使用现有布局启动 Terminator。
从单个 Terminator 布局和实例开始
让我们从一个简单的实例开始。我假设您有一个名为“simple-layout”的预定义 Terminator 布局。您可以使用以下命令行选项使用此布局启动新的 Terminator 实例:
terminator -l simple-layout
如果您想要最大化、全屏或无边框的窗口,您可以使用终结者手册中描述的合适的附加选项(运行man terminator
即可查看)。
登录时运行单个命令
一般流程在如何在登录时自动启动应用程序?我不会在这里重复这一点。
但是 Terminator 有一些特殊之处:我发现 Terminator 只有在窗口管理器完全运行后启动时才会记住其之前的大小位置。这就是为什么我将启动时间延迟了几秒钟(本例中为 10 秒)。我选择自动启动以下命令,而不是上述命令:
sh -c "sleep 10 && exec terminator -l simple-layout"
sh -c
调用(Bourne shell)命令解释器,可以按顺序执行多个命令,如下所述。sleep 10
等待 10 秒后再运行下一个命令。exec
用后续程序替换当前的命令解释器进程(而不是无缘无故地产生新进程并浪费资源)。terminator ...
- 往上看。
现在适用于多个实例和布局
此时,重复该过程以添加更多 Terminator 实例和布局应该很简单。我不确定 Terminator 是否会记住多个实例的每个窗口的位置。如果没有,您应该四处搜索或提出后续问题,并在问题中包含您的窗口管理器,因为这会影响答案。