- Cliente Windows com modo silencioso e auto-start robusto - Backend Node.js + API REST - Frontend Next.js + Dashboard - Scripts PowerShell de configuração e diagnóstico - Documentação completa - Build scripts para Windows e Linux - Solução de auto-start após reinicialização Resolução do problema: Cliente não voltava ativo após reboot Solução: Registro do Windows + Task Scheduler + Modo silencioso
6.2 KiB
6.2 KiB
🚀 Comandos Rápidos para Compilar NoIdle
📋 Escolha Seu Ambiente
🪟 Windows (Recomendado)
Método 1: Comando Simples (Rápido)
# Instalar dependências
pip install pyinstaller pywin32 psutil requests pystray pillow schedule
# Compilar
pyinstaller --onefile --windowed --name NoIdle CLIENTE_CORRIGIDO.py
# Resultado: dist\NoIdle.exe
Método 2: Script Automatizado (Recomendado)
# Executar script de build
.\BUILD_NOIDLE.ps1
# Com limpeza prévia
.\BUILD_NOIDLE.ps1 -Clean
# Com teste após build
.\BUILD_NOIDLE.ps1 -Test
# Com ícone personalizado
.\BUILD_NOIDLE.ps1 -Icon "noidle.ico"
🐧 Linux (Docker)
Método 1: Comando Docker Direto
# Usando imagem pronta
docker run --rm -v $(pwd):/src cdrx/pyinstaller-windows:python3 \
/bin/bash -c "pip install pywin32 psutil requests pystray pillow schedule && \
pyinstaller --onefile --windowed --name NoIdle CLIENTE_CORRIGIDO.py"
# Resultado: dist/NoIdle.exe
Método 2: Script Automatizado (Recomendado)
# Tornar executável (primeira vez)
chmod +x BUILD_LINUX.sh
# Executar
./BUILD_LINUX.sh
# Seguir as opções do menu
Método 3: Dockerfile Customizado
# Construir imagem
docker build -f Dockerfile.build -t noidle-builder .
# Compilar
docker run --rm -v $(pwd):/src noidle-builder
# Resultado: dist/NoIdle.exe
🧪 Testar o Executável
No Windows:
# Teste 1: Executar normalmente
.\dist\NoIdle.exe
# Teste 2: Modo silencioso
.\dist\NoIdle.exe --silent
# Teste 3: Verificar processo
Start-Process -FilePath ".\dist\NoIdle.exe" -ArgumentList "--silent" -WindowStyle Hidden
Start-Sleep -Seconds 3
Get-Process -Name "NoIdle"
# Teste 4: Verificar tamanho
Get-Item .\dist\NoIdle.exe | Select-Object Name, @{N='Size(MB)';E={[math]::Round($_.Length/1MB,2)}}, LastWriteTime
📦 Criar Pacote de Distribuição
Estrutura do Pacote:
NoIdle-v1.0/
├── NoIdle.exe
├── CONFIGURAR_AUTOSTART_NOIDLE.ps1
├── VERIFICAR_E_CORRIGIR_NOIDLE.ps1
├── GUIA_RAPIDO_AUTOSTART.md
├── LEIA_PRIMEIRO.md
└── README.txt
Windows (PowerShell):
# Criar diretório
New-Item -ItemType Directory -Path "NoIdle-Package" -Force
# Copiar arquivos
Copy-Item "dist\NoIdle.exe" -Destination "NoIdle-Package\"
Copy-Item "CONFIGURAR_AUTOSTART_NOIDLE.ps1" -Destination "NoIdle-Package\"
Copy-Item "VERIFICAR_E_CORRIGIR_NOIDLE.ps1" -Destination "NoIdle-Package\"
Copy-Item "GUIA_RAPIDO_AUTOSTART.md" -Destination "NoIdle-Package\"
Copy-Item "LEIA_PRIMEIRO.md" -Destination "NoIdle-Package\"
# Criar ZIP
Compress-Archive -Path "NoIdle-Package\*" -DestinationPath "NoIdle-v1.0.zip" -Force
# Limpar
Remove-Item -Path "NoIdle-Package" -Recurse -Force
Linux (Bash):
# Criar diretório
mkdir -p NoIdle-Package
# Copiar arquivos
cp dist/NoIdle.exe NoIdle-Package/
cp CONFIGURAR_AUTOSTART_NOIDLE.ps1 NoIdle-Package/
cp VERIFICAR_E_CORRIGIR_NOIDLE.ps1 NoIdle-Package/
cp GUIA_RAPIDO_AUTOSTART.md NoIdle-Package/
cp LEIA_PRIMEIRO.md NoIdle-Package/
# Criar ZIP
zip -r NoIdle-v1.0.zip NoIdle-Package/
# Limpar
rm -rf NoIdle-Package
🔧 Troubleshooting
Problema: "pip não encontrado"
# Windows
python -m pip install --upgrade pip
# Linux
sudo apt install python3-pip
Problema: "pyinstaller não encontrado"
# Instalar globalmente
pip install pyinstaller
# Ou executar como módulo
python -m PyInstaller --onefile --windowed --name NoIdle CLIENTE_CORRIGIDO.py
Problema: "ModuleNotFoundError"
# Reinstalar todas as dependências
pip install --force-reinstall pywin32 psutil requests pystray pillow schedule
Problema: "Executável não inicia"
# Compilar com console para ver erros
pyinstaller --onefile --console --name NoIdle-debug CLIENTE_CORRIGIDO.py
.\dist\NoIdle-debug.exe
Problema: "Docker não funciona"
# Verificar Docker
docker --version
# Testar Docker
docker run hello-world
# Dar permissões (se necessário)
sudo usermod -aG docker $USER
newgrp docker
⚡ Comandos Quick Reference
Build Rápido (Windows):
pip install pyinstaller pywin32 psutil requests pystray pillow schedule && pyinstaller --onefile --windowed --name NoIdle CLIENTE_CORRIGIDO.py
Build Rápido (Linux):
./BUILD_LINUX.sh
Testar Rápido:
.\dist\NoIdle.exe --silent
Get-Process -Name "NoIdle"
Limpar Tudo:
# Windows
Remove-Item -Path "build","dist" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item -Path "*.spec" -Force -ErrorAction SilentlyContinue
# Linux
rm -rf build dist *.spec
📊 Opções de PyInstaller
| Opção | Descrição |
|---|---|
--onefile |
Gera um único executável |
--windowed |
Sem janela de console (GUI) |
--console |
Com janela de console (debug) |
--name NoIdle |
Nome do executável |
--icon=icon.ico |
Adicionar ícone |
--upx-dir=C:\upx |
Comprimir com UPX |
--clean |
Limpar cache antes de compilar |
--debug all |
Modo debug completo |
🎯 Workflow Recomendado
1. Desenvolvimento (Windows):
# Testar código Python
python CLIENTE_CORRIGIDO.py
# Compilar
.\BUILD_NOIDLE.ps1 -Clean -Test
# Verificar resultado
.\dist\NoIdle.exe --silent
2. Produção (Linux):
# Compilar para Windows
./BUILD_LINUX.sh
# Criar pacote
# (escolher opção no menu do script)
# Distribuir
# NoIdle-v1.0.zip
3. Distribuição:
1. Testar em Windows limpo
2. Enviar para clientes
3. Fornecer scripts de configuração
4. Documentação: LEIA_PRIMEIRO.md
✅ Checklist de Build
Antes de distribuir:
- Código testado e funcionando
- Dependências instaladas
- Build concluído sem erros
- Executável testado em modo normal
- Executável testado em modo
--silent - Tamanho do arquivo OK (15-30 MB)
- Testado em Windows limpo (sem Python)
- Pacote de distribuição criado
- Documentação incluída
- Scripts PowerShell incluídos
🚀 TL;DR (Começar Agora)
Windows:
.\BUILD_NOIDLE.ps1
Linux:
./BUILD_LINUX.sh
Resultado: dist/NoIdle.exe pronto para usar! 🎉
Bom build! 🔨