일부 연구를 바탕으로 답변이 업데이트되었습니다.

일부 연구를 바탕으로 답변이 업데이트되었습니다.

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. 이 메시지를 제거하려면 파일 내용을 삭제하면 됩니다.
  • 두 번째 환영 메시지를 삭제하려면 내용을 삭제하세요 /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

관련 정보