Trucos con «defaults write» para macOS
Defaults es una herramienta de línea de comandos de sistemas BSD (aparecida por primera vez en NeXTStep) que permite acceder a preferencias y opciones de usuario en macOS. Puedes teclear man defaults desde Terminal para conocer más sobre ella.
macOS utiliza archivos xml para guardar preferencias de usuario y otra información (por ejemplo, fuente por defecto de un documento o posición de una ventana) cuando las aplicaciones están cerradas. Muchas de estas informaciones pueden ser accedidas mediante las preferencias de las aplicaciones o programas específicos de configuración pero también es posible leerlas o modificarlas con la herramienta defaults. Las modificaciones realizadas con defaults sólo tienen efecto si la aplicación cuya configuración se cambia está cerrada.
El comando defaults write escribe un valor en una clave de un archivo de configuración (plist – Property list). Usando Terminal, se escribe la orden defaults write dominio_de_aplicación clave valor.
Por ejemplo defaults write com.apple.finder AppleShowAllFiles TRUE cambia a TRUE el valor de la propiedad del Finder “Mostrar todos los archivos” con lo que se muestran los archivos ocultos.
Algunas modificaciones útiles que se pueden realizar mediante defaults write son:
# MOSTRAR U OCULTAR LOS ARCHIVOS INVISIBLES EN EL FINDER defaults write com.apple.finder AppleShowAllFiles TRUE;killall Finder defaults write com.apple.finder AppleShowAllFiles FALSE;killall Finder # RUTA COMPLETA EN LA BARRA DE LA VENTANA DEL FINDER defaults write com.apple.finder _FXShowPosixPathInTitle -bool YES;killall Finder # TÍTULO DE LA VENTANA MUESTRA LA RUTA RELATIVA A LA CARPETA DEL USUARIO defaults write com.apple.finder PathBarRootAtHome -bool TRUE;killall Finder defaults delete com.apple.finder PathBarRootAtHome;killall Finder # MOSTRAR DIÁLOGOS DE GUARDAR ARCHIVOS EN MODO EXTENDIDO defaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode -bool true;killall Finder defaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode2 -bool true;killall Finder # MOSTRAR DIÁLOGOS DE IMPRIMIR EN MODO EXTENDIDO defaults write -g PMPrintingExpandedStateForPrint -bool TRUE;killall Finder # DESHABILITAR AVISO AL CAMBIAR EXTENSIÓN DE ARCHIVO defaults write com.apple.finder FXEnableExtensionChangeWarning -bool FALSE;killall Finder # CAMBIAR NOMBRE POR DEFECTO DE CAPTURAS DE PANTALLA defaults write com.apple.screencapture name "img";killall SystemUIServer # QUITAR LA SOMBRA ALREDEDOR DE LAS CAPTURAS DE PANTALLA defaults write com.apple.screencapture disable-shadow true;killall SystemUIServer # DESACTIVAR AUTOCORRECCIÓN DE TEXTO defaults write NSGlobalDomain NSAutomaticSpellingCorrectionEnabled -bool FALSE;killall Finder # ACTIVAR AUTOCORRECCIÓN DE TEXTO defaults write NSGlobalDomain NSAutomaticSpellingCorrectionEnabled -bool TRUE;killall Finder # MOSTRAR LA PESTAÑA GPU EN MONITOR DE ACTIVIDAD defaults write com.apple.ActivityMonitor ShowGPUTab -bool true # EVITAR LA CREACIÓN DE ARCHIVOS .DS_STORE EN SERVIDORES WINDOWS CONECTADOS POR SMB defaults write com.apple.desktopservices DSDontWriteNetworkStores TRUE # DESHABILITAR / HABILITAR PROCESO QUE COMPRUEBA ACTUALIZACIONES DE GOOGLE CHROME defaults write com.google.Keystone.Agent checkInterval 0 defaults write com.google.Keystone.Agent checkInterval 18000 # AUMENTAR EL Nº DE CARACTERES DE LOS NOMBRES DE ARCHIVO EN EL ESCRITORIO defaults write com.apple.finder FXDesktopLayoutGridCharCount 50; killall Finder defaults write com.apple.finder FXDesktopLayoutGridCharCount 20; killall Finder # MOSTRAR LAS PARTICIONES QUE OSX OCULTA POR DEFECTO defaults write com.apple.DiskUtility DUDebugMenuEnabled 1 defaults write com.apple.DiskUtility DUDebugMenuEnabled 0 # EL COMANDO HISTORY COMBINADO CON GREP DA INFORMACIÓN SOBRE LAS MODIFICACIONES QUE HEMOS IDO EFECTUANDO CON DEFAULTS history | grep "defaults" history | grep "defaults write" history | grep "defaults delete" history | grep "defaults write com.apple.finder"
Si conoces algún otro comando puedes aportarlo para ir completando esta lista.