[2026-10-08] eagle: family/how-to/htpc-bazzite-ecosystem.md family/how-to/htpc-system.md family/how-to/htpc-webos-luna.md family/how-to/magic4pc-webos.md personal/projects/virfield.md
This commit is contained in:
1 parent
a44dcf6bde
commit
49589b9caa
5 files changed
+33
-20
No files matched your search
@@ -20,7 +20,7 @@ Synthesis across [[htpc-bazzite-proton]], [[tech/htpc-steam-emulators]],
|
||||
[[tech/htpc-kodi-layout]], and [[tech/htpc-magic4pc]].
|
||||
|
||||
Intel i7-6800K / RX 570 / Bazzite 44 at `192.168.1.86`. Connected to
|
||||
LG webOS TV (`192.168.1.75`) via HDMI.
|
||||
LG webOS TV (`192.168.1.70`, Ethernet) via HDMI.
|
||||
|
||||
## Mode Map
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
- RAM: 32 GB
|
||||
- GPU: AMD Radeon RX 570
|
||||
- Подключение к TV: HDMI
|
||||
- TV: LG webOS (192.168.1.75)
|
||||
- TV: LG webOS (Ethernet `192.168.1.70`)
|
||||
- HTPC IP: 192.168.1.86
|
||||
|
||||
## Контроллеры
|
||||
@@ -542,4 +542,4 @@ systemd-inhibit --what=sleep:idle --who=rsync-storage-backup --why="Data transfe
|
||||
```sudo
|
||||
bazzite ALL=(ALL) NOPASSWD: /usr/bin/systemctl
|
||||
bazzite ALL=(ALL) NOPASSWD: /usr/bin/rsync
|
||||
```
|
||||
```
|
||||
@@ -1,41 +1,41 @@
|
||||
# WebOS TV — luna-send via SSH
|
||||
|
||||
TV IP: `192.168.1.75`, user: `root`
|
||||
TV IP: `192.168.1.70` (Ethernet), user: `root`
|
||||
|
||||
## Проблема
|
||||
`luna-send` пишет вывод в tty, не в stdout. Через SSH без PTY — пусто.
|
||||
|
||||
## Решение — через `script`
|
||||
```bash
|
||||
ssh root@192.168.1.75 "script -q -c \"luna-send -n 1 -f luna://...\" /tmp/o.txt; cat /tmp/o.txt"
|
||||
ssh root@192.168.1.70 "script -q -c \"luna-send -n 1 -f luna://...\" /tmp/o.txt; cat /tmp/o.txt"
|
||||
```
|
||||
|
||||
## Методы
|
||||
|
||||
### Список запущенных приложений
|
||||
```bash
|
||||
ssh root@192.168.1.75 "script -q -c \"luna-send -n 1 -f luna://com.webos.service.applicationmanager/running '{}'\" /tmp/o.txt; cat /tmp/o.txt"
|
||||
ssh root@192.168.1.70 "script -q -c \"luna-send -n 1 -f luna://com.webos.service.applicationmanager/running '{}'\" /tmp/o.txt; cat /tmp/o.txt"
|
||||
```
|
||||
|
||||
### Закрыть приложение
|
||||
```bash
|
||||
ssh root@192.168.1.75 "script -q -c \"luna-send -n 1 -f luna://com.webos.service.applicationmanager/closeByAppId '{\"id\":\"APP_ID\"}'\" /tmp/o.txt; cat /tmp/o.txt"
|
||||
ssh root@192.168.1.70 "script -q -c \"luna-send -n 1 -f luna://com.webos.service.applicationmanager/closeByAppId '{\"id\":\"APP_ID\"}'\" /tmp/o.txt; cat /tmp/o.txt"
|
||||
```
|
||||
|
||||
### Удалить приложение (dev)
|
||||
```bash
|
||||
ssh root@192.168.1.75 "script -q -c \"luna-send -n 1 -f luna://com.webos.appInstallService/dev/remove '{\"id\":\"APP_ID\"}'\" /tmp/o.txt; cat /tmp/o.txt"
|
||||
ssh root@192.168.1.70 "script -q -c \"luna-send -n 1 -f luna://com.webos.appInstallService/dev/remove '{\"id\":\"APP_ID\"}'\" /tmp/o.txt; cat /tmp/o.txt"
|
||||
```
|
||||
|
||||
### Установить ipk
|
||||
```bash
|
||||
scp app.ipk root@192.168.1.75:/tmp/
|
||||
ssh root@192.168.1.75 "script -q -c \"luna-send -n 1 -f luna://com.webos.appInstallService/dev/install '{\"id\":\"APP_ID\",\"ipkUrl\":\"/tmp/app.ipk\",\"subscribe\":true}'\" /tmp/o.txt; cat /tmp/o.txt"
|
||||
scp app.ipk root@192.168.1.70:/tmp/
|
||||
ssh root@192.168.1.70 "script -q -c \"luna-send -n 1 -f luna://com.webos.appInstallService/dev/install '{\"id\":\"APP_ID\",\"ipkUrl\":\"/tmp/app.ipk\",\"subscribe\":true}'\" /tmp/o.txt; cat /tmp/o.txt"
|
||||
```
|
||||
|
||||
### Запустить приложение
|
||||
```bash
|
||||
ssh root@192.168.1.75 "script -q -c \"luna-send -n 1 -f luna://com.webos.applicationManager/launch '{\"id\":\"APP_ID\"}'\" /tmp/o.txt; cat /tmp/o.txt"
|
||||
ssh root@192.168.1.70 "script -q -c \"luna-send -n 1 -f luna://com.webos.applicationManager/launch '{\"id\":\"APP_ID\"}'\" /tmp/o.txt; cat /tmp/o.txt"
|
||||
```
|
||||
|
||||
## Не работает
|
||||
|
||||
@@ -12,6 +12,12 @@
|
||||
- `inputBackKey()` → Esc в gamescope, x1 в KDE
|
||||
- Репо: https://github.com/mallexxx/magic4pc_altclient (ветка `main`)
|
||||
|
||||
## Текущая сеть (проверено 2026-10-08)
|
||||
|
||||
- TV по Ethernet: `192.168.1.70` (MAC `ac:5a:f0:25:11:c6`); старый Wi-Fi IP `.75` не использовать.
|
||||
- HTPC-клиент по умолчанию подключается к `192.168.1.70:42831`; после обновления клиент запущен, ошибок повторного подключения нет.
|
||||
- WoL MAC HTPC: `B0:6E:BF:60:6D:64`. Проверить/обновить сохранённый WoL MAC в TV-приложении: сейчас там `60:6e:bf:60:6d:64` (не совпадает).
|
||||
|
||||
## Исходники
|
||||
|
||||
| Компонент | Путь |
|
||||
@@ -69,7 +75,7 @@ NODE_OPTIONS=--openssl-legacy-provider npm run build
|
||||
> ⚠️ Оба аргумента `dist/ service/` обязательны — иначе сервис не попадёт в IPK.
|
||||
> ⚠️ `npm run package` = `ares-package -n` (unsigned) — **не использовать**, TV отклоняет.
|
||||
|
||||
## Деплой на TV (192.168.1.75)
|
||||
## Деплой на TV (192.168.1.70)
|
||||
|
||||
### Правильный способ — deploy.sh
|
||||
|
||||
@@ -92,14 +98,14 @@ cd ~/Developer/magic4pc/webos
|
||||
cd ~/Developer/magic4pc/webos
|
||||
NODE_OPTIONS=--openssl-legacy-provider npm run build
|
||||
/Users/admin/webOS_TV_SDK/CLI/bin/ares-package dist/ service/ --outdir .
|
||||
scp me.wouterdek.magic4pc_1.1.0_all.ipk root@192.168.1.75:/tmp/magic4pc.ipk
|
||||
scp me.wouterdek.magic4pc_1.1.0_all.ipk root@192.168.1.70:/tmp/magic4pc.ipk
|
||||
|
||||
~/Automation/tv-luna-send.sh -n 1 -f luna://com.webos.service.applicationmanager/closeByAppId '{"id":"me.wouterdek.magic4pc"}' || true
|
||||
~/Automation/tv-luna-send.sh -n 1 -f luna://com.webos.appInstallService/dev/remove '{"id":"me.wouterdek.magic4pc"}' || true
|
||||
sleep 2
|
||||
|
||||
# install — через прямой script (luna-send -i не работает через враппер)
|
||||
ssh root@192.168.1.75 "script -q -c \"luna-send -i -f luna://com.webos.appInstallService/dev/install '{\\\"id\\\":\\\"me.wouterdek.magic4pc\\\",\\\"ipkUrl\\\":\\\"/tmp/magic4pc.ipk\\\",\\\"subscribe\\\":true}'\" /tmp/install.txt &
|
||||
ssh root@192.168.1.70 "script -q -c \"luna-send -i -f luna://com.webos.appInstallService/dev/install '{\\\"id\\\":\\\"me.wouterdek.magic4pc\\\",\\\"ipkUrl\\\":\\\"/tmp/magic4pc.ipk\\\",\\\"subscribe\\\":true}'\" /tmp/install.txt &
|
||||
for i in \$(seq 1 30); do sleep 1; grep -q '\"state\":\"installed\"' /tmp/install.txt 2>/dev/null && break; done
|
||||
kill %1 2>/dev/null; grep -v '^Script ' /tmp/install.txt; rm -f /tmp/install.txt"
|
||||
|
||||
@@ -164,8 +170,8 @@ Magic4pc автоматически запускает выбранный app п
|
||||
|
||||
```bash
|
||||
# Деплой
|
||||
scp tv-scripts/init.d-magic4pc.sh root@192.168.1.75:/var/lib/webosbrew/init.d/magic4pc
|
||||
ssh root@192.168.1.75 "chmod +x /var/lib/webosbrew/init.d/magic4pc"
|
||||
scp tv-scripts/init.d-magic4pc.sh root@192.168.1.70:/var/lib/webosbrew/init.d/magic4pc
|
||||
ssh root@192.168.1.70 "chmod +x /var/lib/webosbrew/init.d/magic4pc"
|
||||
# Применяется после ребута TV
|
||||
```
|
||||
|
||||
@@ -175,14 +181,14 @@ ssh root@192.168.1.75 "chmod +x /var/lib/webosbrew/init.d/magic4pc"
|
||||
|
||||
```bash
|
||||
# Лог UI (appendLogPersist пишет сюда)
|
||||
ssh root@192.168.1.75 "tail -30 /tmp/m4p_debug.log"
|
||||
ssh root@192.168.1.70 "tail -30 /tmp/m4p_debug.log"
|
||||
|
||||
# Run-state
|
||||
ssh root@192.168.1.75 "cat /tmp/magic4pc-run-state"
|
||||
ssh root@192.168.1.70 "cat /tmp/magic4pc-run-state"
|
||||
|
||||
# Settings / last-app
|
||||
ssh root@192.168.1.75 "cat $PERSISTENT_DIR/magic4pc-settings"
|
||||
ssh root@192.168.1.75 "cat $PERSISTENT_DIR/magic4pc-last-app"
|
||||
ssh root@192.168.1.70 "cat $PERSISTENT_DIR/magic4pc-settings"
|
||||
ssh root@192.168.1.70 "cat $PERSISTENT_DIR/magic4pc-last-app"
|
||||
```
|
||||
|
||||
> ⚠️ `appendLog()` пишет **только в UI**. В файл попадает только `appendLogPersist()`. При отладке использовать `appendLogPersist`.
|
||||
|
||||
@@ -14,6 +14,13 @@ tags:
|
||||
|
||||
**Текущий статус: Stage 1 (Tart/Orchard migration) в работе; продолжать в `/Users/admin/Developer/virfield-v3`, branch `codex/virfield-v3-stage1`.** Это актуальная запись состояния; ниже сохранена история v2 от 2026-10-03.
|
||||
|
||||
## Обновление 2026-10-08 — MBP Big Sur: несколько host keys на одну ноду
|
||||
|
||||
- Каждый том MBP имеет свой SSH host key → `runtime.nodes[].host_keys` (доп. идентичности); dialer принимает любой из них, lease отдаёт фактически предъявленный. Коммит `a37bddf`, задеплоено.
|
||||
- Big Sur 11.7.9: ключ пользователя и management key добавлены в authorized_keys тома Big Sur; ключ Big Sur в `~/.ssh/known_hosts` (бэкап `known_hosts.bak-*`) и в config. Приёмка `mbp2014-big-sur` 5/5.
|
||||
- Ранее сегодня: Finder/ASIF — спек-кэш `tart get` + листинг каталогов вместо `tart list` (`96dfae3`, `0283901`); Clone будит спящую ноду (`ad78b8d`).
|
||||
- Дальше: Catalina/Ventura — enroll при загрузке (ключ пользователя + management.pub, `ssh-keyscan` → `host_keys`); HTPC VT-x/libvirtd → R2; повтор теста пробуждения арендой.
|
||||
|
||||
## Обновление 2026-10-08 11:20 — Remote nodes R1 работает вживую
|
||||
|
||||
- Спека `docs/superpowers/specs/2026-10-08-remote-nodes-r1-design.md`. SSH-first (агент позже), без sudo на нодах, «аренда того, что загружено». HEAD `9f2dabd`.
|
||||
|
||||
Reference in new issue
Block a user