Files
aria.hacker 47db668ccc feat: Installer mit automatischer VirtViewer-Abhängigkeit
- Windows NSIS: lädt VirtViewer MSI herunter und installiert es
  während der App-Installation (via PowerShell + msiexec)
- Linux .deb: Depends: virt-viewer — apt zieht es automatisch rein
- Linux AppImage: Startup-Check mit pkexec-Dialog falls virt-viewer fehlt
- BUILD.md aktualisiert: Installer-Verhalten dokumentiert
2026-07-03 02:56:23 +02:00

3.3 KiB
Raw Permalink Blame History

Build — Proxmox SPICE Client

Voraussetzungen

node >= 18
npm >= 9

Für Linux-Builds auf Linux-Host. Windows-Builds entweder nativ auf Windows oder via Wine (cross-build eingeschränkt — nativ empfohlen).


Entwicklung (ohne Build)

npm install
npm start

Produktions-Build

Linux — AppImage + .deb

npm run build:linux
# Output:
#   dist/Proxmox SPICE Client-1.0.0.AppImage   ← portable, kein Install nötig
#   dist/proxmox-spice-client_1.0.0_amd64.deb  ← Paket für apt

Abhängigkeiten:

  • AppImage: Selbst-enthalten (Electron inklusive). Beim ersten Start wird geprüft ob virt-viewer installiert ist. Falls nicht: Dialog mit automatischer Installation via pkexec apt install virt-viewer.
  • .deb: Deklariert virt-viewer als Depends — apt installiert es automatisch mit:
    sudo apt install ./proxmox-spice-client_1.0.0_amd64.deb
    

Windows — Setup.exe (NSIS)

# Am besten nativ auf Windows bauen:
npm run build:win
# Output:
#   dist/Proxmox SPICE Client Setup 1.0.0.exe

Abhängigkeiten: Der NSIS-Installer prüft automatisch ob VirtViewer installiert ist. Falls nicht:

  1. Fragt den Benutzer ob VirtViewer jetzt installiert werden soll
  2. Lädt das MSI-Paket von virt-manager.org herunter (~30 MB, benötigt Internet)
  3. Installiert VirtViewer still im Hintergrund

Kein manueller Schritt nötig — der Installer kümmert sich um alles.

Beides auf einmal

npm run build:linux && npm run build:win

Icons

Dateien in assets/ müssen vor dem Build vorhanden sein:

Datei Größe Verwendung
assets/icon.png mind. 512×512 Linux AppImage + deb
assets/icon.ico multi-size Windows NSIS Installer
assets/icon.icns multi-size macOS (optional)

PNG → ICO konvertieren (Linux):

sudo apt install imagemagick
convert assets/icon.png -resize 256x256 assets/icon.ico

Verzeichnisstruktur

proxmox-spice-client/
├── src/
│   ├── main.js          # Electron-Hauptprozess
│   ├── preload.js       # Context-Bridge
│   ├── proxmox.js       # Proxmox REST API Client
│   └── renderer/
│       ├── login.html
│       ├── login.js
│       ├── vms.html
│       ├── vms.js
│       └── styles.css
├── assets/
│   ├── icon.png         # Quell-Icon (mind. 512×512)
│   ├── icon.ico         # Windows
│   └── icon.icns        # macOS (optional)
├── build/
│   └── installer.nsh    # Benutzerdefiniertes NSIS-Script (VirtViewer-Install)
├── daten/               # persistente Einstellungen (Docker-Mount)
├── Dockerfile
├── docker-compose.yml
├── .env.example
├── package.json
└── BUILD.md

Hinweise

  • npm run build:win auf Linux erfordert Wine (sudo apt install wine) für den cross-build. Nativ auf Windows ist stabiler.
  • Der NSIS-Installer lädt VirtViewer zur Installationszeit herunter (benötigt Internetverbindung). Wer offline-fähig sein will: VirtViewer-MSI vorher separat verteilen und manuell installieren.
  • USB-Redirect, Vollbild (Shift+F11), Multi-Monitor: alles via VirtViewer nativ — kein Extra-Setup.