Files
PulseGate-GUI/README.md
T
Pepe44DEV 3f20bc392c
Build Windows / build (push) Has been cancelled
Windows-Support, Build-Skripte und Installer fuer PulseGate Desktop
- Python-App cross-platform: %APPDATA%-Konfiguration, Terminal-Erkennung
  (wt/cmd/powershell), Windows-kompatibler SSH-Start, Segoe-UI-Fonts
- App-Icon (ICO/PNG) mit Skript ohne externe Abhaengigkeiten
- PyInstaller-Build (build_windows.bat) und Inno-Setup-Installer
- Gitea-Actions-Workflow fuer automatischen Windows-Build
- requirements.txt, .gitignore, README aktualisiert; __pycache__ entfernt
2026-09-06 22:28:55 +00:00

3.5 KiB
Raw Blame History

PulseGate Desktop

PulseGate Desktop ist eine grafische Desktop-App zur Verwaltung von SSH-Servern. Die App nutzt eine YAML-Konfiguration, listet und verwaltet Server, zeigt SSH-Befehle an und startet Verbindungen im lokalen Terminal-Emulator.

Läuft nativ auf Linux und Windows. Für Windows liegt ein fertiger Installer-Build (PyInstaller + Inno Setup) bei.

Features

  • Desktop-UI ohne Browser
  • Serverliste mit Suche
  • Server hinzufügen, bearbeiten und löschen
  • SSH-Verbindung per Button starten
  • SSH-Befehl pro Server anzeigen
  • Terminal-Settings verwalten
  • Quick Commands anzeigen
  • Gemeinsame Konfiguration mit PulseGate TUI

Voraussetzungen

Linux

  • Python 3 mit tkinter
  • Python-Paket PyYAML
  • ssh
  • ein unterstützter Terminal-Emulator:
    • kitty, alacritty, konsole, gnome-terminal, xfce4-terminal oder xterm

Windows

  • Windows 10/11 (OpenSSH-Client ist standardmäßig integriert)
  • Optionale Terminal-Emulatoren (werden in dieser Reihenfolge erkannt):
    • wt (Windows Terminal)
    • cmd (Fallback, immer verfügbar)
    • powershell
  • Für den Installer-Build zusätzlich: Python 3 + Inno Setup 6

Start

Desktop-App starten:

./pulsegate-desktop

Direkt mit Python:

python3 desktop/pulsegate_desktop.py

Optional kann ein eigener Config-Pfad übergeben werden:

./pulsegate-desktop /pfad/zur/config.yaml

Konfiguration

Standardmäßig liest und schreibt PulseGate Desktop diese Datei:

  • Linux: ~/.config/pulsegate/config.yaml
  • Windows: %APPDATA%\pulsegate\config.yaml

Beispiel:

settings:
  theme: neon-green
  terminal:
    term: xterm-256color
    enable_kitty_fix: true

servers:
  - name: Unraid
    host: 10.0.0.15
    user: root
    port: 22
    group: Homelab
    auth: password
    key: ""
    password_id: unraid-root
    kitty_fix: true

quick_commands:
  - name: Disk Usage
    command: df -h

Windows-Build und Installer

Auf einem Windows-Rechner:

  1. Build der EXE (erzeugt dist\PulseGate.exe):

    build_windows.bat
    
  2. Installer kompilieren – Inno Setup 6 öffnen mit:

    installer\installer.iss
    

    oder per Kommandozeile:

    iscc installer\installer.iss
    

    Ergebnis: installer\output\PulseGate-Setup-1.0.0.exe

Alternativ wird bei einem Tag v* (z. B. git tag v1.0.0 && git push --tags) automatisch per Gitea Actions ein Windows-Build inklusive Installer erstellt.

Web-Variante

Im Projekt liegt zusätzlich eine optionale lokale Web-Variante:

go run ./cmd/pulsegate-gui

Danach öffnen: http://127.0.0.1:8090

Projektstruktur

.
├── cmd/pulsegate-gui/       # optionale Go-Webvariante
├── desktop/                 # Python/Tk Desktop-App (Linux + Windows)
├── installer/               # Inno Setup Installer-Skript
├── assets/                  # App-Icon
├── scripts/                 # Icon-Generierung
├── web/                     # optionale Web-Oberfläche
├── build_windows.bat        # Windows-EXE-Build (PyInstaller)
├── requirements.txt         # Laufzeit-Abhängigkeiten
├── requirements-build.txt   # Build-Abhängigkeiten
├── pulsegate-desktop        # Linux-Launcher
└── README.md

Entwicklung

Python-Syntax prüfen:

python3 -m py_compile desktop/pulsegate_desktop.py

Go-Code prüfen:

go test ./...

Hinweis

Die Desktop-App startet SSH in einem separaten lokalen Terminal-Fenster. Passwortabfragen und interaktive SSH-Sessions laufen dort direkt im Terminal.