Files
obsidian-vault/family/how-to/htpc.md
T

85 lines
3.2 KiB
Markdown
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# HTPC
**IP:** 192.168.1.86
**OS:** Bazzite (Linux)
## Сеть (проверено 2026-10-07)
- Подключён Ethernet напрямую к ASUS RT-AC68U; промежуточный TP-Link больше не используется.
- Интерфейс: `enp0s31f6`; IPv4 получает по DHCP.
- ASUS DHCP reservation: MAC `B0:6E:BF:60:6D:64` → `192.168.1.86` (`htpc`).
- DNS: `htpc` → `192.168.1.86` через `192.168.1.1`.
- Ethernet link: **1000 Mb/s, full duplex**.
- Старая схема с TP-Link: [[htpc-tplink-wrt-wol]] (историческая).
## Wake on LAN
**MAC:** `B0:6E:BF:60:6D:64`
> ⚠️ HTPC агрессивно уходит в сон — SSH таймаутит через ~10-15 мин простоя. Перед каждой SSH-сессией отправлять WoL и ждать **~70 сек** (не 30) до появления SSH.
### Скрипты (~/Automation/)
```bash
# Разбудить HTPC
python3 ~/Automation/wake-on-lan.py
# Разбудить или усыпить TV + HTPC
python3 ~/Automation/wake-tv-or-sleep.py
```
### Вручную (без скриптов)
```bash
# через brew
brew install wakeonlan
wakeonlan B0:6E:BF:60:6D:64
# через Python
python3 -c "
import socket
mac = 'B06EBF606D64'
pkt = bytes.fromhex('F'*12 + mac*16)
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
s.sendto(pkt, ('255.255.255.255', 9))
print('Magic packet sent')
"
```
### Проверка
После отправки пакета подождать ~30 сек:
```bash
ping -c 5 192.168.1.86
```
### Sleep management
HTPC использует `htpc-sleep-guard` — см. [[htpc-system#Автосон / Sleep management]].
Чтобы не дать HTPC уснуть во время долгой операции: `touch /tmp/rsync-active` на HTPC.
По окончании: `rm /tmp/rsync-active`.
### Если не просыпается
WoL должен быть включён в BIOS/UEFI. Проверить настройки на HTPC (пока он живой):
```bash
sudo ethtool enp<X> # смотреть Wake-on: g
sudo ethtool -s enp<X> wol g # включить
```
## Remote reboot limitation
Агент Hermes **не может** перезагрузить HTPC удалённо:
- `sudo reboot` требует пароль (нет `NOPASSWD` в sudoers)
- `systemctl reboot` — Access denied
- `/proc/sysrq-trigger` — Permission denied
- `ssh -tt` с sudo — требует интерактивный ввод пароля, агент не может его передать
- reboot/shutdown системно заблокированы в Hermes (hardline block)
**Как ребутнуть:** только вручную с клавиатуры/экрана HTPC, или через `ssh -tt <user>@192.168.1.86` и ввод пароля вручную, или настроив NOPASSWD в `/etc/sudoers.d/`.
## Виртуальная клавиатура
Установлен **vboard** (fork mallexxx/vboard, ветка `htpc-bazzite-patches`).
Полная дока с патчами и известными проблемами: [[virtual-keyboard-bazzite]]