Je reçois de nouvelles notifications de courrier lorsque j'exécute bash
interactivement sur la console Linux, mais je ne les reçois pas sur xterm
ou konsole
.
La variable d'environnement MAIL
est définie sur /var/mail/USER
lors de la connection à la console, mais elle est vide sur xterm
et konsole
.
En outre, MAIL
n'est mentionné dans aucun /etc/bash.bashrc
.bashrc
, /etc/bash.bashrc
, /etc/bash.bashrc
, /etc/profile
, /etc/profile.d/*
, ni imprimé par grep -r MAIL= /etc
Pourquoi est-il non défini dans l'environnement graphique? (Debian 7.0)
La login
programme définit la variable d'environnement MAIL
lorsque vous vous connectez à une console virtuelle Linux.
Depuis la page de login(1)
:
La valeur de $ HOME, $ USER, $ SHELL, $ PATH, $ LOGNAME et $ MAIL est définie en fonction des champs appropriés dans l'input du mot de passe.
login
est le programme utilisé pour démarrer une session lorsque vous vous connectez à une console virtuelle Linux. Il vous request un nom d'user et un mot de passe, définit quelques variables environnementales de base et démarre un shell.
Si vous utilisez un gestionnaire de connection graphique (par exemple fourni avec Gnome ou KDE) au lieu de vous login
, la variable d'environnement MAIL
peut ne pas être définie.
Bash ne donne généralement des notifications que lorsqu'il est utilisé comme shell de connection. Même si la variable d'environnement MAIL
est définie, une instance interactive normale de bash
dans xterm
ou konsole
n'affichera pas de notification par courrier.
Vous pouvez exécuter bash
avec l' -l
pour forcer le comportement d'un shell de connection. Vous pouvez transmettre à xterm
le drapeau -ls
pour qu'il lance votre shell en tant que shell de connection.