#1 Le 18/10/2022, à 19:39
- saragosse
couleur du prompt
bonjour,
débutant sur Linux j'utilise Ubuntu 20.04 LTS.
Mon souci est le suivant j'ai voulu 'colorisé' mon prompt et je m'aperçois que je dois taper la commande 'bash' dans le prompt pour obtenir la couleur est ce normal svp?
Une fois que j'ai tapé cette commande il se met en couleur mais si je quitte et que j'ouvre de nouveau mon terminal il est se met de nouveau en noir et blanc et rebelote je dois de nouveau tapé 'bash' pour avoir la couleur,
J'espère avoir réussi à me faire comprendre , un petit coup de pouce me serait bien utile Merci
Hors ligne
#2 Le 18/10/2022, à 19:44
- saragosse
Re : couleur du prompt
export PS1="\A \[$(tput sgr0)\]\[\033[38;5;214m\]\u\[$(tput sgr0)\]@\[$(tput sgr0)\]\[\033[38;5;202m\]\H\[$(tput sgr0)\]: \[$(tput sgr0)\]\[\033[38;5;4m\]\\$\[$(tput sgr0)\]"
force_color_prompt=yes
Hors ligne
#3 Le 18/10/2022, à 19:46
- Tawal
Re : couleur du prompt
Hello,
Ouvre un terminal (avec le prompt en noir et blanc) et donne le retour de :
echo "$SHELL"
Le savoir n'a d’intérêt que si on le transmet.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !
Hors ligne
#4 Le 18/10/2022, à 20:49
- Watael
Re : couleur du prompt
force_color_prompt=yes
ce n'est pas du bash, ça. Où as-tu trouvé ça ?
tput sgr0 -> \033[m
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#5 Le 19/10/2022, à 06:49
- serged
Re : couleur du prompt
force_color_prompt=yes
ce n'est pas du bash, ça. Où as-tu trouvé ça ?
Si, c'est du bash... Mais à mettre dans le .bashrc.
Dans mon mien :
# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color) color_prompt=yes;;
esac
# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
force_color_prompt=yes
LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)
Hors ligne
#6 Le 19/10/2022, à 07:01
- iznobe
Re : couleur du prompt
Bonjour , pour que cela fonctionne a tous les coups :
il faut passer cette commande :
echo 'force_color_prompt=yes' | tee -a ~/.bashrc
et pour prendre le changement en compte :
source .bashrc
sur Linux Mint cette option est deja intégrée au .bashrc .
Dernière modification par iznobe (Le 19/10/2022, à 07:01)
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
En ligne
#7 Le 19/10/2022, à 10:11
- Watael
Re : couleur du prompt
Watael a écrit :force_color_prompt=yes
ce n'est pas du bash, ça. Où as-tu trouvé ça ?
Si, c'est du bash... Mais à mettre dans le .bashrc.
Dans mon mien :# set a fancy prompt (non-color, unless we know we "want" color) case "$TERM" in xterm-color) color_prompt=yes;; esac # uncomment for a colored prompt, if the terminal has the capability; turned # off by default to not distract the user: the focus in a terminal window # should be on the output of commands, not on the prompt force_color_prompt=yes
c'est écrit en bash, mais ça ne fait pas partie de bash (ce n'est pas dans le man).
une variable créée par les mainteneurs du .bashrc d'Ubuntu ?
bizarre...
c'est juste défini, ou c'est réutilisé dans un test du .bashrc ?
Dernière modification par Watael (Le 19/10/2022, à 10:12)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#8 Le 19/10/2022, à 10:16
- iznobe
Re : couleur du prompt
bizarre...
c'est juste défini, ou c'est réutilisé dans un test du .bashrc ?
c' est dans un test du fichier .bashrc sur Linux Mint , different de celui de @serged ( si ma memoire est bonne ), ce n ' est probablement pas la meme version de LM .
je suis sur LM 21 , mais pas d' acces là , car pas chez moi .
je donnerai le test complet de ma version en rentrant .
Dernière modification par iznobe (Le 19/10/2022, à 10:17)
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
En ligne
#9 Le 19/10/2022, à 12:06
- iznobe
Re : couleur du prompt
voici mon fichier :
iznobe@iznobe-PC:~$ cat .bashrc
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth
# append to the history file, don't overwrite it
shopt -s histappend
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=-1
HISTFILESIZE=-1
# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize
# If set, the pattern "**" used in a pathname expansion context will
# match all files and zero or more directories and subdirectories.
#shopt -s globstar
# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi
# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color|*-256color) color_prompt=yes;;
esac
# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes
if [ -n "$force_color_prompt" ]; then
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# We have color support; assume it's compliant with Ecma-48
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# a case would tend to support setf rather than setaf.)
color_prompt=yes
else
color_prompt=
fi
fi
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\$ '
fi
unset color_prompt force_color_prompt
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
;;
*)
;;
esac
# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
#alias dir='dir --color=auto'
#alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi
# colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
# Add an "alert" alias for long running commands. Use like so:
# sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
if [ $TILIX_ID ] || [ $VTE_VERSION ]; then
source /etc/profile.d/vte.sh
fi
PATH="$PATH:/home/$USER/.local/bin"
iznobe@iznobe-PC:~$
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
En ligne
#10 Le 19/10/2022, à 13:50
- Tawal
Re : couleur du prompt
Hello,
@Watael :
Sur Debian 11, j'ai bien cette variable qui est définie pourrait être définie dans mon .bashrc.
Elle est réutilisée plus tard dans un test.
Voici les sections concernées dans mon ~/.bashrc :
# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color|*-256color) color_prompt=yes;;
esac
# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes
if [ -n "$force_color_prompt" ]; then
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# We have color support; assume it's compliant with Ecma-48
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# a case would tend to support setf rather than setaf.)
color_prompt=yes
else
color_prompt=
fi
fi
if [ "$color_prompt" = yes ]; then
PS1="${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u\[\033[0;32m\]@\[\033[1;32m\]\h\[\033[0m\]:\[\033[01;34m\]\w\[\033[00m\]$ "
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt
Le 1er PS1=..... a été personnalisé par mes soins.
Edit:
En fait, la variable force_color_prompt sert (à travers un test) à définir une autre variable color_prompt qui elle est décisive dans le choix d'afficher le prompt avec ou sans couleur.
force_prompt_color n'est pas utilisée de base.
Edit2:
Au passage voici mon prompt coloré pour le compte root :
PS1='${debian_chroot:+($debian_chroot)}\[\033[5;31;10m\]\u\[\033[0;31m\]\[\033[0;32m\]@\[\033[0;31m\]\h\[\033[00m\]:\[\033[0;36m\]\w\[\033[00m\]# '
Dernière modification par Tawal (Le 19/10/2022, à 14:33)
Le savoir n'a d’intérêt que si on le transmet.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !
Hors ligne
#11 Le 19/10/2022, à 16:05
- Watael
Re : couleur du prompt
ok. c'est une variable créée par les mainteneurs du .bashrc; ce n'est pas une variable interne de bash.
et puisque saragosse définit PS1 sans test dans le terminal, elle n'y sert à rien.
par contre, selon comment saragosse définit PS1 dans .bashrc, il faudra peut-être la décommenter.
il faut qu'on voie son .bashrc...
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#12 Le 19/10/2022, à 16:34
- Tawal
Re : couleur du prompt
Ben vois-tu, je penche plutôt pour un souci de shell.
Car quand il lance la commande bash, le prompt est bien coloré.
Ce qui veut dire que le ~/.bashrc est bien sourcé et que le prompt y est bien défini.
Le savoir n'a d’intérêt que si on le transmet.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !
Hors ligne
#13 Le 19/10/2022, à 17:14
- Watael
Re : couleur du prompt
je suis comme toi : j'attends la réponse à ta question d'hier soir.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#14 Le 19/10/2022, à 19:22
- saragosse
Re : couleur du prompt
bonjour ,
19:02 saragosse@ubuntu: $echo $SHELL
/bin/bash
Hors ligne
#15 Le 19/10/2022, à 19:31
- Tawal
Re : couleur du prompt
Bon donne ton ~/.bashrc avec
cat ~/.bashrc
et donne le retour.
Le savoir n'a d’intérêt que si on le transmet.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !
Hors ligne
#16 Le 19/10/2022, à 19:36
- saragosse
Re : couleur du prompt
svp dites moi ce que je dois faire ..dois-je vous envoyez le .bashrc (120lignes) et comment je dois m'y prendre pour vous le transmettre , je le mets entre balises (je n'ai pas trop d'expérience dans l'utilisation de tous les outils) Merci
Hors ligne
#17 Le 19/10/2022, à 19:37
- saragosse
Re : couleur du prompt
# Add an "alert" alias for long running commands. Use like so:
# sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
export DISPLAY=:0
export PS1="\A \[$(tput sgr0)\]\[\033[38;5;214m\]\u\[$(tput sgr0)\]@\[$(tput sgr0)\]\[\033[38;5;202m\]\H\[$(tput sgr0)\]: \[$(tput sgr0)\]\[\033[38;5;4m\]\\$\[$(tput sgr0)\]"
#export PS1='[\033[0;31m]\u\e[m@\e[1;34m$(hostname -f) \e[m\w>'
force_color_prompt=yes
Hors ligne
#18 Le 19/10/2022, à 19:39
- saragosse
Re : couleur du prompt
et pour être précis j'ai utilisé le site de .bash PSI generator pour la sytaxe de mon prompt.
Hors ligne
#19 Le 19/10/2022, à 19:41
- saragosse
Re : couleur du prompt
https://bashrcgenerator.com/
Hors ligne
#20 Le 19/10/2022, à 19:48
- Watael
Re : couleur du prompt
où as-tu trouvé tes définitions des couleurs ? elles fonctionnent, mais je ne les reconnais pas. edit: messages croisés.
c'est le générateur qui a mis tput sgr0 ? c'est pas un super générateur alors.
là, force_color_prompt ne sert à rien.
ce n'est pas à toi de définir le DISPLAY !
pour remettre ton .bashrc à l'endroit, il faudrait en effet nous poster les 120 lignes.
Dernière modification par Watael (Le 19/10/2022, à 19:49)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#21 Le 19/10/2022, à 19:53
- iznobe
Re : couleur du prompt
tu passes et tu fais la meme chose que moi dans le message #9 :
tu ouvres le terminal , puis tu y met :
cat .bashrc
tu copies tout et tu donnes le tout entre balises code , comme d ' habitude quoi
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
En ligne
#22 Le 19/10/2022, à 20:58
- MicP
Re : couleur du prompt
Bonjour
…où as-tu trouvé tes définitions des couleurs ? …
Ce sont les 256 couleurs définies dans la palette 8 bits.
https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit
Pour voir les 256 couleurs,
lancez la ligne de commandes suivante :
for id in {0..255}; do printf "\033[38;5;${id}m%s " $id; done; printf "\033[39m\n"
Dernière modification par MicP (Le 19/10/2022, à 21:00)
Hors ligne
#23 Le 19/10/2022, à 21:10
- Watael
Re : couleur du prompt
j'ai oublié. j'avais mis ça dans un script comme pense-bête, mais je ne le retrouve pas.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#24 Le 19/10/2022, à 22:34
- Tawal
Re : couleur du prompt
Et ben, je ne connaissais pas.
C'est intéressant, car on arrive à faire ceci :
$ echo -e "\e[38;5;11;9;5;4;1mTexte jaune gras souligné, barré et clignotant\e[0m"
On définit la couleur 38;5;11 (selon l'exemple de MicP)
Puis on ajoute les effets :
9 = barré
5 = clignotant
4 = souligné
1 = gras
L'ordre des effets importe peu.
MicP
Edit:
Ajout du "4=souligné" oublié.
Dernière modification par Tawal (Le 19/10/2022, à 22:41)
Le savoir n'a d’intérêt que si on le transmet.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !
Hors ligne
#25 Le 20/10/2022, à 06:09
- saragosse
Re : couleur du prompt
Bonjour,
1/ Oui c'est le générateur qui a défini les couleurs : https://bashrcgenerator.com/
2/ c'est aussi le générateur en question qui a mis
tput sgr0
, Je ne sais pas si c'est un super générateur mais comme débutant je me débrouille avec les outils que je trouve, si vous avez un générateur plus fiable je veux bien,
3/concernant
DISPLAY
je sais juste qu'il s'agit d'une variable d'environnement sans plus, mon niveau actuel de connaissances ne me permet pas encore d'appréhender son utilité et son fonctionnement,
4/ Je vous adresse mon fichier .bashrc
Hors ligne