Crea un script de conmutación de salida de PipeWire que mueva el audio activo.

Para un pequeño control de audio en Debian, utilice pactlel servidor compatible con PulseAudio de PipeWire. El script que se muestra a continuación alterna entre dos salidas con nombre, establece la nueva salida predeterminada y mueve las transmisiones de reproducción que ya estén abiertas. Reemplace los nombres de los sumideros de ejemplo con los nombres exactos que aparecen en su máquina.

1. Confirma el servidor PipeWire Pulse y encuentra tus salidas.

El componente de PipeWire pipewire-pulseproporciona un servidor compatible con PulseAudio, por lo que herramientas estándar como pactlpueden controlar sus salidas de audio. Compruebe a qué servidor se conecta su cliente y enumere las salidas disponibles:

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

Para este procedimiento, el nombre del servidor debe mencionar PipeWire. La lista de salidas contiene nombres simbólicos como alsa_output.pci-0000_00_1f.3.analog-stereo. Copie exactamente dos nombres: uno para cada salida que desee alternar. Estos nombres son específicos del hardware conectado y del perfil de audio; no copie los nombres del ejemplo ni utilice un índice numérico de salida, ya que este puede cambiar durante la sesión.

Si pactlfalta, Debian lo proporciona en pulseaudio-utils. Instale ese paquete de cliente solo si es necesario. Si pactl infono puede conectarse o informa de un servidor de sonido diferente, primero confirme que el reemplazo de PulseAudio de PipeWire se está ejecutando en su sesión de usuario; no instale ni cambie servidores de audio a ciegas.

Terminal de Debian mostrando información de pactl que identifica PipeWire y lista de pactl short sinks con nombres de altavoces y auriculares.
Copie los nombres simbólicos exactos de los sumideros de la lista de salida en vivo antes de completar el script de conmutación.

2. Crea el script de alternancia

Cree un directorio de scripts por usuario y abra un nuevo archivo:

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

Pega este script, reemplazando ambos valores en SINK_Ay SINK_Bcon los nombres que copiaste:

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

El script comprueba que ambas salidas estén presentes antes de cambiar nada. Elige la otra salida configurada cuando el valor predeterminado actual es SINK_A; si el valor predeterminado actual es otro sumidero, comienza con SINK_A. El set-default-sinkcomando afecta a las nuevas transmisiones, mientras que el bucle utiliza move-sink-inputpara enrutar también las transmisiones de reproducción existentes. Si solo quieres que las aplicaciones futuras utilicen el nuevo valor predeterminado, elimina el whilebucle; las transmisiones que ya se estén reproduciendo permanecerán donde están. Ejecuta este script como el mismo usuario de escritorio que ha iniciado sesión y que posee la sesión de PipeWire. No uses sudo, que puede conectarse a través de un entorno de ejecución de usuario diferente y no controlar el audio de tu escritorio. Estas operaciones están documentadas en el manual de pactl de Debian .

Editor Nano que muestra las dos variables de salida en el script toggle-audio-output.
Establezca cada variable en uno de los nombres de sumidero informados por pactl en esta sesión de Debian.

3. Guarda, ejecuta y verifica el cambio.

Guarda en Nano con Ctrl+O, pulsa Enter, y luego sal con Ctrl+X. Marca el script como ejecutable y ejecútalo:

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

Debería imprimir el nuevo sumidero predeterminado. Compruebe el valor predeterminado actual del servidor y cualquier transmisión de reproducción activa:

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

Ejecuta el script una segunda vez para volver al modo anterior. Para una comprobación práctica, reproduce una breve muestra de audio mientras cambias de dispositivo y confirma que proviene del dispositivo seleccionado. Los nombres exactos de los dispositivos y su comportamiento en pantalla varían según el hardware, el estado de la conexión Bluetooth y los perfiles de audio activos.

Terminal de Debian que muestra el script de alternancia seleccionando los auriculares USB como salida predeterminada
El script informa qué salida con nombre se convirtió en la nueva predeterminada.
La verificación de la terminal muestra que pactl get-default-sink devuelve el nombre de los auriculares y una secuencia de reproducción listada.
Confirme el sumidero predeterminado y compruebe que se esté enrutando un flujo activo a la salida seleccionada.

Cuando el guion no cambia el audio

  • No se encontró el receptor: vuelva a ejecutar el comando pactl list short sinks. Es posible que un auricular desconectado o un cambio de perfil hayan modificado el nombre del receptor; actualice la variable correspondiente.
  • No se puede conectar: ​​compruebe que los servicios de usuario de PipeWire estén en ejecución y que pactl infoidentifiquen el servidor PipeWire Pulse. El paquete pipewire-pulse de Debian proporciona ese servidor alternativo, mientras que pulseaudio-utils incluye el pactlcliente.
  • Se mueve un nuevo audio, pero la aplicación actual no: vuelva a ejecutar el script mientras esa transmisión sea visible en pactl list short sink-inputs. Algunas aplicaciones vuelven a abrir transmisiones o mantienen su propia selección de dispositivo, así que elija "Predeterminado" en esa aplicación si permanece anclada a una salida.

La documentación del protocolo Pulse de PipeWire explica por qué los clientes de línea de comandos de PulseAudio pueden controlar PipeWire cuando pipewire-pulseeste actúa como servidor activo. Este script utiliza esa capa de compatibilidad; no configura perfiles de hardware ni garantiza la disponibilidad de un dispositivo desconectado.

Dejar un comentario

Permite que Nextcloud suba fotos de tu iPhone en segundo plano.

Permite que Nextcloud suba fotos de tu iPhone en segundo plano.

Restaure la detección de fotos en segundo plano revisando la configuración de carga de Nextcloud, los permisos de iOS, el modo de batería y los límites de la programación de segundo plano del iPhone.

Texto más nítido en ONLYOFFICE Desktop: Ajuste la sugerencia de fuentes en Linux

Texto más nítido en ONLYOFFICE Desktop: Ajuste la sugerencia de fuentes en Linux

Compara los modos de sugerencia de fuentes de ONLYOFFICE, comprueba el zoom y la disponibilidad de fuentes de Linux, y verifica si el desenfoque se limita al editor o afecta a todo el escritorio.

Convierta un PDF en un DOCX editable en ONLYOFFICE Desktop.

Convierta un PDF en un DOCX editable en ONLYOFFICE Desktop.

Convierta un PDF localmente en ONLYOFFICE Desktop Editors y, a continuación, revise el archivo DOCX para detectar cambios de diseño, páginas escaneadas y texto que necesite corrección.

Conecta los editores de escritorio de ONLYOFFICE a tus archivos de ownCloud.

Añade tu cuenta de ownCloud a ONLYOFFICE Desktop Editors, comprende las funcionalidades de la conexión y elige entre acceso directo, sincronización y edición desde el navegador.

Solucione los tiempos de espera de ONLYOFFICE Mobile comprobando la URL del servidor.

Solucione los tiempos de espera de ONLYOFFICE Mobile comprobando la URL del servidor.

Utilice el portal o la dirección WebDAV correctos, compruebe la accesibilidad HTTPS desde su teléfono y distinga entre problemas de red privada, TLS y de inicio de sesión.

Habilitar el desarrollo y la depuración del complemento de escritorio de ONLYOFFICE

Habilitar el desarrollo y la depuración del complemento de escritorio de ONLYOFFICE

Crea y prueba un plugin personalizado para los editores de escritorio de ONLYOFFICE, instala su archivo .plugin y activa las herramientas de desarrollador para la depuración.

Ejecutar Python en Calc a través del sistema de macros de LibreOffice.

Ejecutar Python en Calc a través del sistema de macros de LibreOffice.

Permite integrar una función de Python en Calc, ejecutarla en la hoja de cálculo abierta y solucionar problemas relacionados con macros o importaciones faltantes sin mezclar LibreOffice con el Python del sistema.

Proteja el texto del autor seleccionado con una contraseña de sección.

Proteja el texto del autor seleccionado con una contraseña de sección.

Bloquea un pasaje específico para evitar ediciones rutinarias sin comprometer la usabilidad del resto del documento de Writer, y descubre cuándo el cifrado de archivos es la mejor opción.

Hacer que el texto de la hoja de cálculo sea legible en el modo oscuro de LibreOffice Calc.

Hacer que el texto de la hoja de cálculo sea legible en el modo oscuro de LibreOffice Calc.

Solucione los problemas de texto ilegible en las hojas de cálculo revisando el tema, el color de la fuente de las celdas, los rellenos y el formato condicional en Calc.

¿LibreOffice Calc muestra las fórmulas como texto? Restaurar los resultados.

¿LibreOffice Calc muestra las fórmulas como texto? Restaurar los resultados.

Descubre por qué Calc muestra el texto de la fórmula en lugar de los valores calculados y corrige el modo de visualización, las celdas con formato de texto, los apóstrofes o los resultados obsoletos.