Bash 脚本,将 Konsole 选项卡拆分为 2x2 网格,并在每个网格上运行命令

Bash 脚本,将 Konsole 选项卡拆分为 2x2 网格,并在每个网格上运行命令

有没有办法使用 bash 脚本在同一个选项卡中创建一个有 4 个部分(左 2 个和右 2 个)的 konsole。

它还应该在每个部分上运行 4 个不同的脚本。

谢谢

答案1

这是其中一种方法

#! /bin/bash

cmd1="echo 1"
cmd2="echo 2"
cmd3="echo 3"
cmd4="echo 4"

echo '{
    "Orientation": "Horizontal",
    "Widgets": [
        {
            "Orientation": "Vertical",
            "Widgets": [
                {
                    "SessionRestoreId": 0
                },
                {
                    "SessionRestoreId": 0
                }
            ]
        },
        {
            "Orientation": "Vertical",
            "Widgets": [
                {
                    "SessionRestoreId": 0
                },
                {
                    "SessionRestoreId": 0
                }
            ]
        }
    ]
}' > /tmp/Konsole2x2layout.json
konsole --layout /tmp/Konsole2x2layout.json &
sleep 2

service="$(qdbus | grep -B1 konsole | grep -v -- -- | sort -t"." -k2 -n | tail -n 1)"

qdbus $service /Sessions/1 org.kde.konsole.Session.runCommand "${cmd1}"
qdbus $service /Sessions/2 org.kde.konsole.Session.runCommand "${cmd2}"
qdbus $service /Sessions/3 org.kde.konsole.Session.runCommand "${cmd3}"
qdbus $service /Sessions/4 org.kde.konsole.Session.runCommand "${cmd4}"

相关内容