web-dev-qa-db-ja.com

Thunderbirdをバックグラウンドで起動してメールを取得し、数分後に閉じます

GNU/Linuxで、Thunderbirdをバックグラウンドで起動し、電子メールをフェッチするために数分間実行して、後で閉じるにはどうすればよいですか?

3
Omid

Thunderbirdはこの機能をサポートしていないようですが、ウィンドウマネージャー/デスクトップ環境でこれを行うためのオプションについて説明している議論がいくつかあります ここ および ここ 。基本的に、システムトレイアイコンなどを使用せずに、最小化して実行します。

数分間だけ実行するには、スクリプトからTBを開始できます:

#!/bin/bash
/usr/bin/Thunderbird &
sleep 300 # 5 minutes
kill $!

別のオプションは、別のプログラムを使用してメールをダウンロードし、Thunderbirdにローカルディスクからメールを読み取らせることです。 OfflineIMAP メールサーバーがIMAPをサポートしている場合、適切に機能します。 Fetchmail は、POP3でも機能する別のオプションです。

3
Flimzy

私が解決した解決策(Flimzyの回答のおかげで)は、たとえば$HOME/Thunderbird_cron.shに保存されている次のスクリプトを使用することです。

#!/bin/bash
/usr/bin/alltray /usr/bin/Thunderbird &
sleep 5m
killall Thunderbird-bin

次のcrontab -eエントリと一緒に

0 0 * * * env DISPLAY=:0.0 $HOME/Thunderbird_cron.sh

thunderbirdを1日1回深夜に5分間実行し、メールを取得して、その後閉じます。

  • kill $!は、Danniel Beckによって提案されたものとは異なり、スクリプトがcronによって実行されると、$!が正しいプロセスIDを返さないため機能しません。

  • env DISPLAY=:0.0の部分は、cronにThunderbirdの現在のモニターの最初の画面を使用するように指示します。 GUIアプリケーションをcronで実行するには、が必要です

  • alltray は、トレイにドッキングされたThunderbirdを実行するために使用され、ユーザーが開閉するプロセスを効果的に見えなくします。

更新:[起動時に新しいメッセージを確認する]オプションが選択されている場合でも([アカウント設定]/[サーバー設定]の下)Thunderbirdはnotメールアカウントのフォルダが選択されるまで、新しいメッセージのダウンロードを開始しません。 (私がテストしたバージョンは、Ubuntu 10.04 LTSでは3.1.10です。)起動時にこの選択を自動化するには、アドオン Folderpane Tools を使用できます。 ( http://kb.mozillazine.org/Show_Inbox_when_starting_Thunderbird で説明されている方法は機能しません。)

1
Omid