====== PipeWire Audio-Umschaltung unter GuideOS ====== Die Skripte schalten den Standard-Audioausgang per Klick zwischen Kopfhörer, Lautsprecher/Boxen und/oder Bluetooth-Headset um – über pactl direkt auf PipeWire-Ebene. ===== Voraussetzungen ===== GuideOS mit Cinnamon-Desktop läuft PipeWire ist aktiv: ''pactl info | grep "Server Name"'' → zeigt "PulseAudio (on PipeWire)" ''pactl'' ist verfügbar (Paket ''libpulse0'' vorhanden) ===== Schritt 1: Sink-IDs und Ports ermitteln ===== pactl list short sinks pactl list sinks | grep -E "(Sink #|Ports:|Active Port)" Beispiel-Ausgabe: ^ Sink-ID ^ Name ^ Active Port ^ Verfügbare Ports ^ | 72 | alsa_output.pci-... (Boxen) | analog-output-lineout | analog-output-lineout, analog-output-headphones | | 74 | alsa_output.usb-Logitech... (Kopfhörer) | analog-output | analog-output | | 95 | bluez_output... (Bluetooth) | headset-output | headset-output | ===== Schritt 2: Verzeichnis anlegen ===== mkdir -p ~/.local/bin Sicherstellen, dass ''~/.local/bin'' im PATH liegt: echo $PATH | grep ".local/bin" Falls nicht vorhanden, in ''~/.bashrc'' ergänzen: export PATH="$HOME/.local/bin:$PATH" source ~/.bashrc ===== Schritt 3: Skripte erstellen ===== ==== 3.1 Kopfhörer (01-Headphone.sh) ==== nano ~/.local/bin/01-Headphone.sh #!/bin/sh sink=74 port=analog-output pactl set-sink-port "$sink" "$port" pactl set-default-sink "$sink" ==== 3.2 Boxen (02-Box.sh) ==== nano ~/.local/bin/02-Box.sh #!/bin/sh sink=72 port=analog-output-lineout pactl set-sink-port "$sink" "$port" pactl set-default-sink "$sink" ==== 3.3 Bluetooth (03-Blue.sh) ==== nano ~/.local/bin/03-Blue.sh #!/bin/sh sink=$(pactl list short sinks | grep bluez | cut -f1) [ -z "$sink" ] && { echo "Kein Bluetooth-Gerät gefunden"; exit 1; } pactl set-sink-port "$sink" headset-output pactl set-default-sink "$sink" ===== Schritt 4: Skripte ausführbar machen ===== chmod +x ~/.local/bin/01-Headphone.sh chmod +x ~/.local/bin/02-Box.sh chmod +x ~/.local/bin/03-Blue.sh ===== Schritt 5: .desktop-Dateien erstellen ===== Für die Taskleisten-Integration braucht Cinnamon ''.desktop''-Dateien mit Icon und Befehl. ==== 5.1 Kopfhörer ==== nano ~/.local/share/applications/audio-headphone.desktop [Desktop Entry] Name=Kopfhörer Comment=Audio auf Kopfhörer umschalten Exec=/home/BENUTZERNAME/.local/bin/01-Headphone.sh Icon=audio-headphones Terminal=false Type=Application Categories=AudioVideo; ==== 5.2 Boxen ==== nano ~/.local/share/applications/audio-box.desktop [Desktop Entry] Name=Boxen Comment=Audio auf Boxen umschalten Exec=/home/BENUTZERNAME/.local/bin/02-Box.sh Icon=audio-speakers Terminal=false Type=Application Categories=AudioVideo; ==== 5.3 Bluetooth ==== nano ~/.local/share/applications/audio-bluetooth.desktop [Desktop Entry] Name=Bluetooth Audio Comment=Audio auf Bluetooth umschalten Exec=/home/BENUTZERNAME/.local/bin/03-Blue.sh Icon=audio-headset Terminal=false Type=Application Categories=AudioVideo; Hinweis: ''BENUTZERNAME'' durch deinen echten Linux-Benutzernamen ersetzen (''whoami''). ===== Schritt 6: Icons in Taskleiste einbinden ===== Rechtsklick auf die Taskleiste → "Applets" Applet "Leistenstarter" suchen → mit "+" aktivieren Rechtsklick auf den neuen Leistenstarter in der Taskleiste → "+ Hinzufügen" Im Dialog: Name: z.B. ''Kopfhörer'' Befehl: ''~/.local/bin/01-Headphone.sh'' Icon: Auf das Icon-Feld klicken → Suchbegriff ''audio-headphones'' eingeben Schritte für Boxen (''audio-speakers'') und Bluetooth (''audio-headset'') wiederholen ===== Schritt 7: Testen ===== Klick auf das Kopfhörer-Icon in der Taskleiste Prüfen: ''pactl get-default-sink'' (sollte Sink 74 zeigen) GUI-Kontrolle: ''pavucontrol'' → Tab "Ausgabegeräte" ===== Fehlerbehebung ===== ^ Problem ^ Lösung ^ | Skript startet nicht | ''chmod +x'' erneut ausführen | | Icon fehlt in Taskleiste | ''.desktop''-Datei nach ''~/.local/share/applications/'' kopieren, Cinnamon neu starten: ''cinnamon --replace &'' | | Sink-ID nicht gefunden | ''pactl list short sinks'' → IDs in Skripten anpassen | | Bluetooth kein Ton | Erst ''bluetoothctl connect MAC'', dann Skript ausführen |