Enregistrer la disposition de plusieurs terminaux gnome?

24

J'ai plusieurs fenêtres de terminal gnome ouvertes. Existe-t-il un moyen de sauvegarder les paramètres (position de la fenêtre, nombre d'onglets, titre, etc.). à travers les redémarrages du système d'exploitation?

Abhinav
la source

Réponses:

16

J'ai trouvé les options suivantes qui sont utiles:

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

Ce qui précède restaure le nombre approprié de fenêtres de terminal gnome avec les onglets appropriés, mais la position et le titre de la fenêtre ne sont pas restaurés. Pourtant, un début :)

Abhinav
la source
Les positions et la taille des fenêtres ont été enregistrées lorsque je viens d'essayer ces commandes avec gnome-terminal 3.6.1 - Linux Mint 15 avec Cinnamon dans ce cas - ce qui rend cela un peu plus utile. (Merci!)
David Duncan
5
L'option --save-config a été supprimée comme "obsolète" de gnome-terminal depuis (au moins) 3.10.2.
srking
@srking progress!
drs
10

Une fois que vous avez configuré votre gnome-terminal comme vous le souhaitez (c'est-à-dire le nombre d'onglets ouverts à certains répertoires), enregistrez l'état de la session depuis votre fenêtre gnome-terminal avec la commande suivante:

gnome-terminal --save-config = mytabs

Ensuite, je crée un lanceur d'applications personnalisé sur mon panneau qui exécute la commande suivante

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

leif81
la source
Ce genre de travaux, mais il n'enregistre pas la sortie des commandes précédentes, donc je ne peux pas faire défiler vers le haut et voir ce que j'ai fait.
samthebest
@samthebest Ya, il enregistre et restaure uniquement le répertoire de travail actuel de chaque onglet, pas l'historique de défilement.
leif81
2

Vous pouvez créer des profils pour Gnome-Terminal à partir de la Edit Profilesboîte de dialogue sous le Editmenu. Pour démarrer Gnome-Terminal avec un certain profil, vous devez faire ceci:

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

Naturellement, vous pouvez configurer différentes icônes de lanceur pour lancer automatiquement différents profils, ou vous pouvez inclure des lignes dans un script de démarrage de X-session pour démarrer plusieurs terminaux différents, chacun avec un profil différent, lorsque vous vous connectez. Diverses options peuvent être combinées dans une icône de lancement pour vous donner un type de terminal spécifique, et vous pouvez créer autant de lanceurs que vous avez besoin de différents types de terminaux.

D'autres options de ligne de commande peuvent être utiles pour obtenir exactement l'effet souhaité, si le mécanisme de profil n'est pas assez fin pour vous. Voir man gnome-terminalsur votre système pour plus de détails, mais voici quelques suggestions de cette discussion sur le forum Ubuntu :

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

# set the titlebar
--title=irssi

# run a particular program
--execute irssi
Quack Quichotte
la source
1
C'est proche, mais je me demande si ce que je veux peut être réalisé plus facilement. J'ai déjà des profils et j'ouvre des fenêtres. Existe-t-il un état de session pour chaque terminal gnome, que je peux enregistrer puis «charger / exécuter» à tout moment pour que tout ce que j'ai enregistré prenne effet?
Abhinav
Probablement quelque chose en .gconf?
Abhinav
j'ai peur que ce soit l'étendue de mes connaissances; je ne suis pas un utilisateur de Gnome depuis quelques années maintenant.
Quack Quichotte
0

J'utilise une approche en deux étapes avec mon terminal xfce. J'ouvre d'abord les fenêtres:

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

puis déplacez-les avec wmctrl:

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

Position de la fenêtre:

gnome-terminal --geometry=115x30+0+670
Gaffe
la source
0

gnome-terminal --save-config et --load-config sont de bonnes options mais pour en faire la preuve complète j'ai utilisé le script suivant le script est lent mais fonctionne pour moi. 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"

le sommeil est prévu car s'il se déplace rapidement, il perdra la piste. Vous devez également installer xdotool. Créez l'alias dans le .bashrc en tant que

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

J'espère que ça t'as aidé

Manish
la source