gnome-terminal permet d'utiliser plusieurs profils (couleurs, polices, transparence, …), mais il faut passer par la souris pour en changer. Voilà un script qui permet de le faire via la ligne de commande. Il faut installer [url=apt://xdotool]xdotool[/url].
Comme il simule des pressions de touches, il faut que ce soit bien la fenêtre (et l'onglet) dont on veut changer le profil qui soit active lors de l'exécution. Si un profil est renommé, il faut redémarrer
gnome-terminal avant de pouvoir utiliser ce script. Il est utilisable avec la barre de menu aussi bien visible que cachée.
J'utilise Ubuntu 10.04, d'autres versions peuvent nécessiter des modifications.
Syntaxe :
$ gtps.sh <nom du profil>
Le nom du profil peut être un identifiant interne (« Profile0 », « Profile1 », … ou « Default » pour le profile par défaut).
#!/bin/bash
################################################
# gnome-terminal profile switcher #
################################################
# Auteur : Nicolas "Bousky" Bouscarle #
# Version : 1.1 #
# Licence : WTFPL/LPRAB #
# http://sam.zoy.org/wtfpl/COPYING #
# http://sam.zoy.org/lprab/COPYING #
################################################
# à adapter en fonction de la version de
# gnome-terminal et de la langue du système
profiles=$(gconftool-2 -g /apps/gnome-terminal/global/profile_list)
menu_show=$(gconftool-2 -g /apps/gnome-terminal/keybindings/toggle_menubar)
menu_term=t
if ! [ "$1" ] ; then
echo "Nom du profile manquant" >&2
exit 1
fi
profiles=${profiles#[}
profiles=${profiles%]}
profiles=${profiles//,/ }
if [[ "$profiles" =~ "$1" ]] ; then
profile_name=$(gconftool-2 -g /apps/gnome-terminal/profiles/$1/visible_name)
else
profile_name="$1"
fi
profile_num=$(
for profile in $profiles ; do
gconftool-2 -g /apps/gnome-terminal/profiles/$profile/visible_name
done \
| sort | grep -Fxnm1 "$profile_name" | cut -d: -f1
)
if ! [ "$profile_num" ] ; then
echo "Le profile '$1' n'esxiste pas" >&2
exit 2
fi
keys="Alt+$menu_term Right"
while ! [ $profile_num = 1 ] ; do
((profile_num--))
keys="$keys Down"
done
keys="$keys Return"
xdotool key $menu_show $keys $menu_show $keys