Comment supprimer le message de bienvenue «Vous avez un message»

39

Quand j'ouvre mon terminal, il est écrit "vous avez du courrier", qui sait pourquoi? Je suis sous OS X, mais comme il est aussi basé sur Unix et repose sur des fichiers tels que bashrc, bash_profile etc. Je pensais que quelqu'un ici pourrait le savoir et je ne suis pas sûr que ce soit un problème spécifique à la plate-forme!

Gilles, arrête de faire le mal
la source

Réponses:

37

On dirait que quelque chose a envoyé du courrier sur (et à) la machine à l'aide de l'échangeur de courrier local. Le plus souvent, l'e-mail est un message automatisé provenant d'un paquet installé. Une fois que vous vous êtes connecté, tapez mailsur le terminal pour lire et (vraisemblablement) supprimer le courrier correspondant. (À l'intérieur mail, utilisez ?pour savoir quelles sont les commandes.) Une fois que vous avez lu ou supprimé tout courrier non lu, vous ne verrez plus le message "Vous avez un courrier" tant que / à moins que quelque chose d'autre n'envoie un courrier de la même manière. Les chances sont une fois que vous savez ce qui vous envoie le courrier, vous pouvez trouver une option de configuration pour changer où il l'envoie.

TJ Crowder
la source
26

C'est un "problème spécifique à la plate-forme" :-)

Mac OS X utilise par défaut le shell BASH comme beaucoup d'autres systèmes Un * x / Linux.

Les messages de votre système sont stockés dans une boîte aux lettres pour votre utilisateur, souvent située dans /var/mail/$user

Parce que parfois votre boîte aux lettres contient des messages importants (une tâche cronjob échouée, etc.), vous ne devez pas la vérifier à chaque fois par vous-même.

Le BASH (et de nombreux autres shells) a une fonctionnalité appelée mailcheck, qui envoie votre message la première fois que vous ouvrez votre terminal.

$ MAILCHECK est une variable d’environnement qui contient les secondes au moment de vérifier les nouveaux messages. Le courrier est également vérifié avant d'afficher l'invite principale. Voir plus de variables in man bash- Bash .

Pour éviter que les nouveaux messages ne soient vérifiés, vous pouvez simplement supprimer $ MAILCHECK. Le bon endroit pour cela est votre fichier .bashrc, qui sera lu lorsque vous ouvrirez un shell. C'est dans votre répertoire personnel de l'utilisateur.

Ajouter à ~ / .bashrc:

unset MAILCHECK

pour désactiver le message.

Bien sûr, il est également possible de simplement supprimer les mails comme ceux mentionnés par TJ Crowder :-)

echox
la source
7

Pour utiliser Raspian (distribution basée sur Debian pour Raspberry Pi) sur SSH, je devais commenter la ligne suivante dans /etc/pam.d/sshd pour la supprimer.

session    optional     pam_mail.so standard noenv # [1]
Frode
la source
4
Pourriez-vous en dire un peu plus sur la façon dont vous l'avez découvert? Cela pourrait aider les personnes ayant des questions similaires.
vonbrand
J'ai trouvé la solution dans une liste de diffusion. l'auteur dit avoir trébuché sur cette ligne en fouillant dans /etc/pam.d/sshd. J'ai peur que ce soit tout ce que je sais.
Frode
Cela a également réglé le problème pour Ubuntu.
Jacob
Commenter cette ligne a fonctionné pour moi sur Ubuntu (DigitalOcean) et Debian (réseau local) sur SSH. J'ai aussi désactivé motd.
thiagobraga
3

J'ai un sheevaplug avec Debian. J'ai commenté la ligne rapportée en insérant # et résolu le problème.

Fichier à éditer dans debian:

/etc/pam.d/sshd

Ligne à commenter dans le fichier:

session    optional     pam_mail.so standard noenv # [1]
Alessandro D'lncal
la source
1

Exécuter crontab -eet ajouter une sortie à vos tâches cron. Si vous souhaitez désactiver les emails pour un seul travail cron, vous devez rediriger sa sortie vers /dev/nullen ajoutant > /dev/null 2>&1à la fin de la ligne.

Par exemple:

* * * * */5 /path/to/command arguments > /dev/null 2>&1
Nole
la source