Salva più layout gnome-terminal?


24

Ho più finestre gnome-terminal aperte. Esiste un modo per salvare le impostazioni (posizione della finestra, numero di schede, titolo ecc.). tra i riavvii del sistema operativo?

Risposte:


16

Ho trovato le seguenti opzioni utili:

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

Quanto sopra ripristina il numero appropriato di finestre gnome-terminal con le schede appropriate, ma la posizione e il titolo della finestra non vengono ripristinati. Comunque, un inizio :)


Le posizioni e le dimensioni della finestra sono state salvate quando ho appena provato questi comandi con gnome-terminal 3.6.1 - Linux Mint 15 con Cinnamon in questo caso - il che lo rende un po 'più utile. (Grazie!)
David Duncan,

5
L'opzione --save-config è stata rimossa come "obsoleta" da gnome-terminal a partire da (almeno) 3.10.2.
arrivo

@srking progress!
drs

10

Dopo aver configurato gnome-terminal nel modo desiderato (ad es. Numero di schede, aperto a determinate directory), salva lo stato della sessione dalla finestra di gnome-terminal con il seguente comando:

gnome-terminal --save-config = mytabs

Quindi quello che faccio è creare un programma di avvio dell'applicazione personalizzato sul mio pannello che esegue il seguente comando

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


Questo tipo di funzionamento funziona, ma non salva l'output dei comandi precedenti, quindi non posso scorrere verso l'alto e visualizzare ciò che ho fatto.
Samthebest,

@samthebest Ya, salva e ripristina solo la directory di lavoro corrente di ogni scheda, non la cronologia di scorrimento.
leif81,

2

È possibile creare profili per Gnome-Terminal dalla Edit Profilesfinestra di dialogo nel Editmenu. Per avviare Gnome-Terminal con un determinato profilo, devi fare questo:

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

Naturalmente, è possibile configurare diverse icone di avvio per avviare automaticamente profili diversi oppure è possibile includere linee in uno script di avvio X-session per avviare diversi terminali, ognuno con un profilo diverso, quando si accede. Varie opzioni possono essere combinate in un'icona di avvio per darti un tipo di terminale specifico e puoi creare tutti i lanciatori di cui hai bisogno di diversi tipi di terminale.

Altre opzioni da riga di comando potrebbero essere utili per ottenere esattamente l'effetto desiderato, se il meccanismo del profilo non è abbastanza dettagliato per te. Vedi man gnome-terminalsul tuo sistema per tutti i dettagli, ma ecco alcuni suggerimenti da questa discussione sul forum Ubuntu :

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

# set the titlebar
--title=irssi

# run a particular program
--execute irssi

1
Questo è vicino, ma mi chiedo se ciò che voglio possa essere raggiunto più facilmente. Ho già profili e finestre aperte. Esiste uno stato di sessione per ogni terminale gnome, che posso salvare e quindi "caricare / eseguire" in qualsiasi momento in modo che tutto ciò che ho salvato abbia effetto?
Abhinav,

Probabilmente qualcosa in .gconf?
Abhinav,

temo che sia l'estensione della mia conoscenza; non sono un utente Gnome da un paio d'anni ormai.
Quack Quixote,

0

Uso un approccio in due passaggi con il mio terminale xfce. Per prima cosa apro le finestre:

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

e poi spostali con wmctrl:

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

0

Posizione della finestra:

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

0

gnome-terminal --save-config e --load-config sono buone opzioni anche se per renderlo la prova completa ho usato il seguente script lo script è lento ma funziona per me. 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"

i dormi sono pensati perché se si muove velocemente perderà la pista. Inoltre è necessario installare xdotool. Crea l'alias in .bashrc come

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

spero che sia d'aiuto

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.