logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 26-10-2017 16:21:32

debile
Membre
Lieu : Truc-Muche-sous-Bois
Distrib. : Debian GNU/Linux 9.2 (Stretch
Noyau : Linux 4.9.0-4-amd64
(G)UI : gdm3, GNOME default
Inscription : 25-10-2017

Comment activer la coloration syntaxique

Bonjour,

Je sais que pour améliorer la lisibilité sur le Terminal il est possible de colorer la syntaxe avec une couleur différente selon l’élément.
C'est à dire:
le nom du repertoire où je me trouve sera en violet,
apt-get, aptitude, etc seront en jaune.
Les options -f -l -g seront en bleu
les retours seront aussi de differentes couleurs
etc

Je vois des screenshot sur Internet de gens qui l'ont fait mais j'ai beau chercher sur internet un tuto, je n'en trouve pas. Ou plutôt, j'en trouve plusieurs, mais toujours avec la solution de modifier /home/.bashrc  et d'enlever # devant les lignes correspondant à la coloration syntaxique.

Les deux ennuis c'est que
1)je n'ai pas ce fichier .bashrc dans /home/suzi,
et 2) que j'aimerais aussi modifier les couleurs pour le terminal Guake (ou pour n'importe quel autre terminal si dans le futur je veux en essayer un autre), pas seulement pour Gnome Terminal (or bashrc ne concerne que Gnome terminal je crois, non ?)

Du coup, dois-je créer ce fichier .bashrc ?
Si oui, pouvez vous me copier le contenu de votre fichier .bashrc ?

Merci

Hors ligne

#2 26-10-2017 22:13:16

nono47
Invité

Re : Comment activer la coloration syntaxique

Salut,

.bashrc, c'est un fichier caché, c'est indiqué pat la présence d'un point devant le nom .
Sous gnome, il faut faire Ctrl + H pour les afficher ( ou ls -la en console ) . Vérifie s'il est présent .

Pour la couleur, le lien vers le wiki : https://debian-facile.org/doc:programma … en-couleur
Un lien pour personnaliser le prompt : http://www.generation-linux.fr/index.ph … e-l-invite - il y a plein d'exemple sur internet .
smile

#3 26-10-2017 22:27:21

debile
Membre
Lieu : Truc-Muche-sous-Bois
Distrib. : Debian GNU/Linux 9.2 (Stretch
Noyau : Linux 4.9.0-4-amd64
(G)UI : gdm3, GNOME default
Inscription : 25-10-2017

Re : Comment activer la coloration syntaxique

Je sais pour les fichiers cachés, et il n'y est pas non plus.

Pour le premier lien j'attends de savoir si je dois créer .bashrc
Et pour le deuxième lien je ne comprends pas ses explications et ce que je dois faire pour faire apparaitre les couleurs:

Comment personnaliser cette invite ?


La variable d'environnement PS1 permet de définir le format de l'invite.La variable PS2 permet de modifier l'invite de continuation (celle qui apparait quand le shell attend d'autres instructions, par defaut ">").

Pour la mise en forme nous disposons de caractères spéciaux :

L'invite par défaut a cette forme :
[\u@\h \W]\$

    \u : nom de l'utilisateur.
......


Et maintenant la couleur!


On peut mettre en couleur l'invite et les commandes qui suivent.

Avec le code "\e[0;34m" la suite du texte sera en couleur. Il suffit de remplacer "0;34" par le code couleur voulu. Pour définir la fin de la mise en couleur : "\e[0m". Si vous ne mettez pas de fin, toute la suite sera en couleur (même les résultats des commandes).

Codes couleurs :

    Noir 0;30   
    Gris foncé 1;30
    Bleu 0;34
..........................



Je dois écrire ce code dans le terminal ? Où dois-je l'écrire sinon ? Qu'est ce que la variable PS1 ?, etc

Dernière modification par debile (26-10-2017 22:34:34)

Hors ligne

#4 26-10-2017 23:33:04

MicP
Membre
Inscription : 29-02-2016

Re : Comment activer la coloration syntaxique

Bonjour

La variable PS1 permet de définir l'apparence du prompt
qui est définie dans le fichier de configuration de l'interpréteur de commandes utilisé par ton système.

Généralement, c'est l'interpréteur de commandes /bin/bash
et son fichier de configuration pour ton compte utilisateur est : ~/.bashrc

Pourrais-tu copier/coller dans ton prochain message
le retour des commandes suivantes :

echo $SHELL

ls -l ~/.bash*

Merci.

=======
Les couleurs utilisées pour afficher les noms de fichiers et répertoires retournés par la commande ls
sont définies dans la variable LS_COLORS par la commande dircolors

Voir les retours des commandes suivantes :

echo $LS_COLORS

dircolors -p

man dircolors



=======
Si l'interpréteur de commandes et certaines commandes peuvent êtres configurées pour
transmettre à l'émulateur de terminal utilisé des séquences d'échappement permettant d'afficher certains mots en couleur,
encore faut-il que cet émulateur de terminal puisse les interpréter.

Généralement, avec la distribution Gnome l'émulateur de terminal utilisé se nomme gnome-terminal
Certaines distribution utilisant l'environnement de bureau Gnome
utilisent une application qui permet de modifier les paramètres de configuration de gnome-terminal
mais je n'utilise pas gnome-terminal et je ne sais pas encore quel émulateur de terminal tu utilises.

Dernière modification par MicP (27-10-2017 12:02:32)

Hors ligne

#5 27-10-2017 09:13:01

Walker29
Membre
Lieu : Bretagne (Finistère)
Distrib. : Debian 9.2 (Stretch)
Noyau : Linux 4.13.0-0.bpo.1-amd64
(G)UI : Xfce 4.12
Inscription : 23-04-2016

Re : Comment activer la coloration syntaxique

Bonjour,

Bon les puristes ne vont certainement pas aimer mais tant pis ! tongue
Va voir de ce côté : http://ezprompt.net/

- La logique vous conduira d'un point A à un point B, l'imagination et l'audace vous conduiront où vous le désirez ! (A. Einstein)
- Quelle époque terrible que celle ou des idiots dirigent des aveugles ! (W. Shakespeare)
- Si vous ne faites pas aujourd'hui ce que vous avez dans la tête, demain vous l'aurez dans le c... (Coluche) big_smile

Hors ligne

#6 27-10-2017 14:28:55

debile
Membre
Lieu : Truc-Muche-sous-Bois
Distrib. : Debian GNU/Linux 9.2 (Stretch
Noyau : Linux 4.9.0-4-amd64
(G)UI : gdm3, GNOME default
Inscription : 25-10-2017

Re : Comment activer la coloration syntaxique

suzi@pc-suzi:~$ echo $SHELL


/bin/bash



suzi@pc-suzi:~$ ls -l ~/.bash*


-rw------- 1 suzi suzi 6704 oct.  26 23:31 /home/suzi/.bash_history



Comme tu le vois je n'ai que .bash_history qui est un historique de toutes les commandes que j'ai tapées dans Gnome Terminal.

EDIT: Je viens de tester la même commande mais en root, et ça me donne ce retour:

root@pc-suzi:/home/suzi# ls -l ~/.bash*


-rw------- 1 root root 5352 oct.  26 22:06 /root/.bash_history
-rw-r--r-- 1 root root  570 janv. 31  2010 /root/.bashrc



Donc j'ai essayé cette fois de démarrer Nautilus à partir du Terminal pendant que j'étais en superutilisateur, et là victoire, .bashrc est dans le dossier.

C'est trop bizarre, je ne savais pas que certains fichiers cachés n'apparaissaient que pour le superutilisateur. Je pensais qu'ils apparaissaient tous à un utilisateur normal mais que certains étaient en lecture seule quand c'était des données sensible.

Que signifie -rw-r--r  au début du retour ?

Dans .bashrc j'ai ça:

# ~/.bashrc: executed by bash(1) for non-login shells.

# Note: PS1 and umask are already set in /etc/profile. You should not
# need this unless you want different defaults for root.
# PS1='${debian_chroot:+($debian_chroot)}\h:\w\$ '
# umask 022

# You may uncomment the following lines if you want `ls' to be colorized:
# export LS_OPTIONS='--color=auto'
# eval "`dircolors`"
# alias ls='ls $LS_OPTIONS'
# alias ll='ls $LS_OPTIONS -l'
# alias l='ls $LS_OPTIONS -lA'
#
# Some more alias to avoid making mistakes:
# alias rm='rm -i'
# alias cp='cp -i'
# alias mv='mv -i'




Merci

Dernière modification par debile (27-10-2017 14:37:57)

Hors ligne

#7 27-10-2017 14:41:34

smolski
quasi...modo
Lieu : AIN
Distrib. : backports (buster) 10
Noyau : Linux 4.19.0-8-amd64
(G)UI : gnome
Inscription : 21-10-2008

Re : Comment activer la coloration syntaxique

debile a écrit :

Que signifie -rw-r--r  au début du retour ?


Ce sont les droits Unix du fichier :
Voir dans le wiki :
https://debian-facile.org/doc:systeme:droits-unix smile


saque eud dun (patois chtimi : fonce dedans)

Hors ligne

#8 27-10-2017 15:20:42

Croutons
Membre
Distrib. : Debian12
Noyau : Linux 6.1.0-13-amd64
(G)UI : Fluxbox(NakeDeb)
Inscription : 16-12-2016

Re : Comment activer la coloration syntaxique

Bonjour
Attention le tilde ~ indique le répertoire de l'utilisateur, hors si tu te met sous le compte root c'est /root le répertoire personnel
Ce n'est pas le fichier /root/.bashrc mais celui de ton répertoire personnel, qui pour le coup n'existe pas
Bizarre
ls -l ~/.bash*

-rw------- 1 stephane stephane 51312 oct.  27 15:22 /home/stephane/.bash_history
-rw-r--r-- 1 stephane stephane   220 janv.  6  2016 /home/stephane/.bash_logout
-rw-r--r-- 1 stephane stephane  5335 janv.  6  2016 /home/stephane/.bashrc


Ba je pense que tu peux en créé un .bashrc dans ton répertoire personnel
Si tu veux tu peux tester avec le mien, qui a la base a été créé par l'équipe d'Handylinux, y'a une intro sympa pour le terminale

nano /hom/suzi/.bashrc


Puis tu copies/colle le texte ci dessous

# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# colors & char ########################################################
# text normal colors
red='\e[0;31m'
blue='\e[0;34m'
cyan='\e[0;36m'
green='\e[0;32m'
yellow='\e[0;33m'
# text bright colors
bred='\e[0;91m'
bblue='\e[0;94m'
bcyan='\e[0;96m'
bgreen='\e[0;92m'
byellow='\e[0;93m'
bwhite='\e[0;97m'
# reset color
NC='\e[0m'

# alias ################################################################
# ls & grep ------------------------------------------------------------
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'
alias ll='ls -l'
alias la='ls -A'
alias l='ls -CF'
# cd & goto ------------------------------------------------------------
alias cd..='cd ..'
alias ...='cd ..'
alias ....='cd ../..'
# end of alias #########################################################

# functions ############################################################
# archives -------------------------------------------------------------
# extract
function extract()      
{
     if [ -f $1 ] ; then
         case $1 in
             *.tar.bz2)   tar xvjf $1     ;;
             *.tar.gz)    tar xvzf $1     ;;
             *.bz2)       bunzip2 $1      ;;
             *.rar)       unrar x $1      ;;
             *.gz)        gunzip $1       ;;
             *.tar)       tar xvf $1      ;;
             *.tbz2)      tar xvjf $1     ;;
             *.tgz)       tar xvzf $1     ;;
             *.zip)       unzip $1        ;;
             *.Z)         uncompress $1   ;;
             *.7z)        7z x $1         ;;
             *.xz)        unxz $1         ;;
             *)           echo "'$1' ne peut etre extrait via >extract<" ;;
         esac
     else
         echo "'$1' n'est ps un fichier valide"
     fi
}
# compress
mktar() { tar cvf  "${1%%/}.tar"     "${1%%/}/"; }
mktgz() { tar cvzf "${1%%/}.tar.gz"  "${1%%/}/"; }
mktbz() { tar cvjf "${1%%/}.tar.bz2" "${1%%/}/"; }
mktxz() { tar cvJf "${1%%/}.tar.xz" "${1%%/}/"; }
# end of functions #####################################################

# 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=1000
HISTFILESIZE=2000

# 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) color_prompt=yes;;
esac

# prompt ###############################################################
# 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
    TRAD=`echo "${LANG:0:2}"`
    if [ "$TRAD" == "fr" ]; then
        echo -en "\e[0;31mDebian\e[m + \e[0;36mHandyLinux-2\e[m - prenez le contrôle de votre système\n"
    else
        echo -en "\e[0;31mDebian\e[m + \e[0;36mHandyLinux-2\e[m - take control of your system\n"
    fi
    PS1='${debian_chroot:+($debian_chroot)} \e[0;32m\u\e[m@\e[0;36m\h\e[m \e[01;34m\w\e[m\n \$ '
    # uncomment for a guantas_style prompt. sources: http://crunchbang.org/forums/viewtopic.php?pid=277970#p277970
    #PS1="\[\e[00;32m\]\A \[\e[00;35m\]\[\e[00;37m\]\n\[\e[00;35m\]●\[\e[00;33m\] ●\[\e[00;31m\] ●\[\e[01;35m\]\[\e[0m\] "
    # regular Debian colored prompt:
    #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

# 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


 


Tu as meme un rappel des couleurs en début de fichier
Comme tu peux voir tu as des allias qui on été défini , voir alias
Edit: Et voila le résultat dans mon terminale
Debian + HandyLinux-2 - prenez le contrôle de votre système
stephane@handylinux ~

Bon il faudra adapté a ce que tu veux comme message d'acceuil , puis j'ai même pas changé le nom Handylinux...ça me rappel par comment j'ai atteri sous Debian :P
Si tu vois pas ou modifier le fichier on verra ce que tu souhaite comme couleur et message au prompt

Dernière modification par Croutons (27-10-2017 15:35:29)


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<-- 
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

Hors ligne

#9 28-10-2017 14:21:21

MicP
Membre
Inscription : 29-02-2016

Re : Comment activer la coloration syntaxique

Bonjour

Merci pour les retours de commande.

Tu avais sans doute dû entrer par mégarde une commande
qui a supprimé le fichier ~/.bashrc de ton répertoire personnel.

Tu peux recréer ce fichier par copie du fichier original
en entrant la commande suivante :

cp /etc/skel/.bashrc ~/

Il te suffira ensuite de fermer la fenêtre de terminal,
et à chaque nouvelle fenêtre de terminal ouverte
ton fichier ~/.bashrc sera pris en compte par l'interpréteur de commandes.

Dernière modification par MicP (28-10-2017 14:28:22)

Hors ligne

#10 03-11-2017 01:54:56

debile
Membre
Lieu : Truc-Muche-sous-Bois
Distrib. : Debian GNU/Linux 9.2 (Stretch
Noyau : Linux 4.9.0-4-amd64
(G)UI : gdm3, GNOME default
Inscription : 25-10-2017

Re : Comment activer la coloration syntaxique

MicP a écrit :

Tu avais sans doute dû entrer par mégarde une commande
qui a supprimé le fichier ~/.bashrc de ton répertoire personnel.


big_smile Je commence à peine à toucher au terminal et je fais déjà des conneries.

Si je l'avais supprimé, ne devrais-je pas le trouver dans le dossier Corbeille sous Nautilus ? Car j'y trouve encore tous les fichiers supprimés depuis que j'ai installé Debian.

J'ai restauré le fichier comme tu l'as indiqué.
J'ai également essayé la version de Croutons.

Ca ne donne pas du tout ce que j'espérais, ça change uniquement la couleur de: 

suzi@pc-suzi ~


mais pas du reste.

Voilà un exemple de ce que j'esperais:
7TlPT.png

Mais peut être que je demande quelque chose qui n'est pas encore à ma portée ou qui ne se fait pas sur le terminal mais sur un autre logiciel comme vim. Donc laissez tomber, je vais attendre de mieux comprendre le fonctionnement de Debian avant de modifier des fichiers à tout va.

Merci pour vos efforts.

Dernière modification par debile (03-11-2017 01:55:31)

Hors ligne

#11 03-11-2017 06:37:25

MicP
Membre
Inscription : 29-02-2016

Re : Comment activer la coloration syntaxique

Bonjour

La capture d'écran que tu nous présente a été faîte dans une fenêtre de terminal
dans laquelle un script est en cours d'édition dans l'éditeur vim
(que l'on voit d'ailleurs cité dans le script visualisé et dans la barre d'état)
EDIT : Et la coloration syntaxique y a été appliquée par vim

Il est même possible que cette fenêtre de terminal
soit celle d'une session du programme screen (qui est aussi cité dans le script visualisé)
ou/et d'une session du terminal tmux (qui est aussi cité dans le script visualisé)
dans laquelle a été lancé l'éditeur de texte vim

Le fichier visualisé semble être un script de configuration
qui pourrait bien être un fichier de configuration ~/.bashrc
qui a été "personnalisé".

=======
Pour activer la coloration syntaxique dans l'éditeur vim
il faut entrer (dans l'éditeur vim) la commande :

syntax on


ou spécifier cette commande dans le fichier de configuration de vim
qui par défaut est :

~/.vimrc



=======

…ne devrais-je pas le trouver dans le dossier Corbeille sous Nautilus ?…

Les fichiers dont le nom commence par un point (comme .bashrc) sont des fichiers cachés.

Je n'utilise pas Nautilus mais il est possible que les fichiers cachés qui ont été déplacés dans la corbeille
n'y soient pas visibles non plus sans activer une option pour les rendre visibles.


=======

…Je commence à peine à toucher au terminal et je fais déjà des conneries.…

Rassure-toi : Il n'y a que ceux qui n'ont jamais débuté qui n'ont pas fait d'erreur wink

Dernière modification par MicP (03-11-2017 19:32:11)

Hors ligne

#12 03-11-2017 10:03:44

Croutons
Membre
Distrib. : Debian12
Noyau : Linux 6.1.0-13-amd64
(G)UI : Fluxbox(NakeDeb)
Inscription : 16-12-2016

Re : Comment activer la coloration syntaxique

Bonjour
Je n'utilise pas gnome mais sinon il y a déja les préférences du terminale a voir, sur le terminale XFCE il y a un large choix de couleur ainsi que des thème préréglé
Il y a sûrement ce genre de chose sur ton terminale, cela règle déja les couleurs de façon globale

-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<-- 
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

Hors ligne

Pied de page des forums