ターミナルウィンドウを開くようにスケジュールされたCron操作によってエラーが発生する

ターミナルウィンドウを開くようにスケジュールされたCron操作によってエラーが発生する

私はAmazon Linuxを実行しています。私のcrontabの設定は次のとおりです。

* * * * * mate-terminal -e run.sh >> output.log 2>&1

出力ファイルに次のエラーが発生します。 Failed to parse arguments: Cannot open display:

私の目標は、cronに新しいターミナルウィンドウを開き、その中でスクリプトを実行させることです。

私は以下を試しました:

  • 現在のユーザーとsudoでcronを実行する
  • 実行するスクリプトの削除* * * * * mate-terminal >> output.log 2>&1

すべての試行に対して出力ファイルに同じエラーが発生します。ありがとう

ベストアンサー1

端末をペアリングするには、端末が開いているディスプレイを知る必要があります。ほとんどの場合、ディスプレイ0を使用したいが、次のものを使用する必要があります。

echo $DISPLAY

ターミナルで目的のディスプレイに、次にcrontabエントリを次のように設定します。

* * * * * mate-terminal -display :0 -e run.sh >> output.log 2>&1

:0echo出力に置き換えられます。

おすすめ記事