Salvar vários layouts de terminal gnome?

24

Eu tenho várias janelas do terminal gnome abertas. Existe uma maneira de salvar as configurações (posição da janela, número de guias, título etc.). através de reinicializações do sistema operacional?

Abhinav
fonte

Respostas:

16

Encontrei as seguintes opções que são úteis:

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

O procedimento acima restaura o número apropriado de janelas do terminal gnome com guias apropriadas, mas a posição e o título da janela não são restaurados. Ainda assim, um começo :)

Abhinav
fonte
As posições e o tamanho da janela foram salvos quando tentei esses comandos com o gnome-terminal 3.6.1 - Linux Mint 15 com Cinnamon neste caso - o que torna isso um pouco mais útil. (Obrigado!)
David Duncan
5
A opção --save-config foi removida como "obsoleta" do gnome-terminal a partir de (pelo menos) 3.10.2.
srking
progresso @srking!
drs 01/07
10

Depois de configurar o seu gnome-terminal da maneira que desejar (ou seja, número de guias, aberto para determinados diretórios), salve o estado da sessão na janela do seu gnome-terminal com o seguinte comando:

gnome-terminal --save-config = mytabs

Em seguida, o que faço é criar um iniciador de aplicativos personalizado no meu painel que execute o seguinte comando

gnome-terminal --load-config = / home / leif / mytabs

leif81
fonte
Isso funciona, mas não salva a saída dos comandos anteriores, portanto não posso rolar para cima e ver o que fiz.
samthebest
@samthebest Ya, ele salva e restaura apenas o diretório de trabalho atual de cada guia, não o histórico de rolagem.
leif81
2

Você pode criar perfis para o Gnome-Terminal a partir da Edit Profilescaixa de diálogo no Editmenu. Para iniciar o Gnome-Terminal com um determinado perfil, faça o seguinte:

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

Naturalmente, você pode configurar ícones diferentes do iniciador para iniciar automaticamente perfis diferentes ou incluir linhas em um script de inicialização da X-session para iniciar vários terminais diferentes, cada um com um perfil diferente, ao fazer login. Várias opções podem ser combinadas em um ícone do iniciador para fornecer um tipo de terminal específico e você pode criar quantos lançadores precisar de diferentes tipos de terminal.

Outras opções da linha de comando podem ser úteis para obter exatamente o efeito desejado, se o mecanismo do perfil não for suficientemente refinado para você. Veja man gnome-terminalem seu sistema para obter detalhes completos, mas aqui estão algumas sugestões desta discussão no fórum Ubuntu :

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

# set the titlebar
--title=irssi

# run a particular program
--execute irssi
charlatão quixote
fonte
1
Isso está próximo, mas me pergunto se o que eu quero pode ser alcançado com mais facilidade. Eu já tenho perfis e janelas abertas. Existe algum estado de sessão para cada terminal gnome, que eu posso salvar e depois "carregar / executar" a qualquer momento, para que tudo o que eu salvei entre em vigor?
Abhinav
Provavelmente algo no .gconf?
Abhinav
Receio que seja a extensão do meu conhecimento; não sou usuário do Gnome há alguns anos.
quack quixote
0

Eu uso uma abordagem em duas etapas com o meu terminal xfce. Primeiro abro as janelas:

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

e mova-os com wmctrl:

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

Posição da janela:

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

O gnome-terminal --save-config e --load-config são boas opções para torná-lo à prova completa de que usei o seguinte script: o script é lento, mas funciona para mim. 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"

o sono é destinado porque se ele se mover rápido, perderá a pista. Você também precisa do xdotool instalado. Crie o alias no .bashrc como

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

espero que ajude

Manish
fonte