如何使用Triggerhappy守护进程覆盖文件

如何使用Triggerhappy守护进程覆盖文件

我安装了 Rpi4 和 Volumio 2.729。当按下键盘按钮时,我使用 Triggerhappy 运行 node.js 脚本 - 该脚本将播放相应的互联网广播电台:

module.paths.push('/lib/node_modules');
var io=require('socket.io-client');
var socket= io.connect('http://127.0.0.1:3000');

socket.on('connect',function(){
        socket.emit('replaceAndPlay', {"service":"webradio","uri":"http://185.85.28.148:8000"});
});

此外,当同时按下按钮和“M”键时,Triggerhappy 将运行 .js 脚本,将当前播放的电台绑定到该按钮 - 它的工作原理是获取 volumio 的状态并替换 .js 脚本中的 URI(来自上面的示例)绑定到该按钮fs.writeFile().

我的问题是,Triggerhappy 无法覆盖 .js 文件。当我从终端手动运行此脚本时,它运行良好。

我设法以 root 身份运行 Triggerhappy,但没有帮助。我怎样才能让Triggerhappy覆盖文件,或者有更优雅的解决方案?

编辑:这是输出sudo systemctl状态triggerhappy.service -l

● triggerhappy.service - LSB: triggerhappy hotkey daemon
   Loaded: loaded (/etc/init.d/triggerhappy)
   Active: active (running) since Thu 2020-04-16 19:58:25 CEST; 4min 44s ago
  Process: 640 ExecStart=/etc/init.d/triggerhappy start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/triggerhappy.service
           ├─ 698 /usr/sbin/thd --daemon --triggers /etc/triggerhappy/triggers.d/ --socket /var/run/thd.socket --pidfile /var/run/thd.pid --user volumio /dev/input/event*
           ├─2415 /usr/sbin/thd --daemon --triggers /etc/triggerhappy/triggers.d/ --socket /var/run/thd.socket --pidfile /var/run/thd.pid --user volumio /dev/input/event*
           ├─2416 sh -c node /home/volumio/node-stream/play_uri_1-node.js
           ├─2417 node /home/volumio/node-stream/play_uri_1-node.js
           ├─2636 /usr/sbin/thd --daemon --triggers /etc/triggerhappy/triggers.d/ --socket /var/run/thd.socket --pidfile /var/run/thd.pid --user volumio /dev/input/event*
           ├─2637 sh -c node /home/volumio/node-stream/play_uri_2-node.js
           └─2638 node /home/volumio/node-stream/play_uri_2-node.js

没有关于 memory.js 的条目,该脚本是在 play_uri_x-node.js 中写入的脚本

答案1

默认情况下triggerhappy应该运行为nobody.一种解决方法是nobody通过编辑 sudo 文件授予调用特定命令的权限。但不必使用 root,如果您的普通用户可以运行该脚本就足够了。

在您的triggerhappy 配置中,验证您是否具有脚本的完全限定路径。

最后但并非最不重要的一点是,检查您的日志文件(syslog,可能还有 中的其他文件/var/log)。

相关内容