当前位置: 首页>>技术问答>>正文


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

, , , ,

问题描述

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

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

有没有办法做到这一点?

最佳解决思路

要将配置保存到/tmp/cfg

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

要加载它:

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

UPDATE

在使用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 '\[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 

次佳解决思路

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

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

第三种解决思路

恢复保存的设置后,我尝试了以下选项,并且还正确恢复了标题。

  1. 转到设置 – >配置文件,然后选择您正在使用的当前配置文件

  2. 单击编辑并转到“标题和命令”选项卡

  3. 将初始标题设为空白

  4. 在下面的下拉框中选择“保留初始标题”选项。

此选项可以避免覆盖您的初始标题集。

希望这有助于一个伟大的剧本。每次重新启动都可以节省大量时间,我可以愉快地重新启动虚拟机。

谢谢!!

第四种思路

我又尝了一个选择,

我更改了终端的默认标题以使用~/.bashrc中的Intital值,而不是更改~/.profile设置。

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PS1="$PS1"
    ;;
*)
    ;;
esac

如果您这样做,则无需更改终端配置文件。执行gnome-terminal --load-config时,将正确恢复所有选项卡名称。您也可以根据需要进行更改并再次保存标签!

第五种思路

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

  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 &'

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1090.html,未经允许,请勿转载。