85 lines
3.2 KiB
Markdown
Executable File
85 lines
3.2 KiB
Markdown
Executable File
# 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]]
|