更新START
export DISPLAY=:0 && <my GUI dependent command here>
彼がここに答えを投稿するのを待っています。/opt/google/chrome/chrome PARTICULAR_GOOGLE_DOC_URL &
なしで&
も試しました。それでも失敗します。コマンドラインで直接成功します。/var/log/cron
ファイルがありません。補助的な質問:どうすれば入手できますか?更新END
1日に複数回定期的に更新する必要があるGoogleドキュメントがあります。特定の更新を形成するコンテンツは、プログラムで予測または決定することはできません。ですから、私が持っている最良の解決策は、特定のGoogle Docページを一定の間隔で自動的に開き、それから手動でデータを追加することです。
現在、問題は、コマンドラインで直接機能するものがcrontabで使用されると機能しないことです。以下は私が試したものです(テストのためだけに2分間隔を使用)-
*/2 * * * * date >> /tmp/crontest
*/2 * * * * /opt/google/chrome/chrome PARTICULAR_GOOGLE_DOC_URL &
cat /tmp/crontest
の場合、2分ごとにタイムスタンプが追加されます/opt/google/chrome/chrome PARTICULAR_GOOGLE_DOC_URL
を試すと、期待どおりに動作しますPARTICULAR_GOOGLE_DOC_URL
は、私のchromeで2分ごとに開かれるべきではありません。 (再び:私はテストのために2分間隔を使用しています)何が間違っていますか?どうすれば修正できますか?必要なことを達成するための代替方法はありますか?
前もって感謝します。
export DISPLAY
ラッパーを使用してcrontabを編集します。
2 * * * * export DISPLAY=:0 && firefox %u
これにより、空のFirefoxタブが開き、お気に入りのURLを使用できます。
cron
はコマンドラインジョブを対象としており、 非常に限られた環境変数のセット -just HOME
、LOGNAME
、PATH
、およびShell
。
少なくとも、chrome
にはDISPLAY
を設定する必要があります。また、他の変数(たとえば、DBUS
関連の変数)がないと不幸になることもあります。ターミナルでenv
を実行して、現在の環境を確認します。
Cronjobで得られる環境は非常に限られています。たとえば、クロムを開くために必要なDISPLAY変数を取得できません。
コマンドをスクリプトでラップする
#!/bin/sh
export DISPLAY=:0
/opt/google/chrome/chrome PARTICULAR_GOOGLE_DOC_URL
動作させるためにさらに変数が必要かどうかは確かではありません。 cronで機能するkonsole
(KDEのターミナル)を起動する同様のスクリプトを作成しました。