Fork del software Proxmox VDI Client di Josh Patten per ottimizzare e migliorare il codice. Link originale: https://github.com/joshpatten/PVE-VDIClient/tree/main
  • Python 97.8%
  • Batchfile 1.6%
  • Shell 0.6%
Find a file
2026-09-08 09:26:05 +02:00
gui Modifica effettuata sui file per il problema della icon e del logo. 2026-09-04 09:24:06 +02:00
proxmox Indentazione stato 2026-09-08 09:26:05 +02:00
resources Modifica effettuata sui file per il problema della icon e del logo. 2026-09-04 09:24:06 +02:00
utils Modifica effettuata sui file per il problema della icon e del logo. 2026-09-04 09:24:06 +02:00
.gitignore primo commit 2026-06-10 10:31:39 +02:00
build.py Modifica effettuata sui file per il problema della icon e del logo. 2026-09-04 09:24:06 +02:00
build_vdiclient.bat Pulizia codice con Claude 2026-06-11 22:38:43 +02:00
config.py Modifica effettuata sui file per il problema della icon e del logo. 2026-09-04 09:24:06 +02:00
install-desktop.sh Pulizia codice con Claude 2026-06-11 22:38:43 +02:00
LICENSE Modifiche per errore Tkinter 2026-06-12 17:20:27 +02:00
main.py Modifica effettuata sui file per il problema della icon e del logo. 2026-09-04 09:24:06 +02:00
README.md Logo ed Icoa 2026-09-04 12:56:42 +02:00
requirements.txt Pulizia codice con Claude 2026-06-11 22:38:43 +02:00
vdi-client copy.desktop Logo e Icon 2026-09-04 09:29:13 +02:00
vdi-client3.desktop Logo e Icon 2026-09-04 09:29:13 +02:00
vdiclient.ini.example Modifica effettuata sui file per il problema della icon e del logo. 2026-09-04 09:24:06 +02:00
vdiclient.py Modifica effettuata sui file per il problema della icon e del logo. 2026-09-04 09:24:06 +02:00
vdiclient.sh Modifica effettuata sui file per il problema della icon e del logo. 2026-09-04 09:24:06 +02:00

PVE VDI Client 3

Fork ottimizzato del PVE-VDIClient di Josh Patten.

Client VDI leggero per Proxmox VE che permette agli utenti di connettersi (via SPICE) alle VM a cui hanno accesso, pensato per il deploy di massa.

Login Screen Login con OTP Lista VM


Struttura del progetto

vdi-client/
├── main.py                  ← Entry point
├── config.py                ← Configurazione globale (AppState G + load_config)
├── requirements.txt
│
├── gui/
│   ├── styles.py            ← Design tokens: colori, font, dimensioni, tema FSG
│   ├── components.py        ← Widget riutilizzabili (card VM, input, pulsanti…)
│   ├── layouts.py           ← Layout finestre login e lista VM
│   ├── windows.py           ← Logica finestre (loop eventi, login, VM window)
│   └── wizard.py            ← Config Wizard (primo avvio senza vdiclient.ini)
│
├── proxmox/
│   └── client.py            ← API Proxmox: auth, lista VM, azioni, SPICE
│
├── utils/
│   ├── helpers.py           ← Utilità sistema (tema, schermo, virt-viewer…)
│   └── popups.py            ← Popup riutilizzabili (attesa, messaggio, debug INI)
│
└── resources/
    ├── icon.png / icon.ico / icon.svg
    └── icons.py             ← Icone embedded (base64)

Requisiti di sistema

Sistema Prerequisiti
Linux (Debian/Ubuntu) apt install python3-pip python3-tk virt-viewer
Linux (Fedora/RHEL) dnf install python3-pip python3-tkinter virt-viewer
Windows virt-viewer + Python 3.12

Permessi Proxmox richiesti per ogni VM

  • VM.PowerMgmt
  • VM.Console
  • VM.Audit

Installazione

git clone <repo>
cd vdi-client
pip install -r requirements.txt
python main.py

Al primo avvio, se non viene trovato vdiclient.ini, si apre il Config Wizard per la configurazione guidata.


File di configurazione

Il client cerca vdiclient.ini nei seguenti percorsi (nell'ordine):

  • Linux: ~/.config/VDIClient/vdiclient.ini → /etc/vdiclient/vdiclient.ini
  • Windows: %APPDATA%\VDIClient\vdiclient.ini → %PROGRAMFILES%\VDIClient\vdiclient.ini

Vedi vdiclient.ini.example per tutte le opzioni disponibili.


Opzioni da riga di comando

python main.py [opzioni]

  --list_themes             Mostra tutti i temi disponibili (anteprima grafica)
  --config_type {file,http} Sorgente config (default: file)
  --config_location PATH    Percorso o URL del file di configurazione
  --config_username USER    Username per autenticazione HTTP
  --config_password PASS    Password per autenticazione HTTP
  --ignore_ssl              Ignora gli errori di certificato SSL

Build binario (Linux)

pip install pyinstaller
pyinstaller --onefile --noconsole --noconfirm \
  --hidden-import proxmoxer.backends \
  --hidden-import proxmoxer.backends.https \
  main.py
# Output: dist/main

Build MSI (Windows)

Installa WiX Toolset e usa build_vdiclient.bat.