Virtuelle Workstation mit Proxmox und mehreren Screens via Wayland

Ja, Wayland macht die Sache etwas komplizierter, aber es gibt Lösungen, um virtuelle Multi-Monitor-Setups in einer Proxmox-VM mit Wayland (z. B. Kubuntu 24.04+) zu realisieren. Da Wayland kein xrandr unterstützt und klassische Remote-Tools (wie RDP oder x2go) oft noch auf X11 angewiesen sind, müssen wir Workarounds nutzen.


1. Wayland & virtuelle Monitore: Die Herausforderungen

Problem Erklärung
Kein xrandr Wayland verwaltet Monitore über Kompositoren (KWin, Mutter, Weston), nicht über X11-Tools.
Kein direkter Multi-Monitor-Support in SPICE/QXL Die standardmäßige SPICE-Grafikkarte in Proxmox/QEMU unterstützt Wayland nur eingeschränkt.
RDP/NoMachine/x2go oft X11-basiert Viele Remote-Tools setzen auf X11 und funktionieren nicht nativ mit Wayland.
Wayland-Sessions blockieren Remote-Zugriff Standardmäßig erlaubt Wayland keine Remote-Sessions (Sicherheitsfeature).

2. Lösungen für Wayland in Proxmox-VMs

🔹 Option 1: Wayland mit "virtuellen Monitoren" über KWin (KDE)

Funktionsweise

KDEs KWin (Wayland-Kompositor) erlaubt das Hinzufügen virtueller Monitore über Skripte oder manuelle Konfiguration.

Schritt-für-Schritt-Anleitung (Kubuntu 24.04+)

  1. VM erstellen (Kubuntu 24.04 mit Wayland)

    • Grafik: VirtIO-GPU (besser als SPICE für Wayland).
      # In /etc/pve/qemu-server/<VMID>.conf:
      vga: virtio
      
    • CPU/RAM: Mind. 4 Kerne, 8 GB RAM (Wayland braucht mehr Ressourcen als X11).
  2. KWin für virtuelle Monitore konfigurieren

    • Manuell über kwin_wayland:
      # Temporärer virtueller Monitor (rechts vom Hauptbildschirm)
      kwin_wayland --xwayland --width 3840 --height 1080
      
    • Permanent über Autostart:
      • Erstelle eine Datei ~/.config/autostart/kwin-virtual-monitor.desktop:
        [Desktop Entry]
        Name=KWin Virtual Monitor
        Exec=kwin_wayland --xwayland --width 3840 --height 1080
        Type=Application
        
    • Alternativ: wlr-randr (für wlroots-basierte Compositors)
      sudo apt install wlr-randr
      wlr-randr --output Virtual1 --mode 1920x1080 --right-of DP-1
      
  3. Remote-Zugriff einrichten (NoMachine oder RDP über XWayland)

    • NoMachine funktioniert mit XWayland (X11-Kompatibilitätsschicht in Wayland).
      • Installiere NoMachine wie gehabt, aber starte die Session im XWayland-Modus.
    • RDP (xrdp) mit XWayland:
      sudo apt install xrdp
      sudo systemctl enable --now xrdp
      
      • Problem: Standardmäßig startet xrdp eine X11-Session, nicht Wayland.
      • Lösung: Manuell Wayland-Session erzwingen (experimentell):
        # /etc/xrdp/startwm.sh anpassen:
        export XDG_SESSION_TYPE=wayland
        export QT_QPA_PLATFORM=wayland
        exec dbus-run-session -- startplasma-wayland
        

🔹 Option 2: Wayland mit SPICE + spice-vdagent (begrenzt)

Funktionsweise

Einrichtung

  1. SPICE-Treiber installieren:
    sudo apt install spice-vdagent spice-webdavd
    
  2. VM-Konfiguration anpassen (/etc/pve/qemu-server/<VMID>.conf):
    args: -device virtio-gpu-pci -display spice,gl=on
    
  3. Manuell "Fake-Multi-Monitor" einrichten:
    • Setze die Auflösung auf 3840x1080 (2x 1920x1080 nebeneinander).
    • Nutze KWin-Skripting, um den Desktop in zwei Hälften zu teilen:
      kwriteconfig5 --file kwinrc --group Windows --key BorderlessMaximizedWindows true
      
    • Nachteil: Keine echte Multi-Monitor-Unterstützung (nur ein großer Bildschirm).

🔹 Option 3: Wayland mit NoMachine (beste Lösung für Remote)

Funktionsweise

Einrichtung

  1. NoMachine installieren:
    wget https://download.nomachine.com/download/8.6/Linux/nomachine_8.6.1_1_amd64.deb
    sudo dpkg -i nomachine_*.deb
    
  2. Wayland-Session erzwingen:
    • Bearbeite /usr/NX/etc/node.cfg:
      EnableWaylandSupport 1
      
  3. Neu starten & verbinden:
    • NoMachine-Client → Wayland-Session auswählen.
    • 2 Monitore in den Einstellungen aktivieren.

🔹 Option 4: XWayland als Fallback (einfachste Lösung)

Funktionsweise

Einrichtung

  1. XWayland aktivieren (standardmäßig aktiv in Kubuntu).
  2. Virtuelle Monitore mit xrandr hinzufügen (auch in Wayland!):
    xrandr --output Virtual1 --mode 1920x1080 --right-of eDP1
    
  3. Remote-Tools nutzen (RDP, NoMachine, x2go) über XWayland.

3. Remote-Zugriff für Wayland (Sicher & Performant)

Methode Wayland-Unterstützung Multi-Monitor Sicherheit Empfehlung
NoMachine (Wayland-Modus) ✅ (seit v8) ⭐⭐⭐⭐ Beste Wahl
RDP (xrdp + XWayland) ⚠ (X11-Fallback) ⭐⭐⭐ Gut für Windows-Clients
SPICE + VirtIO-GPU ⚠ (kein echter Multi-Monitor) ⭐⭐⭐⭐ Nur für Single-Monitor
VNC (TigerVNC) ❌ (nur X11) ⭐⭐ Nicht ideal
WireGuard + NoMachine ⭐⭐⭐⭐⭐ Sicherste Lösung

4. Schritt-für-Schritt: Kubuntu 24.04 in Proxmox mit Wayland & 2 Monitoren

🔧 Vorbereitung (Proxmox-Host)

  1. VM erstellen:

    • OS: Kubuntu 24.04 ISO.
    • Grafik: VirtIO-GPU (nicht SPICE!).
      # In /etc/pve/qemu-server/<VMID>.conf:
      vga: virtio
      
    • CPU: 4 Kerne, RAM: 8 GB.
  2. VirtIO-Treiber installieren (für bessere Performance):

    sudo apt install virtio-driver
    

🔧 Einrichtung in der VM (Kubuntu 24.04)

  1. Wayland-Session starten (standardmäßig in Kubuntu 24.04).

  2. Virtuelle Monitore hinzufügen (über KWin):

    # Temporärer Test:
    kwin_wayland --xwayland --width 3840 --height 1080
    
    • Permanent:
      • Erstelle ein KWin-Skript (~/.config/kwinrc):
        [ScreenEdges]
        BorderlessMaximizedWindows=true
        
      • Autostart-Skript für virtuelle Monitore:
        echo 'kwin_wayland --xwayland --width 3840 --height 1080' >> ~/.config/autostart/kwin-virtual.sh
        chmod +x ~/.config/autostart/kwin-virtual.sh
        
  3. NoMachine für Remote-Zugriff installieren:

    wget https://download.nomachine.com/download/8.6/Linux/nomachine_8.6.1_1_amd64.deb
    sudo dpkg -i nomachine_*.deb
    sudo systemctl enable --now nxserver
    
    • Konfiguration für Wayland:
      sudo sed -i 's/EnableWaylandSupport 0/EnableWaylandSupport 1/' /usr/NX/etc/node.cfg
      sudo systemctl restart nxserver
      
  4. Firewall (UFW) anpassen:

    sudo ufw allow 4000/tcp comment "NoMachine"
    

🔧 Verbindung von außen (Client)

  1. NoMachine-Client installieren (Download).
  2. Verbindung herstellen:
    • Server: DEIN_SERVER_IP:4000
    • Session-Typ: "Wayland" auswählen.
    • 2 Monitore aktivieren in den Einstellungen.

5. Sicherheitsoptimierung (wichtig für Internet-Zugriff!)

🔐 Option A: WireGuard-VPN (empfohlen)


🔐 Option B: Reverse-Proxy mit Authelia (für direkte Exposition)


6. Performance-Tipps für Wayland in Proxmox

Problem Lösung
Laggy Grafik Nutze VirtIO-GPU statt SPICE.
Keine Hardware-Beschleunigung Aktiviere OpenGL in NoMachine: sudo nxserver --enable-opengl
Wayland-Session crasht Starte mit XWayland-Fallback: export XDG_SESSION_TYPE=x11
Keine virtuellen Monitore Nutze KWin-Skripting oder wlr-randr.
Hohe CPU-Last Reduziere die Auflösung (z. B. 1920x1080 statt 4K).

7. Fazit: Wayland in Proxmox mit Multi-Monitor

Methode Funktionsweise Vorteile Nachteile
NoMachine (Wayland-Modus) Echte Wayland-Session mit Multi-Monitor ✅ Beste Performance, ✅ Echte Wayland-Unterstützung ⚠ Noch experimentell
XWayland + xrandr Wayland mit X11-Kompatibilität ✅ Einfach, ✅ Stabil ❌ Kein "echtes" Wayland
KWin-Skripting Virtuelle Monitore über KWin ✅ Nativ in Wayland ⚠ Manuelle Konfiguration nötig
SPICE + VirtIO-GPU Emulierte Grafik ✅ Einfach ❌ Kein echter Multi-Monitor

🔹 Empfohlene Lösung für dein Setup

  1. Kubuntu 24.04-VM mit VirtIO-GPU.
  2. NoMachine in Wayland-Modus (Port 4000).
  3. WireGuard-VPN für sicheren Zugriff.
  4. KWin-Skript für virtuelle Monitore (falls NoMachine nicht reicht).

🔹 Alternative: Bei X11 bleiben (bis Wayland stabiler ist)

Falls Wayland zu viele Probleme macht:

# X11 erzwingen (in Kubuntu 24.04)
echo "exec startplasma-x11" > ~/.xsession

8. Zusammenfassung: Was du tun musst

Schritt Aktion
VM erstellen Kubuntu 24.04 mit VirtIO-GPU.
Wayland aktivieren Standard in Kubuntu 24.04.
Virtuelle Monitore einrichten kwin_wayland oder xrandr (XWayland).
NoMachine installieren Mit EnableWaylandSupport 1.
Firewall anpassen sudo ufw allow 4000/tcp.
Sicherheit erhöhen WireGuard-VPN oder Reverse-Proxy.
Testen Verbindung mit NoMachine-Client (Wayland-Modus).

Fragen?


Revision #1
Created 21 September 2025 06:54:35 by Stefan Mechler
Updated 21 September 2025 06:56:17 by Stefan Mechler