Execute o Thunderbird na inicialização sem efetuar login

2

O objetivo é usar o Thunderbird no meu servidor como um filtro para meus e-mails. Portanto, o Thunderbird sempre deve ser executado em segundo plano após a inicialização, sem que eu faça login.

Eu tenho este script abaixo, que eu quero colocar em rc.local . O problema agora é que eu não tenho um display especificado e não posso especificar um, já que estou logado em ssh sem X-forwarding.

me@desktop ~ $ echo $DISPLAY

me@desktop ~ $

Mas não preciso especificar uma exibição, já que não pretendo interagir com a GUI de qualquer maneira. Eu suspeito, no entanto, que eu tenho que especificar um.

Tentando iniciar o Thunderbird:

#!/bin/bash
su - me -c "/usr/bin/thunderbird" &

Como posso fazer isso funcionar?

    
por doc 06.09.2016 / 19:17

1 resposta

2

Você tem dois requisitos que conflitam entre si, portanto, a resposta curta é que você não pode alcançar seu objetivo com o Thunderbird sem fazer login.

Usar um cliente GUI interativo como um processo do servidor de segundo plano para filtrar mensagens não é a melhor solução. O Thunderbird não roda sem um display. No entanto, se o seu servidor registra "você" em um ambiente de área de trabalho após a inicialização, você pode configurar o Thunderbird para iniciar automaticamente. As instruções para isso dependerão de qual área de trabalho você prefere, gnome / kde / etc. Mesmo assim, eu não recomendaria essa abordagem.

Procmail (que sua distribuição linux pode ter instalado por padrão) é projetado para o propósito de filtragem e-mail e não precisa de um display. Você pode encontrar um tutorial simples e direto aqui; link

São fornecidos exemplos para configuração do filtro, integração com o seu MTA e criação de regras para encaminhar, arquivar ou descartar mensagens.

Em poucas palavras, o seu MTA deve entender os arquivos .forward no diretório $ HOME. Este arquivo contém um comando para chamar o procmail. Você também precisará de um diretório ~ / .procmail para manter as regras e os arquivos de configuração que o procmail usará para executar suas tarefas. E finalmente um arquivo ~ / .procmailrc para definir algumas preferências, padrões, localização de suas receitas de filtragem e seu diretório de e-mail padrão.

No seu diretório home, a preparação é assim ...

mkdir ~/.procmail; echo "|IFS=' ' && exec /usr/bin/procmail || exit 75 #your_user_name" >> ~/.forward

O acima assume que o seu executável do procmail está localizado em / usr / bin.

~ / .procmailrc (conteúdo copiado do link panix.com acima)

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

Filtros reais ...

Para arquivar e-mails em uma pasta chamada fatura de mensagens do Bill.

:0
* ^From.*bill@example\.com
bill

Para guardar / manter mensagens na sua caixa de entrada para utilizadores no mesmo domínio.

:0
* ^From.*example\.com
$DEFAULT

Para separar as mensagens da sua lista de discussão da sua caixa de entrada, arquive em uma pasta chamada my-lists.

* ^From.*my.*subscribed.*list.*@
my-lists

Para encaminhar a mensagem que corresponde ao filtro para outro endereço.

* ^Subject.*something-or-other
! [email protected]

Para combinar várias ações no mesmo filtro, a sintaxe não muda muito. Isso manterá uma cópia na sua caixa de entrada e será arquivada em outra pasta.

:0
* ^Cc.*[email protected]
* ^Cc.*me
{
    :0 c
    $DEFAULT

    :0
    SOME_FOLDER
}

Considerando que isso não responde à sua pergunta específica, "como fazer isso funcionar", ela fornece uma solução alternativa para seu requisito subjacente, para filtrar e-mails.

    
por 06.09.2016 / 19:46