hermes-hub/installer
Hermes Team 884a632049 fix(antigravity): хаб отказывался открыть терминал, стоя на рабочем столе
Мастер сообщил «Графический дисплей не обнаружен», хотя окно хаба было открыто
на рабочем столе владельца. Причина: хаб запускается через nohup и наследует
окружение той оболочки, из которой его запустили. Запуск по SSH или службой
оставляет процесс без DISPLAY.

Наследование не единственный источник. Измерено на сервере владельца:
loginctl show-user ochenstarik -p Display даёт c1, а show-session c1 —
Type=x11, Display=:10, Active=yes. Спросить у системы честнее, чем сдаться.

Теперь дисплей ищется сначала в окружении, затем у systemd, и найденное
значение передаётся в окружение терминала — иначе окно не открылось бы даже
при верном обнаружении. Отказ остаётся правомерным, только когда графического
сеанса не знает и systemd; в сообщении перечисляется всё проверенное, включая
сам loginctl.

XAUTHORITY не выставляем: клиенты X11 по умолчанию берут ~/.Xauthority того же
пользователя, а хаб работает под ним же.

674 passed, 2 skipped; ruff чисто; релизный гейт пройден.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-01 15:38:27 +07:00
..
build_installer.ps1 fix: проверка готовности всегда врала, установщик показывал зашитую версию 2026-08-24 09:47:00 +07:00
build_installer_linux.sh fix(installer): нормализация переводов строк молча зависела от нерабочего python3 2026-08-31 01:54:12 +07:00
HermesHubSetup.cs fix(antigravity): хаб отказывался открыть терминал, стоя на рабочем столе 2026-09-01 15:38:27 +07:00
HermesHubSetup.py feat(hub): A34 восстановление подключения аккаунтов, OpenRouter, NVIDIA, удаление десктопа 2026-08-31 00:23:27 +07:00
install-linux.sh fix(installer): установка на Linux падала на защищённом системном Python 2026-09-01 12:56:47 +07:00
README.md feat: production update feed architecture, host allowlist, and truthful release gate 2026-08-20 17:25:30 +07:00
uninstall-linux.sh feat(installer): A19 — установщики Windows и Linux, запуск веб-интерфейса окном приложения 2026-08-23 22:14:47 +07:00

Hermes Hub — Installer Architecture

Canonical Windows Installer

  • Canonical Binary: HermesHubSetup.exe (built from HermesHubSetup.cs)
  • Build Script: build_installer.ps1 (compiles HermesHubSetup.cs using standard .NET Framework csc.exe present on all Windows 10/11 machines without extra toolchains).

Development & Helper Scripts

  • HermesHubSetup.py: Internal development helper script for testing installer logic in Python. Not distributed as a primary installer artifact.
  • install.ps1: Deprecated legacy bootstrap script for earlier development environments.

Testing Policy (S7)

  • Unit Tests: Must NEVER modify user Windows Registry (HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall) or Start Menu shortcuts.
  • Integration Tests: Executed against isolated sandbox mock directories.
  • Live VM Tests: Real Windows installer execution is reserved for disposable CI/VM environments.