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

2.7 KiB

HTPC — Доступ и управление

SSH

ssh -i ~/.ssh/id_rsa bazzite@192.168.1.86

Пароль sudo: bazzite

⚠️ Важно: echo bazzite | sudo -S <cmd> не работает напрямую из агента. Работает обёртка: echo bazzite | setsid -w sudo -S <cmd>. Использовать только когда пользователь подтвердил команду.

SSH-доступ с Кракена

Кракен может SSH на HTPC напрямую. Ключ уже авторизован.

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 linuxssh://bazzite@192.168.1.86/var/home/bazzite/magic4pc.git (bare repo)
  • Worktree на HTPC: /home/bazzite/magic4pc
  • Remote originhttps://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". Всегда сначала stoprmcpstart.

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