当linux系统调用脚本时,某些命令不起作用(cron / if-up.d)

时间:2013-01-12 19:06:24

标签: linux cron zenity xclip

您好我正在尝试运行一个调用 xclip 的脚本,以便在连接到互联网时准备好粘贴字符串。

我有一个脚本 /etc/network/if-up.d/script 在连接时执行(我让他在文件中成功发布日期),但是 xclip < / strong>指令似乎不起作用,没有什么要贴。如果我通过在控制台中键入/etc/network/if-up.d/script手动调用此脚本,它可以正常工作。

如果我尝试发布 zenity 消息,则在连接时也不会显示。再次,如果我亲手做,它出现。

然后我有一个调用matlab(控制台模式)的expect脚本,如果我手动执行它可以工作,但如果我从 cron 调用它,它会在调用脚本时冻结。

这让我感到很沮丧,因为当系统自动调用它们时,似乎只能执行脚本中的某些命令。

我试图用 nohup指令&amp; 调用说明,但仍未通过

2 个答案:

答案 0 :(得分:1)

这是按设计工作的,您可以搜索并查看解决此问题的相关方法,或者您可以使用我在此处描述的xmessage:Using Zenity in a root incron job to display message to currently logged in user

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

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}

简易选项2:设置DISPLAY(然后应该工作)

    export DISPLAY=:0 && /usr/bin/somedirectory/somecommand

答案 1 :(得分:0)