Как удалить приветственное сообщение «У вас есть почта»

39

Когда я открываю свой терминал, он говорит: «У вас есть почта», кто-нибудь знает, почему? Я использую OS X, но так как она тоже основана на Unix и использует такие файлы, как bashrc, bash_profile и т. Д. Я подумал, что кто-то здесь может знать, и я не уверен, что это проблема, специфичная для платформы!

Жиль "ТАК - прекрати быть злым"
источник

Ответы:

37

Похоже, что-то отправило почту на (и на) машину с помощью локального почтового обменника. Скорее всего, это электронное письмо от какого-то установленного пакета. Как только вы войдете в систему, введите mailв терминале, чтобы прочитать и (предположительно) удалить соответствующую почту. (Внутри mailиспользуйте, ?чтобы узнать, что это за команды.) Как только вы прочитаете или удалите непрочитанное письмо, вы больше не увидите сообщение «У вас есть почта» до тех пор, пока / или что-либо еще не отправит почту таким же образом. Скорее всего, когда вы узнаете, что отправляет вам письмо, вы можете найти вариант конфигурации, чтобы изменить, куда оно отправляет письмо.

TJ Crowder
источник
26

Это «проблема, специфичная для платформы» :-)

Mac OS X использует в качестве оболочки по умолчанию BASH, как и многие другие системы Un * x / Linux.

Почта из вашей системы хранится в почтовом ящике для вашего пользователя, часто находится в /var/mail/$user

Поскольку иногда в вашем почтовом ящике содержатся важные сообщения (неудавшаяся задача cronjob и т. Д.), Вы не должны каждый раз проверять это самостоятельно.

BASH (и многие другие оболочки) имеют функцию под названием mailcheck, которая выводит ваше сообщение при первом открытии терминала.

$ MAILCHECK - это переменная окружения, которая содержит секунды, когда нужно проверять наличие новой почты. Почта также проверяется перед отображением основного приглашения. Смотрите больше в man bash- Переменные Bash .

Чтобы предотвратить проверку новой почты, вы можете просто сбросить $ MAILCHECK. Правильное место для этого - ваш файл .bashrc, который будет прочитан, когда вы откроете оболочку. Это в вашем домашнем каталоге пользователя.

Добавить в ~ / .bashrc:

unset MAILCHECK

отключить сообщение.

Конечно, также возможно просто удалить письма, подобные упомянутому TJ Crowder :-)

echox
источник
7

Используя Raspian (основанный на Debian дистрибутив для Raspberry Pi) поверх SSH, мне пришлось закомментировать следующую строку в /etc/pam.d/sshd, чтобы избавиться от него.

session    optional     pam_mail.so standard noenv # [1]
Фрод
источник
4
Не могли бы вы прокомментировать немного больше, как вы узнали это? Это может помочь людям с похожими вопросами.
vonbrand
Я нашел решение в списке рассылки. автор говорит, что наткнулся на черту, когда ковырялся в /etc/pam.d/sshd. Боюсь, это все, что я знаю.
Frode
Это исправило это и для меня на Ubuntu.
Джейкоб
Комментарий: эта строка работала для меня в Ubuntu (DigitalOcean) и Debian (локальная сеть) через SSH. Я также отключил MOTD.
Тиагобрага
3

У меня есть своя штепсельная вилка с Debian. Я прокомментировал сообщение о вставке строки # и решил проблему.

Файл для редактирования в Debian:

/etc/pam.d/sshd

Строка для комментирования в файле:

session    optional     pam_mail.so standard noenv # [1]
Алессандро Д'Инкал
источник
1

Запустите crontab -eи добавьте вывод в ваши задания cron. Если вы хотите отключить электронную почту только для одного задания cron, вам нужно будет перенаправить его вывод /dev/null, добавив > /dev/null 2>&1в конце строки.

Например:

* * * * */5 /path/to/command arguments > /dev/null 2>&1
Нола
источник