Вопрос или проблема
Есть идеи, почему мой терминал на Mac говорит:
У вас есть почта в /var/mail/lofye
Как я могу сделать так, чтобы это сообщение не появлялось каждый раз, когда я открываю терминал?
Так или иначе, у вас был скрипт или что-то подобное, которое доставляло почту на ваш локальный компьютер, и она хранится в /var/mail/$USER
Вы можете удалить файл /var/mail/$USER
, что удалит предупреждение о том, что у вас есть почта (так как оно будет появляться, если эта папка присутствует и/или содержит непрочитанные сообщения), или вы можете использовать mail
, чтобы прочитать сообщения перед их удалением.
Введите mail
, чтобы просмотреть почту. Удалите все сообщения с помощью d *
, затем выйдите с помощью q
, чтобы сохранить изменения.
Существует несколько способов это удалить. Самый простой:
> /var/mail/<ваш_пользователь>
Не забудьте включить ‘>’
Откройте mail
, затем введите d *
и нажмите Enter. Команда d
означает удалить
, а *
выбирает все письма в списке.
Я готов поспорить, что это из-за того, что в этой папке есть файлы.
Вы вообще смотрели содержимое этой папки? Если там что-то есть, это, скорее всего, даст вам представление о том, что это вызвало и как предотвратить это в будущем.
Из терминала:
cd /var/mail/lofye
ls
Если у вас нет почты, вы не увидите это сообщение (даже папки с моим именем пользователя под mail на моем Mac нет).
Если вы используете ClamAV для Mac, это известная проблема. Система отправляет вам почту после каждого обновления и запланированного сканирования.
Есть один хитрый способ.
- полностью опустошите файл почты
: > /var/mail/$User
- измените атрибут файла почты
sudo chflags schg /var/mail/$User
Так как кроме “root” никто не может изменить этот файл.
После этого надоедливое сообщение “У вас есть почта” исчезнет.
Просто проверьте, настраивали ли вы какие-либо cronjob в прошлом и забыли удалить его, в моем случае именно это и было причиной.
Список запущенных cronjob:
crontab -l
Если вы увидите какой-либо ненужный cronjob, удалите его, отредактировав файл crontab
crontab -e
Это откроет редактор nano или vim, в зависимости от конфигурации, нажмите dd
в vim, чтобы удалить строку.
После этого очистите непрочитанную почту с помощью команды mail
, в моем случае это решило проблему.
Я смог просто создать файл .hushlogin, и теперь у меня чистый терминал.
$ touch .hushlogin
Ответ или решение
Когда терминал на вашем Mac сообщает: "У вас почта в /var/mail/имя_пользователя", это означает, что в файле почты для вашего пользователя, находящемся по адресу /var/mail/имя_пользователя, существуют непрочитанные сообщения. Это стандартное поведение UNIX-систем, которое предназначено для уведомления о новой почте.
Причины появления уведомления "Вы имеете почту"
-
Непрочитанные сообщения: Уведомление появляется, когда в директории
/var/mail/имя_пользователя
есть непрочитанные сообщения. Это может происходить в результате работы системных служб или скриптов, которые отправляют отчеты или результаты выполнения задач в локальную почту пользователя. -
Проверка скриптов и Cron: Часто причиной поступления сообщений могут быть cron-задачи или фоновые процессы, которые настроены на отправку отчетов о выполнении на локальную почту.
-
Антивирусное программное обеспечение: Если вы используете такие программы, как ClamAV, они могут автоматически отправлять отчеты о своих действиях на вашу почту.
Как избавиться от уведомления "У вас почта"
Вы можете решить эту проблему несколькими способами:
-
Просмотр и удаление писем:
- Откройте терминал и введите
mail
, чтобы просмотреть вашу почту. - Для удаления всех писем введите команду
d *
, а затемq
, чтобы выйти и сохранить изменения.
- Откройте терминал и введите
-
Очистка файла почты:
- Вы можете полностью стереть содержимое файла почты с помощью команды:
: > /var/mail/имя_пользователя
- Это удалит все сообщения, и уведомление больше не появится.
- Вы можете полностью стереть содержимое файла почты с помощью команды:
-
Изменение атрибутов файла:
- Если вы хотите, чтобы файл не изменялся (но при этом оставался), вы можете изменить атрибут файла командой:
sudo chflags schg /var/mail/имя_пользователя
- Это сделает файл недоступным для изменений, кроме как от пользователя
root
.
- Если вы хотите, чтобы файл не изменялся (но при этом оставался), вы можете изменить атрибут файла командой:
-
Проверка cron-задач:
- Если вы подозреваете, что причина в cron-задачах, просмотрите текущие задания с помощью:
crontab -l
- Удалите ненужные задания с помощью:
crontab -e
- Если вы подозреваете, что причина в cron-задачах, просмотрите текущие задания с помощью:
-
Создание файла
.hushlogin
:- Если вам нужно просто подавить данное сообщение, создайте файл
.hushlogin
в вашем домашнем каталоге:touch ~/.hushlogin
- Это предотвратит отображение уведомления при каждом запуске терминала.
- Если вам нужно просто подавить данное сообщение, создайте файл
Используя один или несколько из этих методов, вы сможете избавиться от раздражающего сообщения "У вас почта" и избежать его появления в будущем.