Erstelle ein PipeWire-Ausgabe-Umschaltskript, das den aktiven Audioausgang verschiebt.

Für eine einfache Audioumschaltung unter Debian verwenden Sie pactlden PulseAudio-kompatiblen Server von PipeWire. Das folgende Skript schaltet zwischen zwei benannten Ausgängen um, legt den neuen Standardausgang fest und verschiebt bereits geöffnete Wiedergabestreams. Ersetzen Sie die Beispielnamen der Ausgänge durch die exakten Namen auf Ihrem System.

1. Bestätigen Sie den PipeWire Pulse-Server und ermitteln Sie Ihre Ausgänge.

Die PipeWire- pipewire-pulseKomponente stellt einen PulseAudio-kompatiblen Server bereit, sodass Standardtools wie [Name des Tools einfügen] pactldessen Sinks (Audioausgänge) steuern können. Prüfen Sie, welchen Server Ihr Client erreicht, und listen Sie die verfügbaren Sinks auf:

pactl info | grep -E 'Server Name|Server Version'
pactl list short sinks

Für diese Vorgehensweise muss der Servername PipeWire enthalten. Die Sink-Liste enthält symbolische Namen wie z. B. „<Ausgangsname>“ alsa_output.pci-0000_00_1f.3.analog-stereo. Kopieren Sie zwei Namen exakt: einen für jeden Ausgang, zwischen dem Sie umschalten möchten. Diese Namen sind spezifisch für die angeschlossene Hardware und das Audioprofil. Kopieren Sie keine Namen aus dem Beispiel und verwenden Sie keinen numerischen Sink-Index, da dieser sich während einer Sitzung ändern kann.

Falls pactldie Datei fehlt, stellt Debian sie bereit pulseaudio-utils. Installieren Sie dieses Client-Paket nur bei Bedarf. Falls pactl infokeine Verbindung hergestellt werden kann oder ein anderer Audioserver gemeldet wird, überprüfen Sie zunächst, ob der PulseAudio-Ersatz von PipeWire in Ihrer Benutzersitzung ausgeführt wird. Installieren oder wechseln Sie Audioserver nicht ohne Weiteres.

Debian-Terminal mit Ausgabe von `pactl info`, die PipeWire identifiziert, und `pactl list short sinks with speaker and header names`
Kopieren Sie die exakten symbolischen Senkennamen aus der Live-Ausgabeliste, bevor Sie das Umschaltskript ausfüllen.

2. Erstellen Sie das Umschaltskript.

Erstellen Sie ein benutzerspezifisches Skriptverzeichnis und öffnen Sie eine neue Datei:

mkdir -p ~/.local/bin
nano ~/.local/bin/toggle-audio-output

Fügen Sie dieses Skript ein und ersetzen Sie die beiden Werte in SINK_Aund SINK_Bdurch die kopierten Namen:

#!/usr/bin/env bash
set -euo pipefail

SINK_A='alsa_output.pci-0000_00_1f.3.analog-stereo'
SINK_B='alsa_output.usb-Generic_Headset-00.analog-stereo'

command -v pactl >/dev/null || { echo "pactl is missing" >&2; exit 1; }
server_name=$(pactl info | sed -n 's/^Server Name: //p')
case "$server_name" in
  *PipeWire*) ;;
  *) echo "pactl is not connected to PipeWire's Pulse server" >&2; exit 1 ;;
esac

sinks=$(pactl list short sinks | awk '{print $2}')
for sink in "$SINK_A" "$SINK_B"; do
  if ! grep -Fqx -- "$sink" <<< "$sinks"; then
    printf 'Sink not found: %s\n' "$sink" >&2
    exit 1
  fi
done

current=$(pactl get-default-sink)
if [[ "$current" == "$SINK_A" ]]; then
  target=$SINK_B
else
  target=$SINK_A
fi

pactl set-default-sink "$target"
while IFS= read -r input_id; do
  [[ -n "$input_id" ]] || continue
  pactl move-sink-input "$input_id" "$target"
done < <(pactl list short sink-inputs | awk '{print $1}')
printf 'Default output: %s\n' "$target"

Das Skript prüft vor jeder Änderung, ob beide Ausgänge vorhanden sind. Es wählt den anderen konfigurierten Ausgang, wenn der aktuelle Standardausgang leer ist SINK_A; ist der aktuelle Standardausgang ein anderer, wird mit dem aktuellen Ausgang begonnen SINK_A. Der set-default-sinkBefehl wirkt sich auf neue Streams aus, während die Schleife die move-sink-inputAusgabe auch für bestehende Wiedergabestreams verwendet. Sollen nur zukünftige Anwendungen den neuen Standardausgang verwenden, entfernen Sie die whileSchleife; bereits laufende Streams bleiben unverändert. Führen Sie dieses Skript als derselbe angemeldete Desktop-Benutzer aus, dem die PipeWire-Sitzung gehört. Verwenden Sie nicht `pactl` sudo, da dies zu einer Verbindung über eine andere Benutzerlaufzeitumgebung führen und die Steuerung Ihres Desktop-Audios beeinträchtigen kann. Diese Vorgänge sind im Debian- Handbuch zu `pactl` dokumentiert .

Der Nano-Editor zeigt die beiden Senkenvariablen im Toggle-Audio-Output-Skript an.
Weisen Sie jeder Variablen einen der von pactl in dieser Debian-Sitzung gemeldeten Senkennamen zu.

3. Speichern, ausführen und den Schalter überprüfen.

Speichern Sie das Skript in Nano mit Ctrl+O, drücken Sie Enter, und beenden Sie dann mit Ctrl+X. Markieren Sie das Skript als ausführbar und führen Sie es aus:

chmod +x ~/.local/bin/toggle-audio-output
~/.local/bin/toggle-audio-output

Es sollte die neue Standard-Senke ausgeben. Überprüfen Sie die aktuelle Standard-Senke des Servers und alle aktiven Wiedergabestreams:

pactl get-default-sink
pactl list short sink-inputs

Führen Sie das Skript ein zweites Mal aus, um zurückzuwechseln. Um dies praktisch zu überprüfen, spielen Sie während des Umschaltens eine kurze Audiodatei ab und vergewissern Sie sich, dass diese vom ausgewählten Gerät stammt. Die genauen Gerätenamen und das Anzeigeverhalten hängen von der Hardware, dem Bluetooth-Verbindungsstatus und den aktiven Audioprofilen ab.

Debian-Terminal mit Anzeige des Skripts, das das USB-Headset als Standardausgabe auswählt
Das Skript meldet, welcher Name als Ausgabe zum neuen Standardwert geworden ist.
Terminalüberprüfung zeigt, dass pactl get-default-sink den Headset-Namen und einen Wiedergabestream zurückgibt.
Bestätigen Sie die Standardsenke und prüfen Sie, ob ein aktiver Datenstrom an den ausgewählten Ausgang weitergeleitet wird.

Wenn das Skript den Ton nicht umschaltet

  • „Senke nicht gefunden“: Führen Sie den Vorgang pactl list short sinkserneut aus. Möglicherweise wurde der Senkenname durch ein getrenntes Headset oder ein geändertes Profil geändert; aktualisieren Sie die entsprechende Variable.
  • Verbindung fehlgeschlagen: Überprüfen Sie, ob die PipeWire-Benutzerdienste ausgeführt werden und ob pactl infoder PipeWire-Pulse-Server identifiziert wurde. Das Debian -Paket pipewire-pulse stellt diesen Ersatzserver bereit, während pulseaudio-utilspactl den Client enthält .
  • Neue Audio-Streams werden verschoben, die aktuelle App jedoch nicht: Führen Sie das Skript erneut aus, solange der Stream sichtbar ist pactl list short sink-inputs. Einige Anwendungen öffnen Streams erneut oder behalten ihre eigene Geräteauswahl bei. Wählen Sie daher in dieser Anwendung „Standard“, wenn sie weiterhin an einen Ausgang gebunden ist.

Die Dokumentation zum PipeWire- Protokoll Pulse erklärt, warum PulseAudio-Befehlszeilenclients PipeWire steuern können, wenn PulseAudio pipewire-pulseder aktive Server ist. Dieses Skript nutzt diese Kompatibilitätsschicht; es konfiguriert keine Hardwareprofile und garantiert nicht die Verfügbarkeit eines getrennten Geräts.

Einen Kommentar hinterlassen

Erstelle ein PipeWire-Ausgabe-Umschaltskript, das den aktiven Audioausgang verschiebt.

Erstelle ein PipeWire-Ausgabe-Umschaltskript, das den aktiven Audioausgang verschiebt.

Mit einem pactl-Skript, das den Standard-Senken aktualisiert und bereits laufende Streams umleitet, kann man die Audioausgabe von Debian zwischen benannten PipeWire-Ausgängen umschalten.

Wiederherstellung des Mikrofoneingangs von Bluetooth-Headsets unter Ubuntu 24.04

Wiederherstellung des Mikrofoneingangs von Bluetooth-Headsets unter Ubuntu 24.04

Stellen Sie sicher, dass Ihr Bluetooth-Headset-Mikrofon funktioniert, indem Sie den richtigen Eingang auswählen, ein Freisprech-Audioprofil verwenden und die PipeWire-Route von Ubuntu überprüfen.

Behebung des Problems, dass Flatpak-Apps GTK-Themes in Ubuntu 24.04 nicht berücksichtigen

Behebung des Problems, dass Flatpak-Apps GTK-Themes in Ubuntu 24.04 nicht berücksichtigen

Erfahren Sie, warum Flatpak-Apps die GTK-Themes von Ubuntu 24.04 möglicherweise ignorieren, und befolgen Sie sichere Schritte, um Theme-Erweiterungen zu überprüfen, Flatpak-Apps zu aktualisieren und Portalprobleme zu diagnostizieren.

So installieren Sie Ubuntu 24.04 und Windows 11 im Dual-Boot-Modus mit aktiviertem BitLocker

So installieren Sie Ubuntu 24.04 und Windows 11 im Dual-Boot-Modus mit aktiviertem BitLocker

Installieren Sie Ubuntu 24.04 sicher neben Windows 11 mit BitLocker. Vergleichen Sie Pfade für separate und gemeinsam genutzte Laufwerke, Wiederherstellungsschlüssel, Partitionierung und Startvorgänge.

Wie man das Problem behebt, dass Nvidia-Treiber nach einem Kernel-Update unter Ubuntu nicht geladen werden

Wie man das Problem behebt, dass Nvidia-Treiber nach einem Kernel-Update unter Ubuntu nicht geladen werden

Beheben Sie NVIDIA-Treiberfehler nach einem Ubuntu-Kernel-Update. Überprüfen Sie DKMS und Secure Boot, erstellen Sie das entsprechende Modul neu, registrieren Sie einen MOK und verifizieren Sie die Fehlerbehebung.

How to Fix Ubuntu 24.04 Wi-Fi Disconnecting After Suspend

How to Fix Ubuntu 24.04 Wi-Fi Disconnecting After Suspend

Fix Ubuntu 24.04 Wi-Fi drops after suspend with checks for NetworkManager, radio blocks, updates, power saving, and drivers—then verify each resume.

Hohe CPU-Auslastung durch Tracker-Miner-3 unter Ubuntu GNOME beheben

Hohe CPU-Auslastung durch Tracker-Miner-3 unter Ubuntu GNOME beheben

Erfahren Sie, warum tracker-miner-fs-3 unter Ubuntu GNOME eine hohe CPU-Auslastung aufweist und wie Sie die Indizierung überprüfen, Ordner ausschließen, Ubuntu aktualisieren oder den Suchindex sicher neu erstellen können.

Behebung des Fehlers „Kein bootfähiges Gerät gefunden“ nach der Installation von Debian auf UEFI

Behebung des Fehlers „Kein bootfähiges Gerät gefunden“ nach der Installation von Debian auf UEFI

Den UEFI-Bootfehler von Debian beheben, indem man den Bootmodus, die EFI-Systempartition, die GRUB-Dateien und die Bootreihenfolge der Firmware überprüft – ohne Debian vorher neu installieren zu müssen.

Windows 11 update tastatur geht nicht mehr

Windows 11 update tastatur geht nicht mehr

Nach einem Windows 11 Update funktioniert die Tastatur nicht mehr? Hier erfahren Sie die schnelle Lösung für Windows 11 update tastatur geht nicht mehr mit konkreten Schritten.

Google Chrome funktioniert nicht

Google Chrome funktioniert nicht

Google Chrome funktioniert nicht? Hier erfahren Sie konkrete Lösungen, mit denen Sie den Browser innerhalb weniger Minuten wieder stabil nutzen können.