# PulseGate Desktop PulseGate Desktop ist eine grafische Desktop-Variante des PulseGate SSH Managers. Die App verwaltet SSH-Server, nutzt dieselbe YAML-Konfiguration wie die bestehende TUI und startet Verbindungen in einem lokalen Terminal-Emulator. ## 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 Desktop-Umgebung - Python 3 mit `tkinter` - Python-Paket `PyYAML` - `ssh` - ein unterstützter Terminal-Emulator: - `kitty` - `alacritty` - `konsole` - `gnome-terminal` - `xfce4-terminal` - `xterm` Für die optionale Web-Variante wird zusätzlich Go benötigt. ## Start Desktop-App starten: ```bash cd /home/pascal/Projekte/PulseGate-GUI ./pulsegate-desktop ``` Optional kann ein eigener Config-Pfad übergeben werden: ```bash ./pulsegate-desktop /pfad/zur/config.yaml ``` ## Konfiguration Standardmäßig liest und schreibt PulseGate Desktop diese Datei: ```text ~/.config/pulsegate/config.yaml ``` Beispiel: ```yaml 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 ``` ## Web-Variante Im Projekt liegt zusätzlich noch eine einfache lokale Web-Variante: ```bash go run ./cmd/pulsegate-gui ``` Danach öffnen: ```text http://127.0.0.1:8090 ``` ## Projektstruktur ```text . ├── cmd/pulsegate-gui/ # optionaler Go-Webserver ├── desktop/ # Python/Tk Desktop-App ├── internal/config/ # Go-Konfigurationslogik ├── internal/models/ # Go-Datenmodelle ├── web/ # optionale Web-Oberfläche ├── go.mod ├── pulsegate-desktop # Launcher für die Desktop-App └── README.md ``` ## Entwicklung Python-Syntax prüfen: ```bash python3 -m py_compile desktop/pulsegate_desktop.py ``` Go-Code prüfen: ```bash go test ./... ``` ## Hinweis Die Desktop-App startet SSH in einem separaten lokalen Terminal-Fenster. Passwortabfragen und interaktive SSH-Sessions laufen dort direkt im Terminal.