Page 1 sur 1

[Bash] Affichage uniquement dans URxvt (Résolu)

Publié : dim. 22 juil. 2018, 17:20
par Joan31
Bonjour,

J'ai ajouté dans mon .bashrc le lancement de neofetch.

Du coup à chaque lancement du terminal neofetch se lance ce qui me conviens.

Seulement si je me logue via tty, là aussi neofetch se lance et ça j'aime moins.

Alors je cherche à savoir comment créer une condition pour que neofetch se lance uniquement dans une console graphique, terminal comme URxvt.

Merci d'avance pour votre aide.

Re: [Bash] Affichage uniquement dans URxvt

Publié : dim. 22 juil. 2018, 17:44
par avi3000
Tu peux utiliser la variable $TERM

Re: [Bash] Affichage uniquement dans URxvt

Publié : mar. 24 juil. 2018, 14:13
par Joan31
Merci pour ta réponse.

Effectivement c'est bonne idée d'utiliser la variable $TERM.

En tty j'ai ce retour :

Code : Tout sélectionner

echo '$TERM'
linux
Du coup voici le code bash pour ceux à qui cela intéresse :

Code : Tout sélectionner

if [[ $TERM != linux ]]; then
	neofetch
fi
Désormais, quelque soit la console graphique que j'ouvre, j'ai neofetch qui s'affiche. Mais jamais en tty.

Re: [Bash] Affichage uniquement dans URxvt (Résolu)

Publié : mar. 24 juil. 2018, 14:47
par avi3000

Code : Tout sélectionner

[[ "$(tty)" =~ '/dev/tty' ]] && echo "est tty " $(tty) || echo "n'est pas tty " $(tty)
fonctionne aussi.
A mon humble avis, c'est plus fiable que le test sur $TERM (compatible BSD ??).

Tu peux écrire ton test :

Code : Tout sélectionner

[ "$TERM" != 'linux' ] && neofetch
ou :

Code : Tout sélectionner

 [[ "$(tty)" =~ '/dev/tty' ]] && neofetch

Re: [Bash] Affichage uniquement dans URxvt (Résolu)

Publié : mar. 24 juil. 2018, 14:51
par Joan31
Merci pour ta remarque :)