Come rimuovere il messaggio di benvenuto "You have mail"


39

Quando apro il mio terminale dice "hai posta", qualcuno ha idea del perché? Sto eseguendo OS X, ma poiché anch'esso si basa su Unix e si basa su file come bashrc, bash_profile ecc. Pensavo che qualcuno qui potesse saperlo, e non sono sicuro che si tratti di un problema specifico della piattaforma!

Risposte:


37

Sembra che qualcosa abbia inviato posta sul (e sul) dispositivo utilizzando lo scambiatore di posta locale. Molto probabilmente l'e-mail è un messaggio automatizzato da alcuni pacchetti installati. Una volta effettuato l'accesso, digitare mailsul terminale per leggere e (presumibilmente) eliminare la posta in questione. (All'interno mail, usa ?per scoprire quali sono i comandi.) Una volta che hai letto o cancellato la posta non letta, non vedrai più il messaggio "Hai posta" fino a quando / a meno che qualcos'altro invii posta allo stesso modo. Le probabilità sono una volta che sai cosa ti sta inviando la posta, puoi trovare un'opzione di configurazione per cambiare la destinazione.


26

È un "problema specifico della piattaforma" :-)

Mac OS X utilizza come shell di default il BASH come molti altri sistemi Un * x / Linux.

La posta dal tuo sistema viene archiviata nella casella di posta per il tuo utente, spesso situata in /var/mail/$user

Perché a volte la tua casella di posta contiene messaggi importanti (un'attività cronjob fallita, ecc.), Non devi controllarla ogni volta da solo.

BASH (e molte altre shell) hanno una funzione chiamata mailcheck, che emette il tuo messaggio la prima volta che apri il tuo terminale.

$ MAILCHECK è una variabile di ambiente che contiene i secondi in cui è il momento di verificare la presenza di nuovi messaggi. Anche la posta viene controllata prima di visualizzare il prompt principale. Vedi di più in man bash- Variabili di Bash .

Per impedire i controlli per la nuova posta, puoi semplicemente deselezionare $ MAILCHECK. Il posto giusto per questo è il tuo file .bashrc, che verrà letto quando apri una shell. È nella home directory dell'utente.

Aggiungi a ~ / .bashrc:

unset MAILCHECK

per disabilitare il messaggio.

Naturalmente è anche possibile eliminare semplicemente i messaggi di posta elettronica citati da TJ Crowder :-)


7

Usando Raspian (distro basato su Debian per Raspberry Pi) su SSH, ho dovuto commentare la seguente riga in /etc/pam.d/sshd per liberarmene.

session    optional     pam_mail.so standard noenv # [1]

4
Potresti commentare un po 'di più su come l'hai scoperto? Potrebbe essere di aiuto per le persone con domande simili.
vonbrand,

Ho trovato la soluzione in una mailing list. l'autore dice di essersi imbattuto oltre la linea quando ha cercato in /etc/pam.d/sshd. Temo che sia tutto ciò che so.
Frode,

Questo ha risolto il problema anche per me su Ubuntu.
Jacob,

Commenta che questa linea ha funzionato per me su Ubuntu (DigitalOcean) e Debian (rete locale) su SSH. Ho anche disabilitato motd.
thiagobraga,

3

Ho uno sheevaplug con Debian. Ho commentato la riga segnalata inserendo # e risolto il problema.

File da modificare in debian:

/etc/pam.d/sshd

Riga per commentare nel file:

session    optional     pam_mail.so standard noenv # [1]

1

Esegui crontab -ee aggiungi output ai tuoi lavori cron. Se vuoi disabilitare le e-mail per un solo cron job, dovrai reindirizzare il suo output /dev/nullaggiungendolo > /dev/null 2>&1alla fine della riga.

Per esempio:

* * * * */5 /path/to/command arguments > /dev/null 2>&1
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.