fix(autostart): run from repo root + visible console at logon
autostart-run.bat did 'cd /d %~dp0' -> scripts/, but web-vnc.exe/webvnc.conf/ go.mod live in the repo root, so the binary was never found and web-vnc never started after reboot. Now it cd's to %~dp0.. (repo root). The task was ONSTART/RU SYSTEM (session 0) so it could not show a window, making failures invisible. install-autostart.bat now registers ONLOGON /RL HIGHEST as the current user -> a visible console opens at logon. autostart-run.bat sets a window title, prints status, stays open while web-vnc serves, and pauses on fatal errors (no binary / no webvnc.conf) so the reason is visible. Docs updated.
This commit is contained in:
@@ -53,9 +53,12 @@ gateway без запросов.
|
||||
set-password.bat :: один раз: пароль -> webvnc.conf
|
||||
install-autostart.bat :: один раз (от админа): плановое задание «web-vnc»
|
||||
```
|
||||
`install-autostart.bat` регистрирует через `schtasks` задание (`ONSTART`, `SYSTEM`,
|
||||
`HIGHEST`), которое при загрузке запускает `scripts\autostart-run.bat` —
|
||||
неинтерактивный launcher, читающий `webvnc.conf` и не качающий ничего на старте.
|
||||
`install-autostart.bat` регистрирует через `schtasks` задание (`ONLOGON`, `HIGHEST`,
|
||||
от имени текущего пользователя), которое **при входе в систему открывает видимую
|
||||
консоль** с `scripts\autostart-run.bat` — launcher, читающий `webvnc.conf`, ждущий
|
||||
`127.0.0.1:5900` до ~30 c и затем запускающий `web-vnc.exe` (не качает ничего на старте).
|
||||
Окно остаётся, пока web-vnc работает; при ошибке — пауза, чтобы было видно причину.
|
||||
Запуск от `SYSTEM`/`ONSTART` не используется: он в session 0 и окна не показывает.
|
||||
Запустить сразу без перезагрузки: `schtasks /Run /TN "web-vnc"`.
|
||||
Снять автостарт: `uninstall-autostart.bat` (от админа).
|
||||
|
||||
@@ -211,14 +214,14 @@ internal/server/static встроенные веб-ассеты (vnc.html +
|
||||
Пользовательские точки входа — в корне репозитория:
|
||||
run.bat интерактивный запуск: собирает бинарник/noVNC/VNC, читает пароль из webvnc.conf (не спрашивает)
|
||||
set-password.bat разовая настройка пароля -> webvnc.conf (хэш + VNC-пароль); синхронизирует UltraVNC
|
||||
install-autostart.bat автостарт при загрузке ОС (schtasks ONSTART/SYSTEM) — от админа
|
||||
install-autostart.bat автостарт при входе (schtasks ONLOGON/HIGHEST, видимая консоль) — от админа
|
||||
uninstall-autostart.bat снять автостарт — от админа
|
||||
restart-autostart.bat перезапустить задание «web-vnc» (чтобы применить новый пароль) — от админа
|
||||
open-firewall.bat открыть порт 8080 в Windows Firewall (один раз, от админа)
|
||||
webvnc.conf секрет: HASH= + VNC_PASSWORD= (создаётся set-password.bat, gitignored)
|
||||
|
||||
Внутренние помощники — в scripts/ (вызываются другими скриптами):
|
||||
scripts/autostart-run.bat неинтерактивный launcher для автостарта: читает webvnc.conf, ждёт 5900 до ~30 c, затем запускает web-vnc (без --spawn, если VNC уже слушает)
|
||||
scripts/autostart-run.bat launcher автостарта (видимая консоль): cd в корень репо, читает webvnc.conf, ждёт 5900 до ~30 c, запускает web-vnc (без --spawn, если VNC уже слушает); pause на ошибке
|
||||
scripts/ensure-vnc-password.ps1 синхронизирует VNC-пароль UltraVNC (вызывается из set-password.bat)
|
||||
scripts/get-novnc.{ps1,sh} скачать noVNC во встроенную статику
|
||||
scripts/get-vnc.ps1 скачать портативный VNC-сервер (UltraVNC) в папку vnc/
|
||||
|
||||
Reference in New Issue
Block a user