Dies ist eine alte Version des Dokuments!
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 |
