Pourquoi MAIL est-il désactivé dans les environnements charts?

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.