Note
See the official manual for the detailed description of sections and options for a service file.
See the official manual for the detailed description of sections and options for a service file.
September 08, 2020
Author: Jaeduck Oh
webOS OSE uses systemd
as an initialization system.
Wikipedia describes systemd
as follows:
systemd
is a software suite that provides an array of system components for Linux operating systems. Its main aim is to unify service configuration and behavior across Linux distributions;systemd
’s primary component is a “system and service manager”—an init system used to bootstrap user space and manage user processes.
systemd
provides a standard process for controlling programs that run when the Linux computer boots.
webOS is based on Linux kernel. So if you want to run a script at boot time in webOS OSE, you have to create and use a service file.
This article explains how to run the Enact Browser-one of the pre-installed application in webOS OSE-at boot time as an example.
Create a service file in the /lib/systemd/system/
directory.
root@raspberrypi4:/sysroot/home/root# cd /lib/systemd/system/
root@raspberrypi4:/lib/systemd/system# vi runscript.serivce
Add the content below to the file.
[Unit]
Description=webos - "%n"
[Service]
Type=oneshot
ExecStart=/usr/bin/luna-send -n 1 -f luna://com.webos.service.applicationmanager/launch '{ "id" : "com.webos.app.enactbrowser"}'
Create a symbolic link that points to /lib/systemd/system/webos-bd.target.wants/
directory to allow scripts to run after Home Launcher runs.
root@raspberrypi4:/lib/systemd/system# ln -s runscript.service ./webos-bd.target.wants/
Reboot with the command below:
root@raspberrypi4:/lib/systemd/system# reboot -f
After rebooting, you can check with the systemdctl command to see if the service has run.
root@raspberrypi4:/sysroot/home/root# systemctl status runscript
You get the following result if the service has been executed successfully.
● runscript.service - webos - "runscript.service"
Loaded: loaded (/usr/lib/systemd/system/runscript.service; static; vendor preset: enabled)
Active: inactive (dead) since Tue 2020-07-21 18:15:38 PDT; 1 months 12 days ago
Process: 809 ExecStart=/usr/bin/luna-send -n 1 -f luna://com.webos.service.applicationmanager/launch { "id" :
"com.webos.app.enactbrowser"} (code=exited, status=0/SUCCESS)
Main PID: 809 (code=exited, status=0/SUCCESS)
Jul 21 18:15:38 raspberrypi4 systemd[1]: Starting webos - "runscript.service"...
Jul 21 18:15:38 raspberrypi4 luna-send[809]: {
Jul 21 18:15:38 raspberrypi4 luna-send[809]: "launchPointId": "com.webos.app.enactbrowser_default",
Jul 21 18:15:38 raspberrypi4 luna-send[809]: "appId": "com.webos.app.enactbrowser",
Jul 21 18:15:38 raspberrypi4 luna-send[809]: "returnValue": true,
Jul 21 18:15:38 raspberrypi4 luna-send[809]: "displayId": 0,
Jul 21 18:15:38 raspberrypi4 luna-send[809]: "instanceId": "1b614df1-a090-45e3-aa90-c046649dbcc70"
Jul 21 18:15:38 raspberrypi4 luna-send[809]: }
Jul 21 18:15:38 raspberrypi4 systemd[1]: Started webos - "runscript.service".
Contents