保存多个gnome终端布局?


24

我有多个打开的gnome终端窗口。有没有一种方法可以保存设置(窗口位置,选项卡数量,标题等)。跨操作系统重启?

Answers:


16

我发现以下有用的选项:

--load-config=FILE              Load a terminal configuration file
--save-config=FILE              Save the terminal configuration to a file

上面的方法确实使用适当的选项卡还原了适当数量的gnome-terminal窗口,但是没有还原窗口位置和标题。仍然是一个开始:)


当我刚刚在gnome-terminal 3.6.1上尝试了这些命令时,窗口的位置和大小就被保存了。(谢谢!)
David Duncan 2013年

5
从(至少)3.10.2起,--save-config选项已从gnome-terminal中删除为“过时”。
2014年

@srking进展!
drs 2014年

10

一旦您以自己喜欢的方式配置了gnome-terminal(即,选项卡数,打开到某些目录),请使用以下命令从gnome-terminal窗口中保存会话状态:

gnome-终端--save-config = mytabs

然后,我要做的是在面板上创建一个自定义应用程序启动器,该启动器执行以下命令

gnome-终端--load-config = / home / leif / mytabs


这种工作方式有效,但是它不会保存先前命令的输出,因此我无法向上滚动并查看所做的工作。
samthebest 2014年

@samthebest Ya,它仅保存和恢复每个选项卡的当前工作目录,而不保存滚动历史记录。
leif81 2014年

2

您可以从菜单下的对话框中为Gnome-Terminal 创建配置文件。要使用特定配置文件启动Gnome-Terminal,请执行以下操作:Edit ProfilesEdit

gnome-terminal --window-with-profile=<profile_name>

当然,您可以配置不同的启动器图标以自动启动不同的配置文件,或者可以在X会话启动脚本中包含几行,以在登录时启动多个不同的终端,每个终端具有不同的配置文件。可以在启动器图标中组合各种选项,以为您提供一种特定的终端类型,并且您可以根据需要使用不同的终端类型创建任意数量的启动器。

如果配置文件机制对您而言不够细微,则其他命令行选项可能对准确获得所需效果很有用。有关man gnome-terminal详细信息,请参见系统上的内容,但这是来自Ubuntu论坛讨论的一些建议:

# define a terminal 100 columns by 20 lines
--geometry=100x20

# set the titlebar
--title=irssi

# run a particular program
--execute irssi

1
这很接近,但是想知道我想要的东西是否可以更轻松地实现。我已经有了配置文件,并打开了窗口。每个gnome终端都有一些会话状态,我可以保存该会话状态,然后随时“加载/运行”,这样我保存的任何内容都会生效?
Abhinav

可能是.gconf中的内容?
Abhinav

恐怕这就是我的知识范围;我已经有两年没有使用Gnome了。
嘎吉吉x德09年

0

我在xfce-terminal上使用了两步方法。首先,我打开窗户:

xfce4-terminal --hide-menubar --hide-borders --hide-toolbars -e htop -T hTop

然后使用wmctrl移动它们:

wmctrl -r 'hTop' -t 3
wmctrl -r 'hTop' -e 0,927,33,1000,550

0

窗口位置:

gnome-terminal --geometry=115x30+0+670

0

gnome-terminal --save-config和--load-config是很好的选择,尽管要完全证明我使用了以下脚本,但该脚本很慢,但对我有用。1. save-terminals.sh

FILE=$1
gnome-terminal --save-config=$FILE

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

2. load-terminals.sh

FILE=$1
LINES=$(grep '\[Terminal' $FILE | wc -l)
TITLE=($(grep -n '\Title' $FILE | cut -d= -f2))
gnome-terminal --load-config=$FILE
for ((i=0; i<$LINES; i++))
do
    xdotool key Ctrl+Right
    xdotool key "Return"
    sleep 1
    xdotool key Alt+t
    sleep 1
    xdotool key s
    sleep 1
    xdotool type ${TITLE[$i]}
    xdotool key "Return"
    xdotool key "Return"
    sleep 1
done
xdotool key Alt+Tab
xdotool key Shift+Ctrl+Q
xdotool key "Return"

睡眠是故意造成的,如果它快速移动,将使轨道松动。另外,您需要安装xdotool。在.bashrc中创建别名为

alias st='save-terminals.sh ~/.terminal.cfg'
alias lt='load-terminals.sh ~/.terminal.cfg'

希望能有所帮助

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.