J'ai une fenêtre Terminal avec une douzaine d'onglets nommés ouverts.
Je voudrais sauvegarder la configuration actuelle et la faire restaurer avec les noms et les répertoires.
Y a-t-il un moyen de le faire ?
J'ai une fenêtre Terminal avec une douzaine d'onglets nommés ouverts.
Je voudrais sauvegarder la configuration actuelle et la faire restaurer avec les noms et les répertoires.
Y a-t-il un moyen de le faire ?
Pour sauvegarder la configuration dans /tmp/cfg
:
gnome-terminal --save-config=/tmp/cfg
Pour le recharger :
gnome-terminal --load-config=/tmp/cfg
UPDATE
Après avoir joué avec bash, j'ai créé le script suivant qui stocke les noms d'onglets dans le fichier. /tmp/test
également :
#!/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
Pour attribuer les noms correctement, vous devez l'exécuter à partir du premier onglet de votre terminal. Le chargement est le même qu'avant :
gnome-terminal --load-config=/tmp/test
EXPLICATION :
Je peux utiliser ce qui suit pour obtenir le nom de l'onglet :
xprop -id $WINDOWID WM_NAME
Je peux utiliser la fonction suivante pour passer à l'onglet suivant :
xdotool key ctrl+Page_Down;
J'obtiens un nombre d'onglets après avoir parcouru le fichier de configuration que j'ai enregistré auparavant :
$(grep '\[Terminal' /tmp/test | wc -l)
Donc je peux itérer sur les onglets dans une boucle. Je dois ajouter l'entrée "Title=titlename" pour chaque section de configuration d'onglet dans le fichier sauvegardé auparavant. Pour ce faire, je crée d'abord un tableau de numéros de lignes où je vais ajouter des lignes.
LINES=($(grep -n '\[Terminal' /tmp/test | cut -d: -f1))
J'ajoute la ligne "Title=titlename" à l'intérieur d'une boucle itérant sur les onglets :
sed -ri "$((${LINES[$i]}+$i))s/.*/&\nTitle=$TITLE/" /tmp/test
Une alternative est d'utiliser simplement Byobu . Appuyez sur F2 pour ouvrir de nouvelles bornes à l'intérieur. Utilisez F3 et F4 pour passer de gauche à droite entre les bornes.
Fermez la fenêtre de l'interface graphique quand vous le souhaitez. Lorsque vous rouvrez Byobu, tous vos terminaux sont restaurés :)
J'ai également cherché cette fonctionnalité dans le terminal Gnome mais je ne l'ai pas trouvée. La meilleure option que j'ai trouvée jusqu'à présent est d'utiliser konsole. Elle vous permet de mettre vos onglets en signet, de sorte que vous pouvez y revenir en les sélectionnant dans un menu de signets. J'espère que cela vous aidera.
J'ai trouvé un moyen de le faire qui, je pense, est plus rapide.
Type :
gnome-terminal --tab-with-profile=PROFILENAME1 --tab-with-profile=PROFILENAME2 ... --tab-with-profile=PROFILENAME999
J'ai créé un alias avec cette commande et cela a bien fonctionné pour moi. Je tape simplement workflow
et un terminal apparaît avec 3 onglets et les titres que j'ai choisis dans la définition du profil qui sont placés dans les onglets.
Sur mon .bashrc
le fichier que j'ai placé :
alias workflow='gnome-terminal --tab-with-profile=Git --tab-with-profile=Run | sublime-text &'
J'ai essayé les options ci-dessous après avoir restauré les paramètres sauvegardés et le Titre est également restauré correctement.
Cette option permet d'éviter que votre jeu de titres initial ne soit écrasé.
J'espère que cela aidera et un grand script en effet. Gagner beaucoup de temps chaque fois que u reboot et je peux heureusement redémarrer ma boîte virtuelle fréquemment.
Merci !
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.