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

问题描述 投票:0回答:2

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

我有一个脚本 /etc/network/if-up.d/script ,它在连接时执行(它成功地在文件中发布了日期),但 xclip 指令似乎不起作用,没有什么可粘贴的。如果我通过在控制台中键入 /etc/network/if-up.d/script 来手动调用此脚本,它会完美运行。

如果我尝试启动 zenity 消息,它在连接时也不会出现。如果我用手做的话,它会再次出现。

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

我尝试使用 nohup 指令调用指令,但仍然错过了

linux cron zenity xclip
2个回答
1
投票

这是按设计工作的,您四处搜索,会看到解决此问题的复杂方法,或者您可以使用 xmessage,如下所示:在 root incron 作业中使用 Zenity 向当前登录的用户显示消息

简单选项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:设置显示(然后应该可以工作)

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

0
投票

cron 的问题在这里得到解答:

http://ubuntuforums.org/archive/index.php/t-105250.html

这里是 if-up 网络:

Bash 脚本自动运行时无法正常工作

© www.soinside.com 2019 - 2024. All rights reserved.