2.4 KiB
2.4 KiB
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:
kittyalacrittykonsolegnome-terminalxfce4-terminalxterm
Für die optionale Web-Variante wird zusätzlich Go benötigt.
Start
Desktop-App starten:
cd /home/pascal/Projekte/PulseGate-GUI
./pulsegate-desktop
Optional kann ein eigener Config-Pfad übergeben werden:
./pulsegate-desktop /pfad/zur/config.yaml
Konfiguration
Standardmäßig liest und schreibt PulseGate Desktop diese Datei:
~/.config/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
Web-Variante
Im Projekt liegt zusätzlich noch eine einfache lokale Web-Variante:
go run ./cmd/pulsegate-gui
Danach öffnen:
http://127.0.0.1:8090
Projektstruktur
.
├── 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:
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.