Почему терминал говорит: “У вас почта”?

Вопрос или проблема

Есть идеи, почему мой терминал на 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, это известная проблема. Система отправляет вам почту после каждого обновления и запланированного сканирования.

Есть один хитрый способ.

  1. полностью опустошите файл почты

: > /var/mail/$User

  1. измените атрибут файла почты

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-систем, которое предназначено для уведомления о новой почте.

Причины появления уведомления "Вы имеете почту"

  1. Непрочитанные сообщения: Уведомление появляется, когда в директории /var/mail/имя_пользователя есть непрочитанные сообщения. Это может происходить в результате работы системных служб или скриптов, которые отправляют отчеты или результаты выполнения задач в локальную почту пользователя.

  2. Проверка скриптов и Cron: Часто причиной поступления сообщений могут быть cron-задачи или фоновые процессы, которые настроены на отправку отчетов о выполнении на локальную почту.

  3. Антивирусное программное обеспечение: Если вы используете такие программы, как ClamAV, они могут автоматически отправлять отчеты о своих действиях на вашу почту.

Как избавиться от уведомления "У вас почта"

Вы можете решить эту проблему несколькими способами:

  1. Просмотр и удаление писем:

    • Откройте терминал и введите mail, чтобы просмотреть вашу почту.
    • Для удаления всех писем введите команду d *, а затем q, чтобы выйти и сохранить изменения.
  2. Очистка файла почты:

    • Вы можете полностью стереть содержимое файла почты с помощью команды:
      : > /var/mail/имя_пользователя
    • Это удалит все сообщения, и уведомление больше не появится.
  3. Изменение атрибутов файла:

    • Если вы хотите, чтобы файл не изменялся (но при этом оставался), вы можете изменить атрибут файла командой:
      sudo chflags schg /var/mail/имя_пользователя
    • Это сделает файл недоступным для изменений, кроме как от пользователя root.
  4. Проверка cron-задач:

    • Если вы подозреваете, что причина в cron-задачах, просмотрите текущие задания с помощью:
      crontab -l
    • Удалите ненужные задания с помощью:
      crontab -e
  5. Создание файла .hushlogin:

    • Если вам нужно просто подавить данное сообщение, создайте файл .hushlogin в вашем домашнем каталоге:
      touch ~/.hushlogin
    • Это предотвратит отображение уведомления при каждом запуске терминала.

Используя один или несколько из этих методов, вы сможете избавиться от раздражающего сообщения "У вас почта" и избежать его появления в будущем.

Оцените материал
Добавить комментарий

Капча загружается...