我有一個終端窗口,打開了十幾個命名選項卡。
我想保存當前配置並使用名稱和目錄進行恢復。
有沒有辦法做到這一點?
我有一個終端窗口,打開了十幾個命名選項卡。
我想保存當前配置並使用名稱和目錄進行恢復。
有沒有辦法做到這一點?
要將配置保存到/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 '\[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