[2026-10-11] eagle: family/how-to/htpc-system.md

This commit is contained in:
Alexey Martemyanov committed 2026-10-11 14:42:01 +06:00
1 parent da2e0beb72
commit d6392fcb4f
1 file changed
+9 -1
+9 -1
View File
@@ -128,7 +128,15 @@ Sleep управляется `htpc-sleep-guard` — Python-скрипт + system
| `htpc-sleep-guard` | **active/enabled** | актуальный guard (SSH + торренты + rsync-файл) |
| `transmission-sleep-guard` | disabled | старый, отключён (дублировал и держал ингибитор постоянно) |
### Логика guard
### Редизайн guard — nudge вместо ингибитора (план 2026-10-11)
**Инцидент 2026-10-11 14:10:** guard (правка 08.10 в рамках virfield) сам вызвал suspend через 30 мин после отпускания удержания — во время игровой сессии. Игровая активность в условиях guard не проверяется (только SSH/торренты/rsync-файл/чужие block-ингибиторы, которых gamescope не ставит).
**Новый дизайн:** Steam (`-steamdeck`, gamescope) — единственный инициатор сна, его idle-таймер нативно уважает геймпад/игру (доказано 28.05 и инцидентом — за 1ч игры Steam не усыпил). Guard больше НЕ ставит systemd-inhibit и НЕ вызывает suspend. Пока выполняются условия удержания (SSH-сессия / дневные торренты+cooldown / `/tmp/rsync-active`) — guard каждые 60 с шлёт синтетический input (`xdotool key F13` на дисплей gamescope-сессии), сбрасывая idle-таймер Steam. Условия кончились → nudge прекращён → Steam сам усыпляет по своему таймауту. Ночь (23–11): без nudge даже с торрентами + RTC-wake 11:00 (как раньше).
**Риски:** Steam-таймер может не смотреть X-keyboard → fallback uinput-геймпад; Sleep After=Never → таймер не выстрелит (проверить конфиг); XTest в gamescope-сессии (проверить живьём).
### Логика guard (до 2026-10-11, заменяется)
**Всегда (вне зависимости от времени):**
- Активная SSH сессия → держит inhibitor (HTPC не спит)