启动终结器多个终端的脚本

启动终结器多个终端的脚本

我是 Terminator 新手,需要启动 4 个终端。我有一个脚本 run1.sh,我想在前两个终端上同时运行,并run2.sh在另外两个终端上同时运行。

在此处输入图片描述

但是我想通过某个脚本启动上述四个终端,比如通过脚本,start.sh这样它自己就可以启动终结器并将终结器拆分为四个窗口,然后run1.sh在前两个窗口和run2.sh另外两个窗口中运行脚本。请给我建议相关的方法(可以是任何 python/bash/perl),因为我可以通过手动启动终结器的四个窗口并分别执行命令,我想通过某个脚本来实现。提前致谢!!

答案1

以下 shellscript 在 Ubuntu 18.04 LTS 中对我有用。如果您有其他桌面环境,则应编辑脚本wcorrhcorr值以匹配屏幕。

l4t我建议这个 shellscript 的名字,

#!/bin/bash

wcorr=68  # manual fix for vertical panels
hcorr=26  # manual fix for horizontal panels


tmps=$(LANG=C xrandr|grep -om1 'current.*,')
tmps=${tmps/,}
tmps=${tmps/current }
echo "screen resolution = $tmps pixels"
wscr=${tmps/ x*}
hscr=${tmps/*x }
wter=$(( (wscr-wcorr)/2 ))
hter=$(( (hscr-hcorr)/2 ))
echo "terminal width  = $wter pixels"
echo "terminal height = $hter pixels"

terminator --borderless --geometry="${wter}x${hter}+0+0" -x run1.sh &
terminator --borderless --geometry="${wter}x${hter}+0-0" -x run1.sh &
terminator --borderless --geometry="${wter}x${hter}-0+0" -x run2.sh &
terminator --borderless --geometry="${wter}x${hter}-0-0" -x run2.sh &

我已经使用以下脚本测试了该功能run1.sh,并且run1.sh

run1.sh

#!/bin/bash

cnt=0
while [ $cnt -lt 10 ]
do
 echo -n "$cnt"
 sleep 1
 cnt=$((cnt+1))
done
echo ""
bash

run1.sh

#!/bin/bash

cnt=9
while [ $cnt -ge 0 ]
do
 echo -n "$cnt"
 sleep 1
 cnt=$((cnt-1))
done
echo ""
bash

我在这些脚本的末尾放了一个 bash 命令。否则脚本完成后终端窗口就会关闭。您可能想做些别的事情。

使三个 shellscript 可执行

chmod +x l4t run1.sh run2.sh

并将它们移动到 PATH 中的目录,

mv l4t run1.sh run2.sh /usr/local/bin/

现在您可以像运行其他命令一样使用名称来运行它们。

l4t

答案2

也许你可以尝试一下tmux多路复用器

sudo apt install tmux tmuxinator

https://github.com/tmux/tmux/

https://tmuxcheatsheet.com/

https://github.com/tmuxinator/tmuxinator

答案3

也许你可以参考这个链接来获得一种简单的方法,我已经将它发布在我的 github 上: https://github.com/kgnandanwar/Script-to-launch-mutiple-terminal-of-terminator

步骤1:创建必要的目录和一个空的配置文件

mkdir -p ~/.config/terminator/
touch ~/.config/terminator/config
nano ~/.config/terminator/config

步骤 2:复制粘贴以下代码(请确保根据您的 PC 调整以下代码第 19 行的显示分辨率

[global_config]
  title_hide_sizetext = True
  enabled_plugins = LaunchpadCodeURLHandler, APTURLHandler, LaunchpadBugURLHandler
  suppress_multiple_term_dialog = True
[keybindings]
[profiles]
  [[default]]
    cursor_blink = False
    font = DejaVu Sans Mono 9
    scrollback_infinite = True
[layouts]
  [[default]]

    [[[root]]]
      position = -4:0
      type = Window
      order = 0
      parent = ""
      size = 1870, 1020

    [[[grand]]]
      position = 536
      type = HPaned
      order = 0
      parent = root
    [[[left]]]
      position = 942
      type = VPaned
      order = 0
      parent = grand
    [[[right]]]
      position = 942
      type = VPaned
      order = 1
      parent = grand

    [[[terminal1]]]
      profile = default
      type = Terminal
      order = 0
      parent = left
    [[[terminal2]]]
      profile = default
      type = Terminal
      order = 1
      parent = left

    [[[terminal3]]]
      profile = default
      type = Terminal
      order = 1
      parent = right
      command = ""
    [[[terminal4]]]
      profile = default
      type = Terminal
      order = 0
      parent = right
[plugins]

相关内容