82 lines
2.4 KiB
Markdown
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
|
|
```
|