Cómo buscar opciones de aplicaciones en OSX

Cómo buscar opciones de aplicaciones en OSX

De vez en cuando veo instrucciones que te permiten cambiar la funcionalidad de algunas aplicaciones en OSX usando defaultsla línea de comandos. Sé que la gente encuentra estas directivas de configuración escaneando la aplicación. ¿Cómo se hace eso?

Solución: podría haber jurado que lo era option. Culpa mía.

Respuesta1

Puede usarlo defaultsno solo para cambiar estos valores, sino también para enumerarlos.

defaults read -gmuestra opciones "globales", mientras defaults read com.company.ProgramNamemuestra elvalores predeterminados(es decir, opciones de configuración) para un programa en particular. En este contexto, com.company.ProgramName¿es elidentificador de paquetedel programa, por ejemplo com.apple.TextEdito com.culturedcode.Things.Más sobre esto.


Por ejemplo corre defaults read com.apple.Findery encontrarás una línea que dice AppleShowAllFiles = FALSEo algo parecido. Ahora sea aventurero y ejecute defaults write com.apple.Finder AppleShowAllFiles -boolean TRUEy reinicie Finder para ver qué sucede.

Para más información sobre cómo utilizar defaults, ingresa man defaultspara ver su documentación. Puede volverse bastante complejo y algunas cosas relacionadas con listas y diccionarios son prácticamente imposibles de hacer. Una vez que llegue tan lejos, busque /usr/libexec/PlistBuddy: hay algunos ejemplos de cómo usarlo en este sitio, simplemente use la función de búsqueda.


Descubra el identificador de paquete de un programa en particular:

Para saber para qué utiliza su aplicacióncom.vendor.tuaplicación, haga clic derecho en el paquete de aplicaciones, seleccioneMostrar el contenido del paquete, navegar aContenido, abiertoLista de informaciónusando un editor de texto, o mejor un editor de lista de propiedades comoEditor de lista de propiedadesoXcódigo 4(ambas parte de las herramientas de desarrollo de Apple) y busqueIdentificador de paquete CFo similar.


Otra herramienta que puedes utilizar es strings. Mostrará todas las cadenas (es decir, secuencias de caracteres posiblemente útiles) en un archivo binario. Tenga en cuenta que esto producemontonesde falsos positivos, ya que también se muestran las llamadas a funciones de Objective-C, así como la salida regular que se muestra en la interfaz de usuario.


MisteriosTambién ofrece una base de datos de configuraciones ocultas para OS X, ordenadas por aplicación. Estos se pueden cambiar usando defaults. Para su comodidad, también puede descargar un Panel de preferencias desde el sitio web, que le permite cambiarlas en las Preferencias del sistema.

Respuesta2

#!/bin/sh

# find key names in ~/Library/Preferences/`osascript -e 'id of app "iTunes"'`.plist
defaults read com.apple.iTunes | ruby -e 'puts STDIN.read.scan(/^    \"?([a-zA-Z_.\-]+?)\"? /)' > keys.txt

# extract identifiers from a binary
# (the output is tens of thousands of lines even after grepping)
strings - /Applications/iTunes.app/Contents/MacOS/iTunes | egrep "^[a-zA-Z][a-zA-Z_.\-]{7,}$" | ruby -e 'puts STDIN.read.split("\n").uniq' > strings.txt

# the identifiers for preferences often appear near each other
for x in `cat /0/keys.txt`; do
    grep -C 10 "$x" strings.txt
done | ruby -e 'puts STDIN.read.split("\n").uniq' > strings2.txt

Otro método que utiliza el depurador GNU:arcticmac.home.comcast.net/~arcticmac/tutorials/gdbFindingPrefs.html

información relacionada