ディレクトリに配置されたファイルを自動アップロードするスクリプトを作成し、現在ログインしているユーザーにそれらへのリンクを表示します。マシンのユーザーは LDAP 経由で認証されます。
incron が監視しているディレクトリは、ユーザーのディレクトリの外部にあり、各ユーザーの /home/username/uploads ディレクトリにシンボリック リンクされています。ユーザーがここにファイルを配置すると、問題なく自動的にアップロードされます。
私が問題に遭遇したのは、現在のユーザーにファイルの URL を表示することです。関連するコードは次のとおりです。
/var/spool/incron/root から
/home/public/uploads IN_CLOSE_WRITE /home/public/upload_files.sh > /dev/null 2>&1
Zenity 表示に関する /home/public/upload_files.sh の行:
DISPLAY="$(ck-list-sessions | grep "active = TRUE" -A1 | tail -n 1 | cut -f2 -d"'").0"
zenity --info --text="http://aniceurlhere.com/`date +%m.%d.%y`/$filename" --display=$DISPLAY
前述のとおり、アップロードは完了しますが、Zenity メッセージは表示されません。/var/log/cron を見ると、ジョブが実行されて完了していることがわかり、エラーは表示されていません。
任意の支援をいただければ幸いです。