web-dev-qa-db-fra.com

Comment changer le style de police du terminal Invite sous Ubuntu MATE 16.04

Le terminal Mate, comme tout émulateur de terminal sous Ubuntu ou tout autre système d'exploitation, a une ligne d'entrée du type:

abc@xyz:~$

Comment changer le style de police de cette ligne? Autre que celui-ci, vous entrez des commandes dans la ligne ci-dessus, puis la commande génère des messages par la suite. Je veux définir ce texte dans un style différent. Je peux le faire en allant dans Edit>Profile preferences. Mais cela change le style de police de la ligne d’entrée par le même. Je souhaite qu'il y ait une différence entre le texte de la ligne d'entrée et le reste du texte dans le terminal afin qu'après qu'une commande ait imprimé des messages verbalement, je puisse retracer la ligne d'entrée sans regarder en arrière.

Ubuntu 16.04 semble avoir une couleur par défaut pour la ligne d’entrée qui reste inchangée en modifiant les options dans Profile preferences.

6
user_1_1_1

(Certaines des captures d'écran ci-dessous révèlent l'utilisation d'un éditeur de texte particulier. Si cela pose problème au lecteur, il est prié de considérer l'utilisation de cet éditeur par l'auteur du message comme un acte de naïveté irréprochable.)

L'invite de terminal fait partie de votre environnement utilisateur appelée PS1. Il est défini dans votre fichier .bashrc que vous pouvez modifier pour le modifier. Vous pouvez voir ce que c'est actuellement avec echo $PS1. Voici le mien:

$ echo $PS1
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;35m\]\w\$\[\033[00m\]

Cela fait ressembler mon invite à ceci par rapport à une commande ...

L'invite de couleur est obtenue en supprimant la mise en commentaire de cette ligne dans votre .bashrc

#force_color_Prompt=yes

donc ça ressemble à ça:

force_color_Prompt=yes

Cela provoque la définition de l'invite par la ligne après if [ "$color_Prompt" = yes ]; then

qui par défaut est:

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

Les couleurs sont définies par ces codes:

  • vert clair \[\033[01;32m\]
  • blanc \[\033[00m\]
  • bleu clair \[\033[01;34m\]

et puis retour au blanc. Vous pouvez constater qu'ils sont identiques, à l'exception du nombre indiqué dans le deuxième groupe de crochets. Voici quelques autres codes d'échappement à choisir:

Blue        0;34     Light Blue    1;34
Green       0;32     Light Green   1;32
Cyan        0;36     Light Cyan    1;36
Red         0;31     Light Red     1;31

Voici quelques autres options pour que votre invite se démarque

--- Tous testés dans MATE terminal sur Ubuntu MATE 16.04 ---

Lorsque vous appliquez ces modifications à une invite blanche, je laisse cette ligne commentée:

#force_color_Prompt=yes

Et éditez la quatrième ligne de cette section de .bashrc:

if [ "$color_Prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '

Si vous souhaitez appliquer le soulignement et mettre en surbrillance les effets à une invite colorée , comme expliqué précédemment, vous devez supprimer le commentaire de force_color_Prompt=yes et modifier le seconde ligne au lieu de la quatrième. Dans les exemples ci-dessous, je me réfère aux "quatrième ligne" et "deuxième ligne" de l'extrait de code ci-dessus.

Invite "BOLD":

Modifiez la quatrième ligne pour inclure les séquences d'échappement \[\e[1m\] (gras) et \[\e[0m\] (arrêt gras).

PS1='${debian_chroot:+($debian_chroot)}\[\e[1m\]\u@\h:\w\$ \[\e[0m\]'

Pas une grande différence - j'inclus la ligne ci-dessus pour comparaison.

Dans les séquences d'échappement de couleurs, les couleurs "claires" (avec 1 au lieu de 0 comme indiqué dans le tableau ci-dessus) sont considérées en gras. J'ai essayé d'utiliser la séquence en gras sur l'invite colorée, mais il semble que le terminal MATE ne le permette pas de le rendre encore plus gras . Je l'ai aussi essayé en utilisant le code setaf mais toujours aucun résultat. Peut-être que je me trompe. Je ne pouvais pas non plus gérer d'invite en italique, et je n'ai même pas essayé d'invite clignotante - ce n'est pas OK.

Invite soulignée:

Modifiez la quatrième ligne pour inclure les séquences d'échappement \[\e[4m\] et \[\e[24m\]

PS1='${debian_chroot:+($debian_chroot)}\[\e[4m\]\u@\h:\w\$ \[\e[24m\]'

Pour l'invite colorée soulignée, retirez le commentaire force_color_Prompt=yes et ajoutez deux fois la séquence \[\e[4m\] à la deuxième ligne. Les codes de réinitialisation existants mettront fin à l'effet:

PS1='${debian_chroot:+($debian_chroot)}\[\e[4m\]\[\033[01;32m\]\u@\h\[\033[00m\]:\[\e[4m\]\[\033[01;34m\]\w\[\033[00m\]\$ '

Invite en surbrillance:

Modifiez la quatrième ligne pour inclure \[\e[7m\] et \[\e[27m\]

PS1='${debian_chroot:+($debian_chroot)}\[\e[7m\]\u@\h:\w\$ \[\e[27m\]'

Pour la mise en surbrillance des couleurs, décommentez le #force_color_Prompt=yes et modifiez les codes d’échappement de couleur de la deuxième ligne afin d’avoir un 4 au lieu de 3, par exemple:

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;42m\]\u@\h\[\033[00m\]:\[\033[01;44m\]\w\[\033[00m\]\$ '

Pour que toutes les couleurs soient surlignées, supprimez la première réinitialisation et la deuxième séquence de couleurs:

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;42m\]\u@\h:\w\[\033[00m\]\$ '

Pour des options plus exotiques, voir ma question préférée sur l'UA et ce site pour un guide détaillé.

Bien sûr, je vous recommande de faire des sauvegardes pendant que vous jouez, mais si jamais vous fubarez votre .bashrc, vous pouvez simplement en copier un nouveau à partir de /etc/skel:

cp /etc/skel/.bashrc ~/.bashrc
5
Zanna