いくつかの研究に基づいて回答が更新されました。

いくつかの研究に基づいて回答が更新されました。

Linux Mint 15(デフォルトではUbuntu 13.04)がインストールされているLinuxボックスにmailutilsをインストールしました。

ログインすると以下が表示されます。

Welcome to Linux Mint 15 Olivia (GNU/Linux 3.8.0-32-generic i686)

Welcome to Linux Mint
 * Documentation:  http://www.linuxmint.com
No mail.
Last login: Wed Nov  6 01:33:10 2013 from xxxxxxxxxxxxxxxxxxxxxxx
BFL SingleSC: 3s ago - [2013-11-06 01:37:33] 5s:57.83 avg:57.96 u:56.96 Gh/s

~ / .bashrcでBFLビットコインハッシュデバイスの状態を更新するカスタムスクリプトで最後の行(必要に応じて色付け)を追加しました。

No mail.mailutilsの残りの部分(特にこの行)に色を付け、重複した「Welcome to Linux Mint」メッセージと改行を削除したいと思います。

mailutilsセクションを具体的に検索しましたが、それへの参照が見つかりませんでした。

  • ~/.bashrc
  • ~/.プロフィール
  • /etc/設定ファイル
  • /etc/profile.d/*
  • /etc/bashrc
  • /etc/init.d/*
  • /etc/rc.local
  • /etc/rc*.d (1, 2, 3, 4, 5, 6, S)

それでは、これらのメッセージが生成された場所を見つけて、必要に応じて変更して色を付けることができる方法は何ですか?

答え1

いくつかの研究に基づいて回答が更新されました。

重複したウェルカムメッセージの削除

  • SSHを使用してログインしているので、最初のウェルカムメッセージはから来る必要があります/etc/issue.net。このメッセージを削除するには、ファイルの内容を削除するだけです。
  • 2番目のウェルカムメッセージを削除するには、内容を削除してください/etc/motd

メッセージのカラーライン

この線を着色するには、私が考えることができる最も簡単なオプションはかなり低いレベルの作業を必要とします。オプションはpam_mail.so直接修正して構築することです。

これを修正し、修正されたバージョンをインストールする手順です。

  1. ダウンロードLinux-PAMのソースコードは、linux-pam.org(公式プロジェクトのウェブサイト)で入手できます。
  2. ソースコードを抽出し(これを行うと呼ばれる新しいディレクトリが作成されますLinux-PAM-1.1.8)、そのディレクトリにCDを移動します。

    # tar xzvf Linux-PAM-1.1.8.tar.gz
    # cd Linux-PAM-1.1.8
    
  3. ファイルの次の行(+合計4で始まる)をmodules/pam_mail/pam_mail.c次のdiffに表示される内容に変更します(buildを使用diff -u)(ファイル名はpam_mail.c.newこのdiffを生成できる一時ファイルのみです)。

    --- pam_mail.c  2013-06-18 17:11:21.000000000 +0300
    +++ pam_mail.c.new      2013-12-29 16:57:49.759298926 +0200
    @@ -294,17 +294,17 @@
              switch (type)
                {
                case HAVE_NO_MAIL:
    -             retval = pam_info (pamh, "%s", _("No mail."));
    +             retval = pam_info (pamh, "%s", _("\\033[0;1;31mNo mail.\\033[0m"));
                  break;
                case HAVE_NEW_MAIL:
    -             retval = pam_info (pamh, "%s", _("You have new mail."));
    +             retval = pam_info (pamh, "%s", _("\\033[0;1;31mYou have new mail.\\033[0m"));
                  break;
                case HAVE_OLD_MAIL:
    -             retval = pam_info (pamh, "%s", _("You have old mail."));
    +             retval = pam_info (pamh, "%s", _("\\033[0;1;31mYou have old mail.\\033[0m"));
                  break;
                case HAVE_MAIL:
                default:
    -             retval = pam_info (pamh, "%s", _("You have mail."));
    +             retval = pam_info (pamh, "%s", _("\\033[0;1;31mYou have mail.\\033[0m"));
                  break;
                }
            else
    

    私は\\033[0;1;31mこのメッセージの始めと終わりに追加するだけです\\033[0m

    メモ:これで、次のメッセージが赤で表示されます。「グラフィックモード設定」というタイトルの下のAnsiエスケープシーケンスのascii-table.comページ端末出力のカスタマイズに関するより完全なカラーリストやその他のヒントを見つけることができます。

  4. それをコンパイル(メモ:ここから最後まで、私はあなたの作業ディレクトリがLinux-PAM-1.1.8Linux-PAMパッケージの「ルート」ディレクトリである最初にCDとして入力したディレクトリとまったく同じディレクトリであると仮定します。

    # ./configure
    # make
    
  5. 新しいファイルがシステムをハングする場合に備えて、既存のファイルをバックアップしてくださいpam_mail.so。 (そうするかどうか疑問ですが、常に元のファイルを安全に保管することをお勧めします。)

    # cp /lib/i386-linux-gnu/security/pam_mail.so ~/
    
  6. ファイルを次のmodules/pam_mail/.libs/pam_mail.so場所にコピーします/lib/i386-linux-gnu/security/

    # cp modules/pam_mail/.libs/pam_mail.so /lib/i386-linux-gnu/security/
    
  7. ログアウトしてから再度ログインすると(または新しいSSHセッションの開始など)、赤い「メールなし」が表示されます。メッセージ(新しいメールがないと仮定)。

古くて古い答え

/etc/pam.d/system-loginファイルで次の行を変更すると、メールメッセージを無効にできます。

session optional pam_mail.so dir=/var/spool/mail standard

到着

session optional pam_mail.so dir=/var/spool/mail nopen

Archlinuxフォーラムでご覧ください。

メールメッセージの前のテキストは、/etc/motdsshログインに次の行を追加することで無効にできます~/.ssh/config

PrintMotd no

関連情報