ComfyUI su Fedora 43: Due Ambienti Virtuali + Avvio con un Clic (Marzo 2026)

ComfyUI su Fedora 43: Due Ambienti Virtuali + Avvio con un Clic (Marzo 2026)
Data: Marzo 2026
OS: Fedora 43
Obiettivo: Mantenere due venv Python (es. 3.12 + 3.14) per compatibilità, ma avviare ComfyUI automaticamente con una configurazione pulita e leggera.
Enterprise Delivery Operating System
Questa guida fa parte della serie Enterprise Delivery Operating System. Utilizza questi hub di categoria per navigare nell'intero stack (infra → workflow → governance).
ArchitetturaArchitettura di riferimento per l'Enterprise Delivery Operating System.
DevOps e RuntimeDeployment, servizi, porte, operazioni di runtime e ripetibilità.
Strumenti AI e AutomazioneStack AI locale, orchestrazione, automazione e workflow stabili.
Sicurezza e ConformitàPermessi, hardening e impostazioni predefinite sicure per i sistemi AI locali.
Osservabilità e PrestazioniOttimizzazione delle prestazioni, monitoraggio, budgeting VRAM/RAM e stabilità.
Perché mantenere due venv?
Gli strumenti AI si evolvono rapidamente. Alcuni nodi e wheel rimangono indietro rispetto alle versioni più recenti di Python, mentre altri le richiedono.
- venv Python 3.12 → “noioso ma compatibile” (TensorRT/LW wheels/Lightning sono spesso più stabili)
- venv Python 3.14 → funzionalità più recenti, ma sono comuni wheel mancanti o problemi di importazione
Regola: non mischiare mai le installazioni tra i venv. Esegui sempre ComfyUI dal venv desiderato.
Configurazione: Uno script per venv
Crea un piccolo script di avvio che:
1) entri nella cartella ComfyUI
2) attivi il venv scelto
3) esegua ComfyUI su localhost
1) Crea un launcher per il venv Python 3.12
mkdir -p ~/.local/bin
cat > ~/.local/bin/comfyui-start-312.sh <<'EOF'
#!/usr/bin/env bash
set -euo pipefail
cd /home/x/ai/ComfyUI
source /home/x/ai/ComfyUI/.venv312/bin/activate
exec python main.py --listen 127.0.0.1 --port 8188
EOF
chmod +x ~/.local/bin/comfyui-start-312.sh
2) (Opzionale) Crea un launcher per il venv Python 3.14
cat > ~/.local/bin/comfyui-start-314.sh <<'EOF'
#!/usr/bin/env bash
set -euo pipefail
cd /home/x/ai/ComfyUI
source /home/x/ai/ComfyUI/.venv/bin/activate
exec python main.py --listen 127.0.0.1 --port 8189
EOF
chmod +x ~/.local/bin/comfyui-start-314.sh
Ora puoi eseguire entrambe le versioni senza pensarci:
- ~/.local/bin/comfyui-start-312.sh
- ~/.local/bin/comfyui-start-314.sh
Avvio automatico: servizio utente systemd (opzione migliore)
Questo avvia ComfyUI al login, lo riavvia in caso di crash e rimane minimale (niente root, niente wrapper pesanti).
1) Crea il servizio utente per 3.12
mkdir -p ~/.config/systemd/user
cat > ~/.config/systemd/user/comfyui312.service <<'EOF'
[Unit]
Description=ComfyUI (Python 3.12 venv)
After=network.target
[Service]
Type=simple
WorkingDirectory=/home/x/ai/ComfyUI
ExecStart=/home/x/.local/bin/comfyui-start-312.sh
Restart=on-failure
RestartSec=2
Environment=PYTHONUNBUFFERED=1
[Install]
WantedBy=default.target
EOF
2) Abilita + avvia
systemctl --user daemon-reload
systemctl --user enable --now comfyui312.service
systemctl --user status comfyui312.service --no-pager
3) Log (debug)
journalctl --user -u comfyui312.service -f
(Se desideri anche il servizio 3.14, ripeti con comfyui314.service e l'altro script.)
GUI con un clic: Launcher desktop (apri ComfyUI nel browser)
Questo crea una voce di app nel tuo menu. Cliccandoci:
1) avvia il servizio
2) apre l'interfaccia nel tuo browser
mkdir -p ~/.local/share/applications
cat > ~/.local/share/applications/comfyui.desktop <<'EOF'
[Desktop Entry]
Type=Application
Name=ComfyUI (Local)
Comment=Start ComfyUI and open the UI
Exec=sh -lc 'systemctl --user start comfyui312.service; xdg-open http://127.0.0.1:8188'
Icon=utilities-terminal
Terminal=false
Categories=Graphics;AI;
EOF
Note per prevenire errori comuni
- Se vedi pip che installa in ~/.local/..., non sei nel venv corretto (o non lo hai attivato).
- Se un nodo fallisce con pkg_resources mancante → installa setuptools all'interno del venv scelto:source /home/x/ai/ComfyUI/.venv312/bin/activatepython -m pip install -U pip setuptools wheel
- I fallimenti dei nodi TensorRT sono normali sulle versioni più recenti di Python: se non ne hai bisogno, disabilita quella cartella di nodi personalizzati.
Prossime letture
Se vuoi approfondire, queste guide si collegano direttamente alla configurazione sopra:
Nodi ComfyUI: correzioni delle dipendenze (Lightning, pkg_resources, ffmpeg)Risolvi i comuni errori di importazione dei nodi e mantieni stabile il tuo stack ComfyUI durante gli aggiornamenti.
Due venv, due porte, zero confusioneEsegui più istanze di ComfyUI in modo pulito: porte, servizi e profili prevedibili.
Budgeting della VRAM: cosa riduce effettivamente l'OOMTattiche pratiche per la VRAM: modalità di attenzione, dimensioni dei modelli, batching e limiti reali.
Hardening dell'IA locale: permessi, sandboxing e impostazioni predefinite sicureRiduci i rischi sui sistemi IA locali: permessi dei file, isolamento dei servizi e impostazioni predefinite più sicure.
Compromessi (in breve)
servizio utente systemd
- ✅ stabile, riavvio automatico, basso overhead, pulito
- ⛔ richiede una configurazione iniziale una tantum
lanciatore desktop
- ✅ workflow con un solo clic
- ⛔ dipende ancora dall'interfaccia utente del browser
due venv
- ✅ il meglio di entrambi i mondi (compatibilità + ultime versioni)
- ⛔ è necessario mantenere separati porte/servizi per evitare confusione
Related Articles

Come installare PHP 8.3 su Ubuntu 22.04
Guida aggiornata all'installazione di PHP 8.3 su Ubuntu 22.04, inclusa l'integrazione con Apache e Nginx (PHP-FPM), le estensioni e l'esecuzione di più versioni di PHP affiancate.

How to Scan and Clean Your Cloud Linux Server from Malware
building-visualsfm-on-ubuntu-17-10-with-nvidia-cuda-support
Padroneggiare la riga di comando: una guida completa al comando Find
Sblocca tutto il potenziale del comando find di Linux. Questa guida copre la sintassi, esempi estesi e dettagli tecnici per una gestione efficiente dei file.

Rimuovi fonti di pacchetti APT duplicate: Guida per esperti per Ubuntu e Debian
Una guida dettagliata per l'identificazione e la rimozione di fonti ridondanti o duplicate di pacchetti APT in sistemi Debian e Ubuntu, per garantire stabilità e prestazioni.

Enterprise: Inizia qui: La tua porta d'accesso all'eccellenza operativa
Nuovo sulla nostra piattaforma enterprise? Questa guida fornisce un percorso di onboarding strutturato, dai modelli di riferimento fondamentali a playbook, runbook e assessment operativi progettati per un'implementazione fluida.

Quectel RM500U-EA nel ZBT Z8102AX: bande 5G, o2 Germania e comportamento del segnale nel mondo reale
Lo ZBT Z8102AX utilizza un modem Quectel RM500U-EA per la connettività 4G e 5G. Nel primo test pratico, il router si è connesso con successo a o2 Germany con la banda LTE 3 e NR n28. Il modem funziona, ma diagnostiche più approfondite come RSRP, RSRQ, SINR, il blocco delle bande e il comportamento delle celle richiedono ancora test adeguati.

Pacchetti Snap: Perché non sono all'altezza per strumenti avanzati come DBeaver
I pacchetti Snap introducono un sandboxing restrittivo che interrompe i flussi di lavoro avanzati. Questo articolo spiega perché DBeaver ha difficoltà con il tunneling SSH sotto Snap e perché Flatpak o i pacchetti nativi sono alternative migliori.

Convertire MOV in MP4 Con FFmpeg: Una Guida Semplice
Impara come convertire video MOV in MP4 usando FFmpeg con comandi affidabili, elaborazione batch e ottimizzazione della qualità per web, streaming e compatibilità multipiattaforma.

Ollama non è il prodotto: costruire applicazioni Open-LLM pronte per la produzione
Eseguire un modello locale con Ollama è facile. Costruire un'applicazione Open-LLM pronta per la produzione è più difficile: richiede RAG, controllo degli accessi, astrazione del provider, valutazione, logging, disciplina di deployment e un livello applicativo controllato attorno al modello.
PostgreSQL 14 Ubuntu Server 23.04
PostgreSQL 14 Ubuntu Server 23.04

Trascinamento e rilascio con JavaScript: Una analisi approfondita dell'API nativa per strutture di menu interattivi
L'implementazione della funzionalità di trascinamento e rilascio (drag and drop) è fondamentale per le moderne interfacce utente interattive. Questo articolo esamina la sua implementazione tecnica utilizzando l'API nativa HTML5 Drag-and-Drop in Vanilla JavaScript e TypeScript, con un focus sulla creazione di strutture di menu dinamiche.