有一些快速保存和恢复终端标签的方法吗?

有一些快速保存和恢复终端标签的方法吗?

我有一个终端窗口,其中打开了十几个命名选项卡。

我想保存当前配置并使用名称和目录恢复它。

有没有办法做到这一点?

答案1

要保存配置到/tmp/cfg

gnome-terminal --save-config=/tmp/cfg

要将其重新加载:

gnome-terminal --load-config=/tmp/cfg 

更新

在使用了 bash 之后,我创建了以下脚本,该脚本/tmp/test也将选项卡名称存储到文件中:

#!/usr/bin/env bash

gnome-terminal --save-config=/tmp/test

LINES=($(grep -n '\[Terminal' /tmp/test | cut -d: -f1))
for ((i=0; i<$(grep '\[Terminal' /tmp/test | wc -l); i++))
do
    TITLE=$(xprop -id $WINDOWID WM_NAME | sed -e 's/WM_NAME(STRING) = "//' -e 's/"$//';xdotool key ctrl+Page_Down;)
    sed -ri "$((${LINES[$i]}+$i))s/.*/&\nTitle=$TITLE/" /tmp/test 
done

要正确分配名称,您必须从终端的第一个选项卡运行它。加载与以前相同:

gnome-terminal --load-config=/tmp/test

解释:

我可以使用以下命令获取标签名称:

xprop -id $WINDOWID WM_NAME

我可以使用以下命令跳转到下一个选项卡:

xdotool key ctrl+Page_Down;

在 grep 之前保存的配置文件后,我得到了标签数:

$(grep '\[Terminal' /tmp/test | wc -l)

因此我可以在循环内迭代选项卡。我必须在之前保存的文件中为每个选项卡配置部分添加“Title=titlename”条目。为此,我首先创建一个行号数组,我将在其中添加行。

LINES=($(grep -n '\[Terminal' /tmp/test | cut -d: -f1))

我在循环迭代标签内添加了“Title=titlename”行:

sed -ri "$((${LINES[$i]}+$i))s/.*/&\nTitle=$TITLE/" /tmp/test 

答案2

另一种方法是使用屏风。按 F2 在其中打开新终端。使用 F3 和 F4 在终端之间左右切换。

随时关闭 GUI 窗口。重新打开 Byobu 时,所有终端都会恢复 :)

答案3

我也在 Gnome 终端中寻找该功能,但找不到。到目前为止,我发现的最佳选择是使用 konsole。它允许您为标签添加书签,以便您可以从书签菜单中选择它们来返回它们。希望这对您有所帮助。

答案4

我找到了一种我认为更快的方法。

  1. 就像 Yoga 所说的那样,创建一个具有您想要的标题和名称的个人资料。
  2. 类型:

    gnome-terminal --tab-with-profile=PROFILENAME1 --tab-with-profile=PROFILENAME2 ... --tab-with-profile=PROFILENAME999
    

我使用此命令创建了一个别名,它对我来说效果很好。我只需键入workflow,就会出现一个终端,其中包含 3 个选项卡以及我在配置文件定义中选择的标题,这些标题将放置在选项卡中。

我在我的.bashrc档案中放置了:

alias workflow='gnome-terminal --tab-with-profile=Git --tab-with-profile=Run | sublime-text &'

相关内容