Como remover a mensagem de boas-vindas "Você tem e-mail"

39

Quando abro o meu terminal, diz "você tem correio", alguém tem alguma idéia do porquê? Estou executando o OS X, mas como ele também é baseado no Unix e depende de arquivos como bashrc, bash_profile etc. Pensei que alguém aqui talvez soubesse, e não tenho certeza se é um problema específico da plataforma!

Gilles 'SO- parar de ser mau'
fonte

Respostas:

37

Parece que algo enviou e-mail para (e para) a máquina usando o trocador de correio local. Provavelmente o email é uma mensagem automatizada de algum pacote instalado. Após o login, digite mailo terminal para ler e (presumivelmente) excluir o e-mail relevante. (Lá dentro mail, use ?para descobrir quais são os comandos.) Depois de ler ou excluir as mensagens não lidas, você não verá a mensagem "Você tem mensagens" novamente até / a menos que algo mais envie mensagens da mesma maneira. As probabilidades são quando você sabe o que está enviando o e-mail, você pode encontrar uma opção de configuração para alterar para onde ele é enviado.

TJ Crowder
fonte
26

É um "problema específico da plataforma" :-)

O Mac OS X usa como shell padrão o BASH como muitos outros sistemas Un * x / Linux.

As mensagens do seu sistema são armazenadas na caixa de correio para o usuário, geralmente localizadas em /var/mail/$user

Como algumas vezes sua caixa de correio conterá mensagens importantes (uma falha na tarefa do cronjob, etc.), você não deve verificá-la sempre.

O BASH (e muitos outros shells) possuem um recurso chamado mailcheck, que envia sua mensagem na primeira vez em que você abre o terminal.

$ MAILCHECK é uma variável de ambiente que contém os segundos em que é hora de procurar novos emails. O correio também é verificado antes de exibir o prompt principal. Veja mais em man bash- Variáveis ​​Bash .

Para impedir a verificação de novos e-mails, você pode simplesmente desmarcar $ MAILCHECK. O lugar certo para isso é o seu arquivo .bashrc, que será lido quando você abrir um shell. Está no diretório inicial do usuário.

Anexar a ~ / .bashrc:

unset MAILCHECK

para desativar a mensagem.

Claro que também é possível simplesmente excluir os e-mails como TJ Crowder mencionado :-)

echox
fonte
7

Usando Raspian (distribuição baseada no Debian para Raspberry Pi) sobre SSH, tive que comentar a seguinte linha em /etc/pam.d/sshd para me livrar dela.

session    optional     pam_mail.so standard noenv # [1]
Frode
fonte
4
Você poderia comentar um pouco mais sobre como descobriu isso? Pode ser útil para pessoas com perguntas semelhantes.
vonbrand
Encontrei a solução em uma lista de discussão. o autor diz que tropeçou na linha ao bisbilhotar no /etc/pam.d/sshd. Receio que seja tudo o que sei.
Frode 26/02
Isso corrigiu para mim no ubuntu também.
Jacob
Comente esta linha funcionou para mim no Ubuntu (DigitalOcean) e Debian (rede local) sobre SSH. Eu também desativei o motd.
Thiagobraga
3

Eu tenho um plug-in com o Debian. Comentei a linha reportada inserindo # e resolvi o problema.

Arquivo para editar no debian:

/etc/pam.d/sshd

Linha para comentar no arquivo:

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

Execute crontab -ee adicione saída aos seus trabalhos cron. Se você deseja desativar os e-mails para apenas uma tarefa cron, será necessário redirecionar sua saída /dev/nulladicionando > /dev/null 2>&1no final da linha.

Por exemplo:

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