Bind-mounts a transparent web page over LG Home that launches Luma via WebOSServiceBridge, with a subscription-based background watcher as fallback. Tested on LG 65NANO813PA, webOS 6.5.3. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
32 lines
1.0 KiB
Bash
32 lines
1.0 KiB
Bash
#!/bin/sh
|
|
# Luma Home trampoline — bind-mount a transparent web page over LG Home,
|
|
# then launch Luma on top. A subscription watcher re-launches Luma every
|
|
# time the Home button is pressed (backup for when WebOSServiceBridge in
|
|
# the web page does not fire).
|
|
#
|
|
# Install:
|
|
# ln -sf /media/developer/luma-home/boot-hook.sh /var/lib/webosbrew/init.d/10-luma-home
|
|
#
|
|
# Requires: Homebrew Channel, Luma (com.ecklf.luma) installed via IPK.
|
|
# Tested on: webOS 6.5.3-47 (LG 65NANO813PA)
|
|
|
|
export PATH=/usr/bin:/usr/sbin:/bin:/sbin:$PATH
|
|
L=/media/developer/luma-home
|
|
H=/usr/palm/applications/com.webos.app.home
|
|
|
|
kill $(cat /tmp/luma-watcher.pid 2>/dev/null) 2>/dev/null
|
|
|
|
if ! grep -q " $H " /proc/mounts; then
|
|
mount --bind $L/overlay $H
|
|
systemctl restart sam
|
|
i=0
|
|
while [ $i -lt 30 ]; do
|
|
systemctl is-active sam >/dev/null 2>&1 && break
|
|
sleep 2; i=$((i+1))
|
|
done
|
|
sleep 5
|
|
luna-send -n 1 -w 10000 -f luna://com.webos.applicationManager/launch '{ "id": "com.ecklf.luma" }' </dev/null >/dev/null 2>&1
|
|
fi
|
|
|
|
nohup $L/watcher.sh </dev/null >/dev/null 2>&1 &
|