在服务内部使用通知发送 (notify-send) 时没有出现任何消​​息,为什么?

在服务内部使用通知发送 (notify-send) 时没有出现任何消​​息,为什么?

我正在开发一个通知脚本,该脚本会从 json 文件向我发送消息。我尝试将其作为服务运行,因为这似乎是从命令行启动和停止脚本的最简单方法。

我有以下简单的服务:

description "Notify me service"
author  "jo"
start on runlevel [2345]
stop on runlevel [016]
script
    exec /usr/bin/notify-send test >> /var/log/test.log 2>&1
end script

该脚本似乎已运行,因为没有任何错误(我还用服务调用的另一个脚本对其进行了测试),但没有出现任何消​​息。这是为什么?

答案1

这些“服务”在您进入登录屏幕之前就在启动时执行。我不知道您想做什么,但这类事件应该在登录后发生。

如果您想测试脚本的每次执行,您应该将某些内容打印到文件中(notify-send不生成输出)或照常启动服务。

如果您运行,sudo services nameofscript start您将无法收到通知,因为您将以 root 身份运行。

我相信你没有尝试去做你要求的事情,但这回答了你所面临的疑问。下次你应该问自己想做什么,你使用的方法以及预期结果是什么。

相关内容