Jak usunąć wiadomość powitalną „Masz pocztę”

39

Kiedy otwieram terminal, pojawia się komunikat „masz pocztę”, ktoś ma pojęcie, dlaczego? Korzystam z systemu OS X, ale ponieważ jest on również oparty na systemie Unix i opiera się na plikach takich jak bashrc, bash_profile itp. Pomyślałem, że ktoś tu może wiedzieć i nie jestem pewien, czy jest to problem specyficzny dla platformy!

Gilles „SO- przestań być zły”
źródło

Odpowiedzi:

37

Wygląda na to, że coś wysłało pocztę na (i) do urządzenia za pomocą lokalnego wymiennika poczty. Najprawdopodobniej wiadomość e-mail jest automatyczną wiadomością z zainstalowanego pakietu. Po zalogowaniu wpisz mailterminal, aby przeczytać i (prawdopodobnie) usunąć odpowiednią pocztę. (Wewnątrz mailużyj, ?aby dowiedzieć się, jakie są polecenia.) Po przeczytaniu lub usunięciu nieprzeczytanej wiadomości e-mail nie zobaczysz ponownie komunikatu „Masz wiadomość”, dopóki coś innego nie wyśle ​​wiadomości w ten sam sposób. Szanse są, gdy już wiesz, co wysyła ci pocztę, możesz znaleźć opcję konfiguracji, aby zmienić miejsce, do którego ona wysyła.

TJ Crowder
źródło
26

Jest to „problem specyficzny dla platformy” :-)

Mac OS X używa domyślnej powłoki BASH, podobnie jak wiele innych systemów Un * x / Linux.

Poczta z twojego systemu jest przechowywana w skrzynce pocztowej dla twojego użytkownika, często w /var/mail/$user

Ponieważ czasami twoja skrzynka pocztowa zawiera ważne wiadomości (nieudane zadanie współdziałania itp.), Nie sprawdzaj jej za każdym razem.

BASH (i wiele innych powłok) ma funkcję o nazwie mailcheck, która wysyła twoją wiadomość przy pierwszym otwarciu terminala.

$ MAILCHECK to zmienna środowiskowa, która zawiera sekundy, kiedy należy sprawdzić, czy jest nowa poczta. Poczta jest również sprawdzana przed wyświetleniem głównego monitu. Zobacz więcej w man bash- Zmienne Bash .

Aby zapobiec sprawdzaniu nowej poczty, możesz po prostu odznaczyć $ MAILCHECK. Właściwym miejscem do tego jest plik .bashrc, który zostanie odczytany po otwarciu powłoki. Jest w twoim katalogu domowym użytkownika.

Dołącz do ~ / .bashrc:

unset MAILCHECK

aby wyłączyć wiadomość.

Oczywiście można również po prostu usunąć wiadomości e-mail, takie jak wspomniany TJ Crowder :-)

echox
źródło
7

Używając Raspian (dystrybucja oparta na Debianie dla Raspberry Pi) nad SSH, musiałem skomentować następujący wiersz w /etc/pam.d/sshd, aby się go pozbyć.

session    optional     pam_mail.so standard noenv # [1]
Frode
źródło
4
Czy mógłbyś coś skomentować na temat tego, jak to odkryłeś? Może to być pomocne dla osób o podobnych pytaniach.
vonbrand
Znalazłem rozwiązanie na liście mailingowej. autor mówi, że potknął się o linię, grzebiąc w /etc/pam.d/sshd. Obawiam się, że to wszystko, co wiem.
Frode
To naprawiło to również dla mnie na Ubuntu.
Jacob
Komentarz ten wiersz działał dla mnie na Ubuntu (DigitalOcean) i Debian (sieć lokalna) przez SSH. Wyłączyłem również motd.
thiagobraga
3

Mam sheevaplug z Debianem. Skomentowałem zgłoszone wstawienie wiersza # i rozwiązałem problem.

Plik do edycji w debian:

/etc/pam.d/sshd

Wiersz do komentarza w pliku:

session    optional     pam_mail.so standard noenv # [1]
Alessandro D'lncal
źródło
1

Uruchom crontab -ei dodaj dane wyjściowe do swoich zadań cron. Jeśli chcesz wyłączyć wiadomości e-mail tylko dla jednego zadania cron, musisz przekierować dane wyjściowe /dev/null, dodając > /dev/null 2>&1na końcu wiersza.

Na przykład:

* * * * */5 /path/to/command arguments > /dev/null 2>&1
Nole
źródło