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 ?
J'ai essayé une autre option,
J'ai modifié mon titre par défaut pour le terminal afin d'utiliser la valeur de l'Intital en ~/.bashrc
plutôt que de modifier le ~/.profile
paramètres.
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PS1="$PS1"
;;
*)
;;
esac
Si vous le faites, il n'est pas nécessaire de modifier votre profil de terminal.
Lorsque vous exécutez gnome-terminal --load-config
tous les noms d'onglets sont restaurés correctement. Et vous pouvez également modifier comme vous le souhaitez et sauvegarder à nouveau les onglets !
Hyper ( https://github.com/zeit/hyper ) est une bonne alternative multiplateforme écrite en JavaScript et fournie avec Electron.
Il y a un PR qui va ajouter la prise en charge de l'enregistrement/restauration de la session dans la boîte : https://github.com/zeit/hyper/pull/945
Une petite amélioration au script existant qui vérifie également le xdotool installé sur le système et ajoute une variable pour le changement de chemin
#!/bin/bash
SAVEPATH=/tmp/termprofile
if [ ! -f /usr/bin/xdotool ]; then
echo "please install 'xdotool'"
exit 1
fi
gnome-terminal --save-config=$SAVEPATH
LINES=($(grep -n '\[Terminal' $SAVEPATH | cut -d: -f1))
for ((i=0; i<$(grep '\[Terminal' $SAVEPATH | 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/" $SAVEPATH
done
En développant la réponse de Nyakin ci-dessus, ce script fonctionnera pour de multiples configurations de fenêtres et d'onglets et enregistrera correctement les titres d'onglets pour tous les onglets qui en ont.
Ceci est actuellement testé sur gnome-terminal 3.2 mais pourrait être configuré pour n'importe quel programme de terminal avec une fonctionnalité similaire de sauvegarde de la configuration.
Cela nécessite les outils 'xprop', 'xdotool' et 'wmctrl'.
Code :
#!/usr/bin/env bash
FILE="$1"
gnome-terminal --save-config=$FILE
WINDOWLINES=$(wmctrl -lx | grep gnome-terminal.Gnome-terminal)
WINDOWNUM=$(echo "$WINDOWLINES" | wc -l)
TABLISTS=$(grep "^Terminals" $FILE)
for ((i=1; i<=$WINDOWNUM; i++))
do
WINDOWLINE=$(echo "$WINDOWLINES" | sed -n "$i{p;q}")
WINDOW_ID=$(echo "$WINDOWLINE" | cut -d' ' -f1)
#Switch to window
wmctrl -i -a $WINDOW_ID
LINE=$(echo "$TABLISTS" | sed -n "$i{p;q}"); LINE=${LINE#Terminals=}
TERMINALNUM=$(echo "$LINE" | grep -o ';' | wc -l)
#go to first tab of the window if more than 1
[ $TERMINALNUM -gt 1 ] && xdotool key alt+1 && sleep .1
for tab in ${LINE//;/ }
do
#Get the current tab title
TITLE=$(xprop -id $WINDOW_ID WM_NAME | sed -e 's/WM_NAME(STRING) = "//' -e 's/"$//')
#Insert it into the config file
[ "$TITLE" == "${TITLE//WM_NAME/}" ] && sed -ri "/\[${tab}\]/aTitle=${TITLE}" $FILE
#Move to the next tab in the window
xdotool key ctrl+Page_Down
done
done
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.