Windows-Support, Build-Skripte und Installer fuer PulseGate Desktop
Build Windows / build (push) Has been cancelled
Build Windows / build (push) Has been cancelled
- 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
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
# 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.
|
||||
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
|
||||
|
||||
@@ -15,29 +17,35 @@ PulseGate Desktop ist eine grafische Desktop-Variante des PulseGate SSH Managers
|
||||
|
||||
## Voraussetzungen
|
||||
|
||||
- Linux Desktop-Umgebung
|
||||
### Linux
|
||||
- Python 3 mit `tkinter`
|
||||
- Python-Paket `PyYAML`
|
||||
- `ssh`
|
||||
- ein unterstützter Terminal-Emulator:
|
||||
- `kitty`
|
||||
- `alacritty`
|
||||
- `konsole`
|
||||
- `gnome-terminal`
|
||||
- `xfce4-terminal`
|
||||
- `xterm`
|
||||
- `kitty`, `alacritty`, `konsole`, `gnome-terminal`, `xfce4-terminal` oder `xterm`
|
||||
|
||||
Für die optionale Web-Variante wird zusätzlich Go benötigt.
|
||||
### 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:
|
||||
|
||||
```bash
|
||||
cd /home/pascal/Projekte/PulseGate-GUI
|
||||
./pulsegate-desktop
|
||||
```
|
||||
|
||||
Direkt mit Python:
|
||||
|
||||
```bash
|
||||
python3 desktop/pulsegate_desktop.py
|
||||
```
|
||||
|
||||
Optional kann ein eigener Config-Pfad übergeben werden:
|
||||
|
||||
```bash
|
||||
@@ -48,9 +56,8 @@ Optional kann ein eigener Config-Pfad übergeben werden:
|
||||
|
||||
Standardmäßig liest und schreibt PulseGate Desktop diese Datei:
|
||||
|
||||
```text
|
||||
~/.config/pulsegate/config.yaml
|
||||
```
|
||||
- Linux: `~/.config/pulsegate/config.yaml`
|
||||
- Windows: `%APPDATA%\pulsegate\config.yaml`
|
||||
|
||||
Beispiel:
|
||||
|
||||
@@ -77,31 +84,56 @@ quick_commands:
|
||||
command: df -h
|
||||
```
|
||||
|
||||
## Windows-Build und Installer
|
||||
|
||||
Auf einem Windows-Rechner:
|
||||
|
||||
1. Build der EXE (erzeugt `dist\PulseGate.exe`):
|
||||
|
||||
```bat
|
||||
build_windows.bat
|
||||
```
|
||||
|
||||
2. Installer kompilieren – Inno Setup 6 öffnen mit:
|
||||
|
||||
```text
|
||||
installer\installer.iss
|
||||
```
|
||||
|
||||
oder per Kommandozeile:
|
||||
|
||||
```bat
|
||||
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 noch eine einfache lokale Web-Variante:
|
||||
Im Projekt liegt zusätzlich eine optionale lokale Web-Variante:
|
||||
|
||||
```bash
|
||||
go run ./cmd/pulsegate-gui
|
||||
```
|
||||
|
||||
Danach öffnen:
|
||||
|
||||
```text
|
||||
http://127.0.0.1:8090
|
||||
```
|
||||
Danach öffnen: `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
|
||||
├── 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
|
||||
├── go.mod
|
||||
├── pulsegate-desktop # Launcher für die Desktop-App
|
||||
├── build_windows.bat # Windows-EXE-Build (PyInstaller)
|
||||
├── requirements.txt # Laufzeit-Abhängigkeiten
|
||||
├── requirements-build.txt # Build-Abhängigkeiten
|
||||
├── pulsegate-desktop # Linux-Launcher
|
||||
└── README.md
|
||||
```
|
||||
|
||||
@@ -121,4 +153,4 @@ go test ./...
|
||||
|
||||
## Hinweis
|
||||
|
||||
Die Desktop-App startet SSH in einem separaten lokalen Terminal-Fenster. Passwortabfragen und interaktive SSH-Sessions laufen dort direkt im Terminal.
|
||||
Die Desktop-App startet SSH in einem separaten lokalen Terminal-Fenster. Passwortabfragen und interaktive SSH-Sessions laufen dort direkt im Terminal.
|
||||
Reference in New Issue
Block a user