SPICE liess sich nicht wieder ausschalten

In set_display() stand die Sicherung "USB ohne SPICE ist wirkungslos, also
SPICE mit einschalten". Beim Ausschalten sind die Anschluesse aber noch da -
die Regel hat die Absage prompt ueberstimmt und SPICE wieder eingeschaltet.
Weil sich dadurch nichts aenderte, kam am Ende "War schon so eingestellt".

Die Regel gehoert nur ins Anlegen, wo --usb die Anzeige mit hochzieht. Beim
nachtraeglichen Umstellen ist "aus" die staerkere Aussage: die Anschluesse
fallen mit weg, mit Hinweis.

    einschalten        -> vga=qxl, usb0, usb1
    ausschalten        -> entfernt vga, usb0, usb1
    nochmal aus        -> nichts zu tun
    aus trotz usb=2    -> Hinweis, dann trotzdem aus

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
duffyduck
2026-08-09 11:15:33 +02:00
co-authored by Claude Opus 5
parent fb3be26c33
commit fee8bbbab2
2 changed files with 10 additions and 5 deletions
+9 -4
View File
@@ -1286,10 +1286,15 @@ def set_display(proxmox, instance, spice, usb, progress=None):
raise RecoveryError("SPICE und USB-Weiterleitung gibt es nur bei " raise RecoveryError("SPICE und USB-Weiterleitung gibt es nur bei "
"virtuellen Maschinen, nicht bei Containern.") "virtuellen Maschinen, nicht bei Containern.")
usb = max(0, min(14, int(usb or 0))) usb = max(0, min(14, int(usb or 0)))
if usb and not spice: if not spice:
spice = True # SPICE aus ist die staerkere Aussage. Die Anschluesse fallen mit weg -
step("SPICE wird mit eingeschaltet - ohne den Kanal waeren die " # ohne Kanal waeren sie ohnehin wirkungslos. (Beim Anlegen gilt die
"Anschluesse wirkungslos") # Regel andersherum: dort zieht --usb die Anzeige mit hoch, siehe
# plan(). Hier wuerde genau das die Absage ueberstimmen.)
if usb:
step("Die USB-Anschluesse fallen mit weg - ohne SPICE-Kanal "
"waeren sie wirkungslos")
usb = 0
config = proxmox.guest_config(instance.guest) config = proxmox.guest_config(instance.guest)
hat_spice = str(config.get("vga") or "").startswith("qxl") hat_spice = str(config.get("vga") or "").startswith("qxl")
+1 -1
View File
@@ -689,7 +689,7 @@ def _display(stdscr, proxmox, instance):
(False, "aus - nur noVNC im Browser")]) (False, "aus - nur noVNC im Browser")])
if ziel is None: if ziel is None:
return return
anzahl = usb anzahl = 0
if ziel: if ziel:
anzahl = choose(stdscr, "USB-Weiterleitung (jetzt: %d)" % usb, anzahl = choose(stdscr, "USB-Weiterleitung (jetzt: %d)" % usb,
[(0, "keine"), (1, "1 Anschluss"), (2, "2 Anschluesse"), [(0, "keine"), (1, "1 Anschluss"), (2, "2 Anschluesse"),