From 5ebd786a63ac36d68e9a342c9ff474993903db94 Mon Sep 17 00:00:00 2001 From: Dmitrii Morozov Date: Wed, 27 Mar 2024 21:05:38 +0100 Subject: Added systemd service descriptor --- input/wrapper.go | 4 ++-- systemd/magic4linux-start | 45 +++++++++++++++++++++++++++++++++++++++++++++ systemd/magic4linux.service | 15 +++++++++++++++ 3 files changed, 62 insertions(+), 2 deletions(-) create mode 100755 systemd/magic4linux-start create mode 100644 systemd/magic4linux.service diff --git a/input/wrapper.go b/input/wrapper.go index d194f20..6b97e88 100644 --- a/input/wrapper.go +++ b/input/wrapper.go @@ -33,7 +33,7 @@ func CreateKeyboard(inputType int) (Keyboard, error) { uinputKeyboard.Init() return uinputKeyboard, nil } - return nil, fmt.Errorf("Unknown inputType: %d", inputType) + return nil, fmt.Errorf("unknown inputType: %d", inputType) } func CreateMouse(inputType int) (Mouse, error) { @@ -45,5 +45,5 @@ func CreateMouse(inputType int) (Mouse, error) { uinputMouse.Init() return uinputMouse, nil } - return nil, fmt.Errorf("Unknown inputType: %d", inputType) + return nil, fmt.Errorf("unknown inputType: %d", inputType) } diff --git a/systemd/magic4linux-start b/systemd/magic4linux-start new file mode 100755 index 0000000..971e478 --- /dev/null +++ b/systemd/magic4linux-start @@ -0,0 +1,45 @@ +#! /usr/bin/bash + +ARES_DEVICE_INFO_CMD="$WEBOS_CLI_TV/ares-device-info" +ARES_LAUNCH_CMD="$WEBOS_CLI_TV/ares-launch" +GOPATH=$(/usr/bin/go env GOPATH) + +function ares_available() { + if ! command -v $ARES_DEVICE_INFO_CMD &> /dev/null + then + echo "$ARES_DEVICE_INFO_CMD could not be found" + exit 1 + fi +} + +function wait_ares_connection() { + until $ARES_DEVICE_INFO_CMD > /dev/null + do + echo "Cannot establish connection to ares" + sleep 1 + done + echo "Connection to ares established" +} + +function check_magic4pc_running() { + $ARES_LAUNCH_CMD -r | grep -q 'me.wouterdek.magic4pc' + return $? +} + +function start_magic4pc() { + $ARES_LAUNCH_CMD me.wouterdek.magic4pc + return $? +} + +if ares_available; then + wait_ares_connection + if check_magic4pc_running; then + echo "WebOS Magic4pc application is already running" + else + echo "WebOS Magic4pc application not running, starting.." + start_magic4pc + fi +fi + +echo "Starting magic4linux.." +$GOPATH/bin/magic4linux diff --git a/systemd/magic4linux.service b/systemd/magic4linux.service new file mode 100644 index 0000000..0b0142f --- /dev/null +++ b/systemd/magic4linux.service @@ -0,0 +1,15 @@ +[Unit] +Description=magic4linux service +After=network.target +StartLimitIntervalSec=0 + +[Service] +Type=simple +Restart=always +RestartSec=1 +User=dimka +Environment="WEBOS_CLI_TV=/home/dimka/SOFT/CLI/bin" +ExecStart=/home/dimka/PROJECTS/magic4linux/systemd/magic4linux-start + +[Install] +WantedBy=multi-user.target \ No newline at end of file -- cgit v1.2.3