IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Applications et environnements graphiques Discussion :

Modifier Couleur de fond du terminal CentOS


Sujet :

Applications et environnements graphiques

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 172
    Points : 69
    Points
    69
    Par défaut Modifier Couleur de fond du terminal CentOS
    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.

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 376
    Points
    19 376
    Par défaut
    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
    ...
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 172
    Points : 69
    Points
    69
    Par défaut
    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.

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 368
    Points : 23 622
    Points
    23 622
    Par défaut
    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.

  5. #5
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 376
    Points
    19 376
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf '^[[40;37m^[[2J'
    ou ^[ est le caractère d'échappement Ctrl-V-[
    ...
    ?
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 172
    Points : 69
    Points
    69
    Par défaut
    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é.

  7. #7
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 376
    Points
    19 376
    Par défaut
    printf "\033[40;37mTEXTE\033[0m"
    ce n'est pas ce que j'ai écrit.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  8. #8
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 368
    Points : 23 622
    Points
    23 622
    Par défaut
    Citation Envoyé par N_BaH Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf '^[[40;37m^[[2J'
    ou ^[ est le caractère d'échappement Ctrl-V-[
    ...
    ?
    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.

    Citation Envoyé par bbkenny Voir le message
    Le seul gconf que j'ai sur CentOS est un répetoire et je n'ai pas de gconf-editor.
    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

  9. #9
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 376
    Points
    19 376
    Par défaut
    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.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 172
    Points : 69
    Points
    69
    Par défaut
    Bon, j'ai opté pour cette solution pas très élégante :
    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
    Si quelqu'un a mieux, je suis à l'écoute.

  11. #11
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 368
    Points : 23 622
    Points
    23 622
    Par défaut
    Citation Envoyé par bbkenny Voir le message
    Bon, j'ai opté pour cette solution pas très élégante :
    Si quelqu'un a mieux, je suis à l'écoute.
    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

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 172
    Points : 69
    Points
    69
    Par défaut
    Merci pour le lien, ça correspond exactement à mon besoin.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Toutes versions] Modifier couleur de fond en temps réel
    Par macgyver44 dans le forum VBA Access
    Réponses: 1
    Dernier message: 06/03/2013, 18h22
  2. Réponses: 3
    Dernier message: 21/02/2013, 16h11
  3. modifier couleur de fond
    Par princesse95 dans le forum Flash
    Réponses: 0
    Dernier message: 26/10/2009, 16h55
  4. Modifier couleur de fond d'une cellule d'un tableau dynamiquement.
    Par fred61 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 27/03/2009, 02h19
  5. Détecter la couleur de fond du terminal
    Par Luc Hermitte dans le forum Linux
    Réponses: 1
    Dernier message: 10/01/2007, 06h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo