Skip to content

Instalacao

Raphael edited this page Oct 6, 2026 · 4 revisions

Instalação

English · Português (Brasil)

O Screen Diff Watcher roda em Windows (x64) e Linux Debian/Ubuntu (amd64, X11). Há duas formas de instalar: pelos binários (instaladores) ou pelo código-fonte.

Plataforma Formato Observações
Windows x64 screen-diff-watcher_<versão>_windows_x64_setup.exe (Inno Setup) requer admin (per-machine); Tesseract baixado automaticamente (opcional)
Linux Debian/Ubuntu amd64 screen-watch_<versão>_amd64.deb requer X11; Wayland não captura
macOS — sem instalador e não validado (o código tem caminhos básicos)

Opção 1 — binários

Os instaladores são publicados no GitHub Releases.

Windows

  1. Baixe e execute screen-diff-watcher_<versão>_windows_x64_setup.exe.
  2. O instalador é per-machine (instala em Program Files) e requer admin — por causa do Tesseract instalado por máquina. Cria atalho no Menu Iniciar e, opcionalmente (desmarcados), atalho na Área de Trabalho e início automático com o Windows.
  3. SmartScreen: como o .exe não é assinado, o Windows vai avisar — use "Mais informações" → "Executar assim mesmo". O antivírus pode fazer o mesmo. Assinatura de código está fora do escopo.
  4. Tesseract automático: se o Tesseract não estiver instalado, o instalador baixa o release fixado do UB-Mannheim, verifica o SHA256, instala em silêncio e garante o por.traineddata (o pacote já traz eng). Precisa de rede e admin; se o download/verificação falhar, ele avisa e continua — os modos light/default funcionam e o advanced acusa a falta com mensagem clara.
  5. Desinstalar remove só o app e preserva o Tesseract e os dados do usuário.

Linux (Debian/Ubuntu amd64)

sudo apt install ./screen-watch_<versão>_amd64.deb
  • Requer X11 (Wayland não é suportado na captura).

  • O .deb declara tesseract-ocr + tesseract-ocr-por e as libs Qt6/X11 como dependências; pulseaudio-utils/alsa-utils vêm como Recommends (players do caminho legado).

  • Comandos instalados: screen-watch (CLI) e screen-diff-watcher-gui (GUI, também no atalho de menu).

  • Autostart: o .deb não configura. Para iniciar com a sessão, crie ~/.config/autostart/screen-diff-watcher.desktop:

    [Desktop Entry]
    Type=Application
    Exec=screen-diff-watcher-gui
    X-GNOME-Autostart-enabled=true
  • Desinstalar preserva o Tesseract e o app-data.

Opção 2 — código-fonte

Requer Python 3.11+.

python -m venv .venv
.\.venv\Scripts\Activate.ps1          # Linux/macOS: source .venv/bin/activate
python -m pip install -e ".[dev]"     # núcleo + ferramentas de teste (ruff/pytest)

Extras opcionais:

Extra Para quê
pip install -e ".[input]" ações pseudo-humanas e hotkeys globais (pynput)
pip install -e ".[sound]" som via simpleaudio (sem wheel confiável no Python 3.13; opcional)
pip install -e ".[ocr-preproc]" experimentos de pré-processamento de OCR (opencv-python)
pip install -e ".[mqtt]" canal de alerta MQTT (paho-mqtt; não entra nos instaladores)
pip install -e ".[build]" gerar instaladores (pyinstaller)

Os canais ntfy e SMTP não precisam de extra (usam o httpx do núcleo e o smtplib da stdlib); só o MQTT exige o extra mqtt. As credenciais de todos os canais (Telegram, ntfy, SMTP, MQTT) vêm de variáveis de ambiente, nunca do YAML.

Depois:

python -m screen_watch --help
python -m screen_watch init-config    # cria o config.yaml v2 em app-data

Onde ficam config, seleções e logs (app-data)

Tudo fica em %APPDATA%\screen_watch no Windows (config.yaml, selections/, state.json, logs/). Para apontar para outro diretório, defina SCREEN_WATCH_HOME. Veja os caminhos efetivos:

python -m screen_watch show-paths

Python da Microsoft Store (MSIX): o Windows redireciona %APPDATA% para dentro do pacote, e o arquivo fica invisível para o Explorer/editor. Nesse caso o app passa a usar o caminho real (...\AppData\Local\Packages\<pacote>\LocalCache\Roaming\screen_watch).

Diagnóstico: features

screen-watch features           # versão/origem, app-data, nº de seleções, Tesseract, entrada, som, tray, monitores
screen-watch features --json    # saída JSON (usada no smoke do CI)

Degrada sem display (não quebra) e informa se o binário é bundle ou source. É o primeiro comando para diagnosticar um ambiente (ex.: Tesseract ausente, pynput indisponível).

Limitações dos instaladores

  • Wayland: a captura via mss não funciona; rode em X11. O app avisa e encerra o run.
  • Tray no GNOME: pode não aparecer sem extensão de tray; a janela continua funcional.
  • Som no Linux: o CLI/run usa o miniaudio empacotado (WAV/MP3/OGG/FLAC); a GUI depende dos plugins do GStreamer, e M4A/AAC no CLI precisa de um player externo (ffplay); senão cai no beep.
  • Arquitetura: apenas amd64/x86_64. ARM fora de escopo.

Clone this wiki locally