2.9 KiB
HTPC — Доступ и управление
SSH
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 проснётся):
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
Деплой:
# На 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
[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
Логи
journalctl -u magic4pc -n 50 --no-pager
journalctl -u magic4pc -f # live