在根incron作业中使用Zenity向当前登录的用户显示消息

在根incron作业中使用Zenity向当前登录的用户显示消息,cron,zenity,incron,Cron,Zenity,Incron,使用脚本自动上载放置在目录中的文件,然后显示指向当前登录用户的链接。机器的用户将通过LDAP进行身份验证 incron监视的目录位于任何用户目录之外,并且与每个用户的/home/username/uploads目录进行符号链接。当用户在此处放置文件时,它会自动上载而不会出现问题 我遇到的问题是向当前用户显示文件URL。以下是相关代码: from/var/spool/incron/root /home/public/uploads IN_CLOSE_WRITE /home/public/uploa

使用脚本自动上载放置在目录中的文件,然后显示指向当前登录用户的链接。机器的用户将通过LDAP进行身份验证

incron监视的目录位于任何用户目录之外,并且与每个用户的/home/username/uploads目录进行符号链接。当用户在此处放置文件时,它会自动上载而不会出现问题

我遇到的问题是向当前用户显示文件URL。以下是相关代码:

from/var/spool/incron/root

/home/public/uploads IN_CLOSE_WRITE /home/public/upload_files.sh > /dev/null 2>&1
来自/home/public/upload_files.sh的与Zenity display相关的行:

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查看,我可以看到作业运行并完成,没有显示任何错误


任何协助都将不胜感激

如果您想使用zenity或notify send,这需要一些努力。我还没有让它工作,但我只是使用了xmessage:

简单选项1:xmessage(在脚本中)

简单选项2:设置显示(然后应该可以工作)


在Rontab
/home/nodak/Desktop IN_DELETE/home/nodak/bin/heyu
中,我调用了
heyu
脚本,该脚本具有
导出显示=:0&&zenity--info--width=240--title”“
…非常有效。评论以表示感谢。对于ref:zenity--input和
incron
也可以使用它(尽管我不是以root身份运行它)
MSSG="/tmp/mssg-file-${RANDOM}" 
echo -e " MESSAGE \n ==========\n Done with task, YEY. " > ${MSSG}
xmessage -center -file ${MSSG} -display :0.0 
[[ -s ${MSSG} ]] && rm -f ${MSSG}
    export DISPLAY=:0 && /usr/bin/somedirectory/somecommand