5 votos

¿Cómo habilitar sonidos de fondo (accesibilidad) desde Terminal o accesos directos?

En iOS hay una acción de Acceso directo para habilitar los sonidos de fondo. Esto no existe en macOS 13 Ventura, que yo sepa.

Puedo habilitar los sonidos de fondo manualmente navegando a Accesibilidad -> Audio (en Configuración del sistema) y alternando un interruptor.

Sección de Sonidos de fondo en Configuración del sistema con interruptor habilitado

Pero quiero automatizar esto.

La configuración parece estar contenida en ~/Library/Preferences/com.apple.ComfortSounds.plist. Intenté configurar esto a través de terminal con defaults o plutil:

# cualquiera de estos:
defaults write com.apple.ComfortSounds comfortSoundsEnabled -bool YES
plutil -replace comfortSoundsEnabled -bool YES ~/Library/Preferences/com.apple.ComfortSounds.plist

...y confirmé que estaban haciendo el mismo cambio que alternar el interruptor en Configuración del sistema (lo hicieron). Pero sin suerte, no habilitó realmente los sonidos de fondo.

Puede ser posible utilizar AppleScript para hacer clic automáticamente en el interruptor "físico" apropiado (por ejemplo, decir "Configuración del sistema" a...), pero no estoy seguro de cómo hacerlo.

3voto

towerofnix Puntos 125

De acuerdo, gracias a Mr R por los útiles comentarios anteriores que resolvieron la mayor parte de esta solución, y a sant parkash singh por la adición sobre el ID de usuario. El truco es utilizar launchctl para volver a cargar el demonio que escucha. Aquí tienes un script de shell completo, probado más recientemente en macOS 13.4 Ventura:

defaults write com.apple.ComfortSounds comfortSoundsEnabled -bool YES
defaults write com.apple.ComfortSounds lastEnablementTimestamp $(date +%s)
launchctl kill SIGHUP gui/$(id -u)/com.apple.accessibility.heard

Puedes desactivar los sonidos de fondo proporcionando -bool NO sin cambiar lastEnablementTimestamp:

defaults write com.apple.ComfortSounds comfortSoundsEnabled -bool NO
launchctl kill SIGHUP gui/$(id -u)/com.apple.accessibility.heard

...Pero para volver a habilitarlos de manera confiable, tendrás que ejecutar el script completo que establece lastEnablementTimestamp.

A veces (en Ventura), los sonidos de fondo entran en un estado defectuoso en el que cree que está habilitado pero en realidad no está haciendo ningún ruido. Esto sucede en el uso normal incluso sin el script. Descubrí que habilitar con solo el script anterior no era suficiente para que regresara, sino que tuve que restablecerlo como desactivado primero con -bool NO.

Si vinculas estos a accesos directos de teclado, es de esperar que debas apagarlo y encenderlo ocasionalmente para que funcione, ¡pero por lo demás parece bastante confiable!

También ten en cuenta que estos comandos de shell no actualizarán visualmente los iconos / interruptores de estado de Sonidos de Fondo en Configuración del Sistema y el Panel de Control (cambiar a través de la GUI actuará como si el ajuste no se hubiera cambiado desde lo que estaba antes de tus cambios a través de la shell).

2voto

¡La solución de @Nebula funciona muy bien! Sin embargo, asegúrate de establecer el ID de usuario correcto al llamar a launchctl kill.

id -u

output: 503

reemplaza ID en este comando:

launchctl kill SIGHUP gui/503/com.apple.accessibility.heard

o utiliza la sustitución de Bash:

launchctl kill SIGHUP gui/$(id -u)/com.apple.accessibility.heard

Edit:

Para los fanáticos del copy-pasta:

Habilitar

defaults write com.apple.ComfortSounds comfortSoundsEnabled -bool YES
defaults write com.apple.ComfortSounds lastEnablementTimestamp $(date +%s)
launchctl kill SIGHUP gui/$(id -u)/com.apple.accessibility.heard

Deshabilitar

defaults write com.apple.ComfortSounds comfortSoundsEnabled -bool NO
launchctl kill SIGHUP gui/$(id -u)/com.apple.accessibility.heard

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X