保存和恢复终端选项卡的一些快速方法?

fal*_*lse 92 configuration command-line gnome-terminal tabs

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

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

有没有办法做到这一点?

Nyk*_*kin 46

将配置保存到/tmp/cfg

gnome-terminal --save-config=/tmp/cfg
Run Code Online (Sandbox Code Playgroud)

要重新加载它:

gnome-terminal --load-config=/tmp/cfg 
Run Code Online (Sandbox Code Playgroud)

更新

在玩过 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
Run Code Online (Sandbox Code Playgroud)

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

gnome-terminal --load-config=/tmp/test
Run Code Online (Sandbox Code Playgroud)

解释:

我可以使用以下来获取选项卡名称:

xprop -id $WINDOWID WM_NAME
Run Code Online (Sandbox Code Playgroud)

我可以使用以下内容跳转到下一个选项卡:

xdotool key ctrl+Page_Down;
Run Code Online (Sandbox Code Playgroud)

在 grepping 之前保存的配置文件后,我获得了多个选项卡:

$(grep '\[Terminal' /tmp/test | wc -l)
Run Code Online (Sandbox Code Playgroud)

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

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

我在迭代选项卡的循环内添加“Title=titlename”行:

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

  • gnome 3.18:此版本的 gnome-terminal 不再支持选项“--save-config”。 (16认同)
  • Ubuntu 16.04:此版本的 gnome-terminal 不再支持选项“--save-config”。 (5认同)
  • 如果其他人不知道,`/tmp` 会在重新启动时被清除。因此,如果您想在重新启动后保留终端配置,请保存在其他位置。 (2认同)

Ash*_*ppa 13

另一种方法是只使用Byobu。按 F2 打开里面的新终端。使用 F3 和 F4 在端子之间进行左右切换。

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

  • 如果它在重新启动后不起作用,为什么这甚至被赞成作为答案? (8认同)
  • 它在重新启动后不起作用 (7认同)
  • 它可以跨重新启动工作吗?对我来说,它在重启后重置。 (3认同)

小智 5

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

  • [Konsole 还会自动恢复选项卡](https://unix.stackexchange.com/questions/593778/kde-konsole-how-to-save-and-restore-current-session#comment1187936_593778) 重新登录后,如果您Konsole 打开时注销/重新启动。 (2认同)