Crea uno script PipeWire per attivare/disattivare l'uscita audio e spostare l'audio attivo.

Per un semplice interruttore audio su Debian, utilizzare pactlil server compatibile con PulseAudio di PipeWire. Lo script seguente commuta tra due uscite audio denominate, imposta la nuova predefinita e sposta i flussi di riproduzione già aperti. Sostituire i nomi dei file di output con i nomi esatti visualizzati sul proprio sistema.

1. Conferma il server PipeWire Pulse e trova i tuoi output

Il componente di PipeWire pipewire-pulsefornisce un server compatibile con PulseAudio, quindi strumenti standard come pactlpossono controllarne i sink (uscite audio). Verifica a quale server si connette il tuo client ed elenca i sink disponibili:

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

Per questa procedura, il nome del server deve includere PipeWire. L'elenco dei sink contiene nomi simbolici come alsa_output.pci-0000_00_1f.3.analog-stereo. Copia esattamente due nomi: uno per ogni uscita tra cui desideri alternare. Questi nomi sono specifici dell'hardware connesso e del profilo audio; non copiare i nomi dall'esempio né utilizzare un indice di sink numerico, che può cambiare durante una sessione.

Se pactlmanca, Debian lo fornisce in pulseaudio-utils. Installa quel pacchetto client solo se necessario. Se pactl infonon riesci a connetterti o segnala un server audio diverso, verifica prima che il sostituto di PulseAudio di PipeWire sia in esecuzione nella tua sessione utente; non installare o cambiare server audio alla cieca.

Terminale Debian che mostra le informazioni di pactl che identificano PipeWire e pactl elenca i sink brevi con i nomi degli altoparlanti e delle cuffie
Copia i nomi simbolici esatti dei sink dall'elenco di output live prima di compilare lo script di attivazione/disattivazione.

2. Crea lo script di attivazione/disattivazione

Crea una directory per gli script di ciascun utente e apri un nuovo file:

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

Incolla questo script, sostituendo entrambi i valori in SINK_Ae SINK_Bcon i nomi che hai copiato:

#!/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"

Lo script verifica che entrambe le uscite siano presenti prima di apportare qualsiasi modifica. Sceglie l'altra uscita configurata quando quella predefinita corrente è SINK_A; se quella predefinita corrente è un altro sink, inizia con SINK_A. Il set-default-sinkcomando influisce sui nuovi stream, mentre il ciclo utilizza move-sink-inputper instradare anche gli stream di riproduzione esistenti. Se si desidera che solo le app future utilizzino la nuova impostazione predefinita, rimuovere il whileciclo; gli stream già in riproduzione rimarranno nella posizione in cui si trovano. Eseguire questo script come lo stesso utente desktop connesso che possiede la sessione PipeWire. Non utilizzare , che può connettersi tramite un runtime utente diverso e non riuscire a controllare l'audio del desktop. Queste operazioni sono documentate nel manuale pactlsudo di Debian .

Nano editor che mostra le due variabili di sink nello script toggle-audio-output
Imposta ciascuna variabile su uno dei nomi di sink segnalati da pactl in questa sessione Debian.

3. Salva, esegui e verifica l'interruttore

Salva in Nano con Ctrl+O, premi Enter, quindi esci con Ctrl+X. Rendi lo script eseguibile ed eseguilo:

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

Dovrebbe stampare il nuovo sink predefinito. Controlla il sink predefinito corrente del server e gli eventuali stream di riproduzione attivi:

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

Esegui lo script una seconda volta per tornare al dispositivo precedente. Per una verifica pratica, riproduci un breve campione audio durante il passaggio e conferma che provenga dal dispositivo selezionato. I nomi esatti dei dispositivi e il comportamento di visualizzazione variano in base all'hardware, allo stato della connessione Bluetooth e ai profili audio attivi.

Terminale Debian che mostra lo script di attivazione/disattivazione per selezionare le cuffie USB come output predefinito
Lo script segnala quale output denominato è diventato il nuovo predefinito.
Verifica del terminale che mostra pactl get-default-sink che restituisce il nome dell'auricolare e un flusso di riproduzione elencato
Conferma il sink predefinito e verifica che un flusso attivo sia instradato all'output selezionato.

Quando la sceneggiatura non cambia l'audio

  • "Sink non trovato": eseguire pactl list short sinksnuovamente l'operazione. La disconnessione delle cuffie o la modifica del profilo potrebbero aver alterato il nome del sink; aggiornare la variabile corrispondente.
  • Impossibile connettersi: verificare che i servizi utente di PipeWire siano in esecuzione e che identifichino il server PipeWire Pulse. Il pacchetto pipewire-pulsepactl info di Debian fornisce questo server sostitutivo, mentre pulseaudio-utils include il client.pactl
  • Il nuovo flusso audio si sposta ma l'app corrente no: esegui nuovamente lo script mentre il flusso è visibile in pactl list short sink-inputs. Alcune applicazioni riaprono i flussi o mantengono la propria selezione del dispositivo, quindi scegli "Predefinito" in quell'applicazione se rimane bloccata su un output.

La documentazione di Protocol Pulse di PipeWire spiega perché i client da riga di comando di PulseAudio possono controllare PipeWire quando quest'ultimo pipewire-pulseè il server attivo. Questo script utilizza tale livello di compatibilità; non configura profili hardware né garantisce la disponibilità di un dispositivo disconnesso.

Lascia un commento

Crea uno script PipeWire per attivare/disattivare l'uscita audio e spostare l'audio attivo.

Crea uno script PipeWire per attivare/disattivare l'uscita audio e spostare l'audio attivo.

Consente di commutare l'audio Debian tra le uscite PipeWire denominate tramite uno script pactl che aggiorna il sink predefinito e reindirizza i flussi già in riproduzione.

Ripristinare l'ingresso del microfono delle cuffie Bluetooth su Ubuntu 24.04

Ripristinare l'ingresso del microfono delle cuffie Bluetooth su Ubuntu 24.04

Per far funzionare il microfono delle tue cuffie Bluetooth, seleziona l'ingresso corretto, utilizza un profilo audio vivavoce e controlla il percorso PipeWire di Ubuntu.

Risolvere il problema delle app Flatpak che non rispettano i temi GTK in Ubuntu 24.04

Risolvere il problema delle app Flatpak che non rispettano i temi GTK in Ubuntu 24.04

Scopri perché le app Flatpak potrebbero ignorare i temi GTK di Ubuntu 24.04 e segui i passaggi sicuri per verificare le estensioni dei temi, aggiornare le app Flatpak e diagnosticare i problemi del portale.

Come installare Ubuntu 24.04 e Windows 11 in dual boot con BitLocker abilitato

Come installare Ubuntu 24.04 e Windows 11 in dual boot con BitLocker abilitato

Installa Ubuntu 24.04 in parallelo a Windows 11 con BitLocker in tutta sicurezza. Confronta i percorsi delle unità separate e condivise, le chiavi di ripristino, il partizionamento e i controlli di avvio.

Come risolvere il problema del mancato caricamento dei driver Nvidia dopo un aggiornamento del kernel su Ubuntu

Come risolvere il problema del mancato caricamento dei driver Nvidia dopo un aggiornamento del kernel su Ubuntu

Diagnosticare gli errori dei driver NVIDIA dopo un aggiornamento del kernel di Ubuntu. Verificare DKMS e Secure Boot, ricompilare il modulo corrispondente, registrare un MOK e verificare la correzione.

Come risolvere il problema della disconnessione Wi-Fi dopo la sospensione su Ubuntu 24.04

Come risolvere il problema della disconnessione Wi-Fi dopo la sospensione su Ubuntu 24.04

Risolvi i problemi di disconnessione Wi-Fi di Ubuntu 24.04 dopo la sospensione verificando NetworkManager, i blocchi radio, gli aggiornamenti, il risparmio energetico e i driver, quindi verifica ogni riattivazione.

Risolvere l'elevato utilizzo della CPU da parte di Tracker-Miner-3 in Ubuntu GNOME

Risolvere l'elevato utilizzo della CPU da parte di Tracker-Miner-3 in Ubuntu GNOME

Scopri perché tracker-miner-fs-3 utilizza un elevato consumo di CPU in Ubuntu GNOME e come verificare l'indicizzazione, escludere cartelle, aggiornare Ubuntu o ricostruire in modo sicuro l'indice di ricerca.

Risolvere il problema "Nessun dispositivo di avvio trovato" dopo l'installazione di Debian su UEFI

Risolvere il problema "Nessun dispositivo di avvio trovato" dopo l'installazione di Debian su UEFI

Risolvi l'errore di avvio UEFI di Debian controllando la modalità di avvio, la partizione di sistema EFI, i file di GRUB e l'ordine di avvio del firmware, senza dover prima reinstallare Debian.

Risoluzione del problema di assenza di segnale della scheda di acquisizione di Windows 11 a 60 FPS

Risoluzione del problema di assenza di segnale della scheda di acquisizione di Windows 11 a 60 FPS

Problemi con la scheda di acquisizione di Windows 11: nessun segnale a 60 FPS? Scopri soluzioni comprovate per ripristinare streaming e acquisizione di gameplay fluidi. Soluzioni passo passo per prestazioni impeccabili.

Risoluzione Il disco selezionato è dello stile di partizione GPT

Risoluzione Il disco selezionato è dello stile di partizione GPT

Hai problemi con l'errore "Il disco selezionato è di tipo GPT" durante l'installazione di Windows? Scopri soluzioni comprovate per convertire il tuo disco da GPT a MBR senza perdita di dati e tornare a installare senza problemi. Guida passo passo per principianti.