목표는 Thunderbird를 내 서버의 메일 필터로 사용하는 것입니다. 따라서 Thunderbird는 시작 후 로그인할 필요 없이 항상 백그라운드에서 실행되어야 합니다.
아래에 넣고 싶은 스크립트가 있습니다 rc.local
. 이제 문제는 X 전달 없이 SSH를 통해 로그인하기 때문에 디스플레이를 지정하지 않고 지정할 수 없다는 것입니다.
me@desktop ~ $ echo $DISPLAY
me@desktop ~ $
하지만 GUI와 상호 작용하지 않으므로 디스플레이를 지정할 필요가 없습니다. 그러나 하나를 지정해야 하는지는 의문입니다.
Thunderbird를 시작해 보세요:
#!/bin/bash
su - me -c "/usr/bin/thunderbird" &
어떻게 작동하게 할 수 있나요?
답변1
두 가지 상충되는 요구 사항이 있으므로 간단히 대답하자면 로그인하지 않으면 Thunderbird로 목표를 달성할 수 없다는 것입니다.
대화형 GUI 클라이언트를 백그라운드 서버 프로세스로 사용하여 메일을 필터링하는 것은 최선의 솔루션이 아닙니다. Thunderbird는 모니터 없이는 실행되지 않습니다. 그러나 서버가 시작 후 데스크탑 환경에 "귀하"를 기록하는 경우 Thunderbird가 자동으로 시작되도록 설정할 수 있습니다. 지침은 선호하는 데스크탑(gnome/kde/etc)에 따라 다릅니다. 그럼에도 불구하고 나는 이 접근 방식을 권장하지 않습니다.
프로그램 메일(Linux 배포판에는 기본적으로 설치되어 있을 수 있음)은 이메일 필터링용으로 설계되었으므로 표시할 필요가 없습니다. 여기에서 간단하고 명확한 튜토리얼을 찾을 수 있습니다.http://www.panix.com/~elflord/unix/procmail.html
필터 설정, MTA 통합, 메시지 전달, 보관 또는 삭제 규칙 생성에 대한 예가 제공됩니다.
즉, MTA는 $HOME 디렉터리에 있는 .forward 파일을 인식할 수 있어야 합니다. 이 파일에는 procmail을 호출하는 명령이 포함되어 있습니다. procmail이 임무를 수행하는 데 사용할 규칙과 구성 파일을 보관하려면 ~/.procmail 디렉터리도 필요합니다. 마지막으로 일부 기본 설정, 기본값, 필터링 구성표 위치 및 기본 메일 디렉터리를 정의하는 ~/.procmailrc 파일이 있습니다.
홈 디렉터리에서 다음과 같이 준비합니다.
mkdir ~/.procmail; echo "|IFS=' ' && exec /usr/bin/procmail || exit 75 #your_user_name" >> ~/.forward
위의 내용은 procmail 실행 파일이 /usr/bin에 있다고 가정합니다.
~/.procmailrc (위의 panix.com 링크에서 복사한 내용)
VERBOSE=off
MAILDIR=$HOME/mail # elm users might use $HOME/Mail instead
PMDIR=$HOME/.procmail
DEFAULT=/var/spool/mail/elflord
LOGFILE=$PMDIR/log
INCLUDERC=$PMDIR/general.rc
# INCLUDERC=$PMDIR/other.rc
# add as many INCLUDERC's as you like
# end of .procmailrc
실제 필터링...
Bill이라는 폴더에 Bill이 보낸 메시지를 보관하세요.
:0
* ^From.*bill@example\.com
bill
동일한 도메인에 있는 사용자의 받은편지함에 메시지를 저장/보관합니다.
:0
* ^From.*example\.com
$DEFAULT
메일링 목록 메시지를 받은 편지함과 별도로 보관하려면 해당 메시지를 my-list라는 폴더에 보관하세요.
* ^From.*my.*subscribed.*list.*@
my-lists
필터와 일치하는 메시지를 다른 주소로 전달합니다.
* ^Subject.*something-or-other
! [email protected]
여러 작업을 동일한 필터로 결합할 때 구문은 크게 변경되지 않습니다. 이렇게 하면 받은 편지함에 사본이 보관되고 다른 폴더에 보관됩니다.
:0
* ^Cc.*[email protected]
* ^Cc.*me
{
:0 c
$DEFAULT
:0
SOME_FOLDER
}
이것이 "작동 방법"에 대한 특정 질문에 대답하지 않는다는 점을 고려하면 이메일 필터링이라는 기본 요구 사항에 대한 또 다른 솔루션을 제공합니다.