(bash) Colorier mon bash en rouge quand je suis en root

Questions et astuces concernant l'installation et la configuration d'archlinux
KaitoKito
newbie
Messages : 4
Inscription : mer. 16 sept. 2009, 00:22

(bash) Colorier mon bash en rouge quand je suis en root

Message par KaitoKito »

Bonjour,

J'aimerais rendre mon bash rouge quand je suis en root, pour me rappeler que je suis en root (je suis très distrait par moment). Seulement je ne sais pas comment procéder. J'ai pensé que modifier le .bashrc de la session root serait la solution, mais j'ignore où est le .bashrc en question, ni la commande à y ajouter, sachant que si je retourne sur une session normale après j'aimerais que le bash redeviennent en couleur normale. Des idées ?

Merci d'avance.

KaitoKito.
Avatar de l’utilisateur
PillOow
Daikyu
Messages : 68
Inscription : mer. 18 juin 2008, 22:07

Re: (bash) Colorier mon bash en rouge quand je suis en root

Message par PillOow »

Salut ! Si t'es bien celui que je pense, ça fait un bail. :) T'es bien Kaito de TB ?

Le .bashrc de root devrait en principe se trouver dans /root, s'il n'existe pas tu peux le créer et t'inspirer du .bashrc de l'user pour le remplir. Personnellement, je te conseille l'installation de sudo, mais après, question gout.
Avatar de l’utilisateur
Nic0
Chu Ko Nu
Messages : 454
Inscription : dim. 11 janv. 2009, 03:16
Localisation : Calvados (14)

Re: (bash) Colorier mon bash en rouge quand je suis en root

Message par Nic0 »

Salut,

Je sais que c'est possible, je l'avais fait, mais dois y avoir des façon plus élégante que ce que j'avais fait.

perso, j'ai fais un .bashrc dans le rep /root/ mais dois avec la vérification "id = 0" de faire mieux.
Je donne ce que j'ai dans mon /root/.bashrc

Code : Tout sélectionner

# .bashrc

# Check for an interactive session
[ -z "$PS1" ] && return

alias ls='ls --color=auto'
alias lsr='ls -R --color=auto'
alias pdw='pwd'

function setprompt
{
 BLUE="\[$(tput setaf 4)\]"
 RED="\[$(tput setaf 1)\]"
 YELLOW="\[$(tput setaf 3)\]"
 RESET="\[$(tput sgr0)\]"
 BOLD="\[$(tput bold)\]"

if [ `id -u` = 0 ]
  then
    PS1="$BOLD$RED-$BLUE\A$RED- $YELLOW[$RED\u@\h $BLUE\W$YELLOW] $RED\$ $RESET"
  else
    PS1="$BOLD$RED-$BLUE\A$RED- $YELLOW[$RESET\u@\h $BOLD$BLUE\W$YELLOW] $YELLOW\$ $RESET"
  fi
}
setprompt
sûrement pas ce qui se fait de mieux, mais c'est en rouge une fois que tu fais "su". Ça marche™ en tout cas…
Si quelqu'un veux fournir plus d'explication… :)
~ Yet Another DevOps Blog ~
Avatar de l’utilisateur
PillOow
Daikyu
Messages : 68
Inscription : mer. 18 juin 2008, 22:07

Re: (bash) Colorier mon bash en rouge quand je suis en root

Message par PillOow »

Ouais pour le coup je pige pas le coup du "id -u", si tu te logues en root c'est bashrc dans /root qui sera lu, et si tu es en user c'est le bashrc dans $HOME qui sera lu. Du coup, à quoi ça sert de vérifier l'id de l'user ?
Avatar de l’utilisateur
bennyboy
archer de cavalerie
Messages : 154
Inscription : dim. 12 oct. 2008, 20:36

Re: (bash) Colorier mon bash en rouge quand je suis en root

Message par bennyboy »

Tu dois le créer (le .bashrc), par défaut il n'existe pas et aussi il faut je pense créer un bash_profile ;-)
Mon wiki
Mon Github
T'es tellement no-life que t'aimerais être un PC pour redémarrer ta vie en mode sans échec !
Avatar de l’utilisateur
rafmav
yeomen
Messages : 272
Inscription : mer. 11 mars 2009, 13:30

Re: (bash) Colorier mon bash en rouge quand je suis en root

Message par rafmav »

une autre solution en console sous X est d'utiliser un terminal en mode administrateur (sous xfce rubrique accessoires) et de changer la couleur du fond de l'écran, en rouge par exemple.
#rmv$@f29£8µ1
Ma petite paresse me perdra...
Si vous ne voulez pas vous tromper, ne faites rien!
Impossible est impossible: est venue une personne qui ne savais pas que c'était impossible, et qui l'a fait!
Avatar de l’utilisateur
Nic0
Chu Ko Nu
Messages : 454
Inscription : dim. 11 janv. 2009, 03:16
Localisation : Calvados (14)

Re: (bash) Colorier mon bash en rouge quand je suis en root

Message par Nic0 »

@PillOow, à l'origine, c'est un truc que j'avais lu (y a pas mal de temps) qui ne devait pas être dans le /root/.bashrc, mais bien fonctionné avec la vérification de l'id.
~ Yet Another DevOps Blog ~
Avatar de l’utilisateur
JPEC
yeomen
Messages : 223
Inscription : sam. 27 déc. 2008, 22:26
Localisation : Paris

Re: (bash) Colorier mon bash en rouge quand je suis en root

Message par JPEC »

Il te suffit de setter la variable PS1 dans /root/.bashrc en mettant le code couleur au début puis par exemple \$ \u \w...
Thinkpad x201 (CPU : i5 @ 2,4GHz, RAM : 8GO, SSD : 128GO) - Archlinux (x86_64) + Gnome + Bépo
TEX Yoda (MX Brown) | HHPK (MX Brown)
Avatar de l’utilisateur
rafmav
yeomen
Messages : 272
Inscription : mer. 11 mars 2009, 13:30

Re: (bash) Colorier mon bash en rouge quand je suis en root

Message par rafmav »

Tout simplement:

copier /etc/skel/.bash_profile dans /root

Code : Tout sélectionner

# cp /etc/skel/.bash_profile /root
dans /root/.bashrc, mettre ça:

Code : Tout sélectionner

# vi /root/.bashrc
PS1='\[\e[1;31m\][\u@\h \W]\$\[\e[0m\] '
En revanche si c'est pour changer intégralement la couleur du fond d'écran (peut-être préférable à mon avis), je n'ai pas trouvé les bons paramètres, mais le tuto de l'autre site d'arch doit donner des pistes (il suffit probablement d'adapter le paramètrage).

Le tuto est sur l'autre site d'archlinux:
http://wiki.archlinux.org/index.php/Color_Bash_Prompt

(en anglais, navré).
#rmv$@f29£8µ1
Ma petite paresse me perdra...
Si vous ne voulez pas vous tromper, ne faites rien!
Impossible est impossible: est venue une personne qui ne savais pas que c'était impossible, et qui l'a fait!
Répondre