Inhaltsverzeichnis

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