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

88 lines
2.9 KiB
Markdown
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 — Доступ и управление
## SSH
```bash
ssh -i ~/.ssh/id_rsa bazzite@192.168.1.86
```
Пароль sudo: `bazzite`
## SSH-доступ с Кракена (Portainer)
Кракен-агент работает внутри Docker-контейнера — SSH-клиента нет.
Управление HTPC через Portainer API EP=3: одноразовый alpine-контейнер с примонтированными ключами.
**Ключ Кракена** (добавить в HTPC `~/.ssh/authorized_keys`):
```
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFl9JjpovitpHUdM1yCpmWb/iC0fe7fYVyXjLLrJSCVR kraken
```
Добавить с Eagle (когда HTPC проснётся):
```bash
ssh -i ~/.ssh/id_rsa bazzite@192.168.1.86 \
"echo 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFl9JjpovitpHUdM1yCpmWb/iC0fe7fYVyXjLLrJSCVR kraken' >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
```
⚠️ **TODO:** выполнить, когда HTPC проснётся. До этого Кракен не может SSH на HTPC.
Полная дока по управлению с Кракена: скилл `htpc-control` (`~/.hermes/skills/smart-home/htpc-control/`)
## 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
```