====== 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 |