「メールがあります」ウェルカムメッセージを削除する方法


39

ターミナルを開くと「メールがあります」と表示されますが、その理由は誰にもわかりません。私はOS Xを実行していますが、それもUnixに基づいており、bashrc、bash_profileなどのファイルに依存しているため、ここの誰かが知っていると思い、プラットフォーム固有の問題だとは思いません!

回答:


37

ローカルのメールエクスチェンジャーを使用して、何かがマシン上(およびマシン)にメールを送信したようです。ほとんどの場合、電子メールはインストールされたパッケージからの自動メッセージです。ログインしたらmail、ターミナルで入力して、関連するメールを読んで(おそらく)削除します。(内部mailでは?、コマンドが何であるかを調べるために使用します。)未読メールを読んだり削除したりすると、他の人が同じ方法でメールを送信しない限り、「メールがあります」というメッセージは表示されません。オッズは、メールの送信元がわかれば、送信先を変更する構成オプションを見つけることができるということです。


26

これは「プラットフォーム固有の問題」です:-)

Mac OS Xは、他の多くのUn * x / Linuxシステムと同様に、デフォルトのシェルとしてBASHを使用します。

システムからのメールは、ユーザーのメールボックスに保存されます。多くの場合、 /var/mail/$user

メールボックスに重要なメッセージ(失敗したcronjobタスクなど)が含まれることがあるため、毎回自分でチェックする必要はありません。

BASH(および他の多くのシェル)には、mailcheckと呼ばれる機能があり、ターミナルを初めて開いたときにメッセージを出力します。

$ MAILCHECKは、新しいメールをチェックする時間を秒単位で含む環境変数です。プライマリプロンプトを表示する前に、メールもチェックされます。で、より参照してくださいman bash- Bashの変数

新しいメールのチェックを防ぐには、単に$ MAILCHECKの設定を解除します。これに適した場所は.bashrcファイルで、シェルを開くときに読み込まれます。ユーザーのホームディレクトリにあります。

〜/ .bashrcに追加します。

unset MAILCHECK

メッセージを無効にします。

もちろん、TJ Crowderが言及したようなメールを単に削除することも可能です:-)


7

Raspian(Raspberry Pi用のDebianベースのディストリビューション)をSSH経由で使用して、/ etc / pam.d / sshdの次の行をコメントアウトして削除する必要がありました。

session    optional     pam_mail.so standard noenv # [1]

4
これをどうやって見つけたのか、もう少しコメントしていただけますか?それは同様の質問を持つ人々に役立つかもしれません。
フォンブランド

私はメーリングリストで解決策を見つけました。著者は、/ etc / pam.d / sshdをいじくり回すときにつまずいたと言います。私が知っているのはそれだけだと思います。
フロード

これにより、ubuntuでも修正されました。
ジェイコブ

この行は、SSHを介したUbuntu(DigitalOcean)およびDebian(ローカルネットワーク)で機能しているとコメントしています。また、motdを無効にしました。
チアゴブラガ

3

Debianでsheevaplugを使用しています。報告された行に#を挿入してコメントし、問題を解決しました。

debianで編集するファイル:

/etc/pam.d/sshd

ファイル内のコメント行:

session    optional     pam_mail.so standard noenv # [1]

1

実行crontab -eして、cronジョブに出力を追加します。cronジョブを1つだけ無効にしたい場合は、行の最後に/dev/null追加> /dev/null 2>&1して、出力をリダイレクトする必要があります。

例えば:

* * * * */5 /path/to/command arguments > /dev/null 2>&1
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.