Ubuntu Linux agent instructions
-
Thanks @pirates. I'll try to reproduce and see if I can fix that. I suspect the agent depends on a package that depends on X-Windows, so it automatically installed X-Windows.
In the meantime, you could disable X-Windows at boot.
EDIT: @pirates, I reproduced the issue. I had a non-GUI, no X-Windows Ubuntu 20 VM, then installed the agent and it installed X-Windows. I'll get back to you soon because there should be a way to run the agent as a background service without X-Windows, like you can on a Raspberry Pi.
EDIT2: @pirates, this procedure worked for me to install the background agent without X-Windows:
sudo su - git clone https://github.com/rvmey/TRIGGERcmd-Agent.git cp ubuntupackage.json package.json apt install -y npm cd /root/TRIGGERcmd-Agent npm install node /root/TRIGGERcmd-Agent/src/agent.js --console (enter your token, then press CTRL-C to exit the foreground agent) /bin/sh /root/TRIGGERcmd-Agent/src/daemonmgr.sh --add /root/.TRIGGERcmdData systemctl enable triggercmdagent systemctl status triggercmdagent
I copied these instructions to a new article here.
-
I will try as soon as I get some free time and I will get back to you. Thanks for reply.
-
Is this normal?
root@fox:~/TRIGGERcmd-Agent# npm install npm WARN deprecated chokidar@1.7.0: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies. npm WARN deprecated request@2.88.2: request has been deprecated, see https://git hub.com/request/request/issues/3142 npm WARN deprecated posix-argv-parser@2.0.0: No longer maintained npm WARN deprecated gulp-util@2.2.20: gulp-util is deprecated - replace it, foll owing the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5 npm WARN deprecated gulp-util@3.0.8: gulp-util is deprecated - replace it, follo wing the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5 npm WARN deprecated react-tools@0.13.3: react-tools is deprecated. For more info rmation, visit https://fb.me/react-tools-deprecated npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and coul d be using insecure binaries. Upgrade to fsevents 2. npm WARN deprecated har-validator@5.1.5: this library is no longer supported npm WARN deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies. npm WARN deprecated core-js@1.2.7: core-js@<3 is no longer maintained and not re commended for usage due to the number of issues. Please, upgrade your dependenci es to the actual version of core-js@3. npm WARN deprecated buffer@2.1.13: This version of 'buffer' is out-of-date. You must update to v2.8.3 or newer npm WARN deprecated circular-json@0.3.3: CircularJSON is in maintenance only, fl atted is its successor. npm WARN deprecated core-js@2.6.11: core-js@<3 is no longer maintained and not r ecommended for usage due to the number of issues. Please, upgrade your dependenc ies to the actual version of core-js@3. npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprec ated npm WARN deprecated minimatch@0.3.0: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#dep recated npm ERR! code EBADPLATFORM npm ERR! notsup Unsupported platform for node-windows@0.1.14: wanted {"os":"win3 2","arch":"any"} (current: {"os":"linux","arch":"x64"}) npm ERR! notsup Valid OS: win32 npm ERR! notsup Valid Arch: any npm ERR! notsup Actual OS: linux npm ERR! notsup Actual Arch: x64 npm ERR! A complete log of this run can be found in: npm ERR! /root/.npm/_logs/2020-10-23T21_32_13_991Z-debug.log root@fox:~/TRIGGERcmd-Agent#
-
@pirates, to avoid that problem, copy the ubuntupackage.json file to package.json before you run npm install. I'll update the steps above with that. It looks like the default package.json was the Windows version.
-
@Russ I have this installed and functional on a Debian 10 Raspberry Pi. The default commands work great, as well as a custom one that triggers a bash script that sends a WOL command to my PC.
Question for you: Does triggercmd run the script as root, or as the user with elevated privileges via sudo?
-
@Tim-Manochehri, it runs them as root. If you run this command you'll see that the agent runs as root, and the agent runs the commands:
ps -ef | grep triggercmdagent
-
Hi,
I have followed the instructions in a headless Ubuntu, getting some errors:
dpkg: error al procesar el paquete triggercmdagent (--install):
installed triggercmdagent package post-installation script subprocess returned error exit status 127Triggercmd is installed but now, every time I try to apt upgrade it tries to reinstall triggercmd...
Is this the normal behaviour?
-
@Daniel-Machín, that's not normal. I'd like to try to reproduce that problem and fix it. Can you tell me the commands you ran, and which specific operating system you installed it on? You wrote "headless" so I understand you did not install X-Windows on it.
-
Hi Russ,
Thanks for your reply!
System is an Ubuntu 18.04.5 LTS (bionic) without X-Windows
Anyway, I finally managed to make it work. Issue was dependencies:
apt install npm
solved the problem
Perhaps, including npm as a dependency within .deb package could solve potential future issues (currently, only nodejs is a dependency):
daniel@servidor:~$ sudo apt-cache depends triggercmdagent triggercmdagent Depende: nodejs
Thanks!
Daniel -
Thanks @Daniel-Machín. Good call. I'll add that.
https://github.com/rvmey/TRIGGERcmd-Agent/blob/master/ubuntupackage.json#L52
-
@Russ One question does the agent automatically open in Linux at startup like windows? Because every time I boot I need to open it manually and it does not start up automatically. I followed the installation steps above, uninstalled, installed again but the same problem.... in windows and raspberry it is working fine with no issues... Do i need to install with no UI in Linux like raspberry??
-
@Pr0k0, the foreground Linux agents do not run automatically in X-Windows. I researched it but couldn't find a standard way to do that. If you install the background service, that will start during boot, but you'll need to make set the "ground" field in your commands.json file to "background" instead of "foreground" because the background agent adds/removes/runs background commands.
-
@Russ thnx for the reply, i understand, i tried to make a .sh file to execute the application in a cronjob when boot but it does not start......i cannot understand why, if execute manually the sh file starts normally, i also tried to create a service with some name pointing to the file.....service is active but again in boot, it does not start... the problem is because in the foreground i can make routines and not need to say the computer name everytime....that's why the foreground is helpful...the background service is not visible in the Home Skills so i cannot make a routine. Anyway thanks again for the reply.
-
@Pr0k0, background commands should show up as Alexa Smart Home devices, just like foreground commands, so I wonder if you didn't install the background service yet. This command should it:
sudo sh /usr/lib/triggercmdagent/resources/app/src/installdaemon.sh
-
-
-
-