Bonjour,
Je souhaiterais modifier par script sh la couleur de fond du terminal CentOS 5.8.
Si quelqu'un a une idee, par avance merci.
Bonjour,
Je souhaiterais modifier par script sh la couleur de fond du terminal CentOS 5.8.
Si quelqu'un a une idee, par avance merci.
Bonjour,
tu peux nous donner plus de détails, s'il te plaît.
le terminal, c'est une console Alt+F1-12, ou un terminal X ?
quelle est la finalité de la manip. ?
si tu changes la couleur du fond, pense à changer la couleur des écritures !
tu peux utiliser des séquences d'échappement ANSI avec printf (plutôt qu'avec echo -ne)
ou tput
ou setterm
...
Bonjour,
Je suis sous CentOS 5.8, en mode graphique. Je parle du terminal que l'on obtient par le menu : Applications -> Accessoires -> Terminal.
setterm fonction si on execute xterm, ce qui n'est pas mon cas.
Pour tput, je ne vois pas bien comment l'utiliser pour changer la couleur de fond du terminal.
C'est très probablement le « gnome-terminal ».
Il y a trois manières de faire :
- Lancer un xterm ou un rxvt avec les options « -fg » et « -bg » mais elles n'ont pas l'air reconnues par le gnome-terminal. :-( Il fallait s'y attendre ;
- Modifier le profil. La plupart des terminaux stockent ça normalement dans un fichier de config dans le home dir de l'utilisateur mais Gnome, lui, stocke ça dans sa base de registres personnelle. Oui, c'est une hérésie dans le monde Unix, mais il y a longtemps que Gnome a décidé de suivre sa propre voie. Dans ce cas, il faut utiliser gconf pour la modifier en ligne de commande (donc depuis ton shell) ou gconf-editor pour le faire à la main. Mais l'utilisateur risque de ne pas être content ;
- Il y a bien une séquence CSI ou OSC qui permet de déterminer les couleurs par défaut de l'avant-plan et l'arrière-plan (et pas simplement la couleur du fond des caractères à un instant donné).
C'est cette troisième option qu'il faut suivre : ça te permet d'utiliser des séquences standard, qui restent dans le cadre de l'émulation du terminal, et qui perdureront jusqu'à la fermeture de celui-ci (sauf consignes contraires) et qui disparaîtront ensuite. C'est autrement plus propre que changer le profil.
Je sais que j'ai réussi à le faire au moins une fois, y compris avec le gnome-terminal, mais je ne parviens plus à remettre la main sur les bonnes séquences. J'ai passé la soirée hier à les rechercher.
ou ^[ est le caractère d'échappement Ctrl-V-[
Code : Sélectionner tout - Visualiser dans une fenêtre à part printf '^[[40;37m^[[2J'
...
?
Bonjour,
Le seul gconf que j'ai sur CentOS est un répetoire et je n'ai pas de gconf-editor.
printf "\033[40;37mTEXTE\033[0m" : ne modifie la couleur de fond que sur la partie TEXTE, et non sur le terminal dans sa totalité.
Hélas non (que ce soit avec \033 ou Ctrl-V Ctrl-[, d'ailleurs) car ceci ne « tient » pas. Certes, effacer l'écran le repeint avec la couleur de fond en vigueur, mais dès qu'une réinitialisation aux valeurs par défaut avec Esc[0m a lieu, on revient au blanc sur noir ou au modèle qui fait loi.
Il y a bien une séquence qui permet de le faire quand même mais à voir combien elle est difficile à retrouver et à mettre en pratique, ça ressemble à un truc de guru.
C'est un package à installer. Mais personnellement, comme pour beaucoup de monde, GNOME finit par me sortir par les yeux autant qu'il me séduit. Il y avait gconftool-2, gconf-editor, désormais il faudra passer à dconf et dconf-editor, qui sont un projet concurrent du premier mais incompatible.
Tu peux essayer ceci pour récupérer le profil par défaut du terminal :
Code Shell : Sélectionner tout - Visualiser dans une fenêtre à part $ gconftool-2 -R /apps/gnome-terminal/profiles/Default
Bon, j'ai opté pour cette solution pas très élégante :
Si quelqu'un a mieux, je suis à l'écoute.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 couleurFondTerm="FFFFFF" if [ Cond1 ]; then couleurFondTerm="FF0000"; fi if [ Cond2 ]; then couleurFondTerm="00FF00"; fi if [ Cond3 ]; then couleurFondTerm="0000FF"; fi rm -f /home/MonUser/.gconf/apps/gnome-terminal/profiles/Default/%gconf.xml echo "<?xml version=\"3.0\"?>" > /home/MonUser/.gconf/apps/gnome-terminal/profiles/Default/%gconf.xml echo "<gconf>" >> /home/MonUser/.gconf/apps/gnome-terminal/profiles/Default/%gconf.xml echo " <entry name=\"background_color\" mtime=\"1349020486\" type=\"string\">" >> /home/MonUser/.gconf/apps/gnome-terminal/profiles/Default/%gconf.xml echo " <stringvalue>#$couleurFondTerm</stringvalue>" >> /home/A MonUser/.gconf/apps/gnome-terminal/profiles/Default/%gconf.xml echo " </entry>" >> /home/MonUser/.gconf/apps/gnome-terminal/profiles/Default/%gconf.xml echo " <entry name=\"foreground_color\" mtime=\"1349020486\" type=\"string\">" >> /home/MonUser/.gconf/apps/gnome-terminal/profiles/Default/%gconf.xml echo " <stringvalue>#000000</stringvalue>" >> /home/MonUser/.gconf/apps/gnome-terminal/profiles/Default/%gconf.xml echo " </entry>" >> /home/MonUser/.gconf/apps/gnome-terminal/profiles/Default/%gconf.xml echo " <entry name=\"use_theme_colors\" mtime=\"1348945919\" type=\"bool\" value=\"false\">" >> /home/MonUser/.gconf/apps/gnome-terminal/profiles/Default/%gconf.xml echo " </entry>" >> /home/MonUser/.gconf/apps/gnome-terminal/profiles/Default/%gconf.xml echo " <entry name=\"palette\" mtime=\"1349020450\" type=\"string\">" >> /home/MonUser/.gconf/apps/gnome-terminal/profiles/Default/%gconf.xml echo " <stringvalue>#000000000000:#AAAA00000000:#0000AAAA0000:#AAAA55550000:#00000000AAAA:#AAAA0000AAAA:#0000AAAAAAAA:#AAAAAAAAAAAA:#555555555555:#FFFF55555555:#5555FFFF5555:#FFFFFFFF5555:#55555555FFFF:#FFFF5555FFFF:#5555FFFFFFFF:#FFFFFFFFFFFF</stringvalue>" >> /home/MonUser/.gconf/apps/gnome-terminal/profiles/Default/%gconf.xml echo " </entry>" >> /home/MonUser/.gconf/apps/gnome-terminal/profiles/Default/%gconf.xml echo "</gconf>" >> /home/MonUser/.gconf/apps/gnome-terminal/profiles/Default/%gconf.xml chown MonUser:MonUser /home/MonUser/.gconf/apps/gnome-terminal/profiles/Default/%gconf.xml chmod 600 /home/MonUser/.gconf/apps/gnome-terminal/profiles/Default/%gconf.xml reboot
Ouille ! Oui, il va falloir trouver mieux ! :-) Il faut que tu utilises gconf-tool2 pour aller modifier les clés de la base correspondant au terminal. Voici un script tout fait qui fait exactement ça : https://gist.github.com/1397104
Merci pour le lien, ça correspond exactement à mon besoin.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager