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

82 lines
2.4 KiB
Markdown

# HTPC — Доступ и управление
## SSH
```bash
ssh -i ~/.ssh/id_rsa bazzite@192.168.1.86
```
Пароль sudo: `bazzite`
## SSH-доступ с Кракена ✅
Кракен может SSH на HTPC напрямую. Ключ уже авторизован.
```bash
ssh -i /opt/data/home/.ssh/id_ed25519 -o StrictHostKeyChecking=no bazzite@192.168.1.86 'КОМАНДА'
```
- Ключ внутри контейнера: `/opt/data/home/.ssh/id_ed25519`
- WoL (пробудить): Python socket, MAC `B0:6E:BF:60:6D:64`
- sudo пароль: `bazzite`
Полная дока: скилл `htpc-control` в `~/.hermes/skills/smart-home/htpc-control/SKILL.md`
## Go (на HTPC)
Go установлен в `/usr/local/go/bin/go` (не в PATH по умолчанию).
Сборка: `cd ~/magic4pc && /usr/local/go/bin/go build -o magic4pc_new .`
## Git workflow (magic4pc)
- Mac: `~/Developer/magic4pc_altclient`, бранч `bazzite-linux`
- Remote `linux``ssh://bazzite@192.168.1.86/var/home/bazzite/magic4pc.git` (bare repo)
- Worktree на HTPC: `/home/bazzite/magic4pc`
- Remote `origin``https://github.com/mallexxx/magic4pc_altclient.git`
Деплой:
```bash
# На Mac:
git push linux bazzite-linux
# На HTPC:
cd ~/magic4pc && git pull && /usr/local/go/bin/go build -o magic4pc_new .
sudo systemctl stop magic4pc
sudo rm /usr/local/bin/magic4pc
sudo cp magic4pc_new /usr/local/bin/magic4pc
sudo systemctl start magic4pc
```
> ⚠️ Нельзя `cp` поверх работающего бинаря — "Text file busy". Всегда сначала `stop` → `rm` → `cp` → `start`.
## systemd сервис
Файл: `/etc/systemd/system/magic4pc.service`
```ini
[Unit]
Description=Magic Remote client for LG TV
After=network.target
[Service]
User=bazzite
Group=bazzite
ExecStart=/usr/local/bin/magic4pc-run.sh
Restart=always
RestartSec=5
StartLimitIntervalSec=0
[Install]
WantedBy=multi-user.target
```
`StartLimitIntervalSec=0` — без лимита рестартов (иначе при crash-loop убивается).
## Run script
`/usr/local/bin/magic4pc-run.sh` — ждёт X display, делает `xhost +local:`, запускает бинарь.
## ydotoold
User-юнит: `~/.config/systemd/user/ydotoold.service`
Socket: `/run/user/1000/.ydotool_socket`
Управление: `systemctl --user status ydotoold`
## Логи
```bash
journalctl -u magic4pc -n 50 --no-pager
journalctl -u magic4pc -f # live
```