cronはvimプロセスを作成しますが、vimを表示しません。

cronはvimプロセスを作成しますが、vimを表示しません。

MacOSX 10.8.2では、次のようにbashシェルでvimを実行できます。

/usr/bin/vim -c "normal G" -c 'startinsert' ~/.journal

まったく同じコマンドをスクリプトに入れると、次のようになります。

#! /bin/bash

export DISPLAY=:0
echo -n -e "\n[" `date` "]:\n\n">>~/.journal

/usr/bin/vim -c "normal G" -c 'startinsert' ~/.journal

スクリプトを実行すると、vimも正しく開きます。

しかし、crontabに01diaryscriptというスクリプトを置くと、次のようになります。

MAILTO=""
* * * * * ~/01diaryscript

vimを開くことができません。ただし、一意のIDを使用して毎分新しいvimプロセスが作成されます。

一方、MacVimパッケージ(7.3)に含まれているvimを使用すると、cronが機能します。

cronで最初のスクリプトを実行したときに生成されたvimプロセスにアクセスできるようにする方法はありますか?

答え1

crontabの行は、スクリプトを毎日毎分起動する必要があることを具体的に要求します。その過程でわかるように。

今vimを見ることができない理由は、cronが「バックグラウンドで」設定したコマンドを生成したためです。したがって、直接アクセスできません。 MacVimパッケージのvimが動作する理由がわからないため、説明できません。

どのように機能するかは、グラフィカルVIMを開くか、または内部にvimを含む新しいxtermを開くことです。それは次のとおりです。xterm -e /usr/bin/vim -c "normal G" -c 'startinsert' ~/.journal

答え2

cron端末(またはXディスプレイ)なしでバックグラウンドでコマンドを実行します。その出力はどこに行くべきですか?任意のユーザーのクローンジョブの結果を自分の画面に表示しますか?無意味。

ここで解決しようとしている問題は何ですか?

関連情報