19 votos

¿Dónde se almacena la base de datos de Launchpad y hay alguna forma de editarla directamente?

Cuando se explora la nueva función de Launchpad, al principio, parecería que extrae su contenido principalmente de la carpeta Programas.

Parece ser que la base de datos de Launchpad se extrae de algún otro lugar.

Por ejemplo, al instalar un juego a través de Steam, el juego en sí no aparecerá en la carpeta Programas, pero aparecerá en Launchpad. En este caso particular, quiero que esté en Launchpad. Sin embargo, los inconvenientes son que no puedo quitar el juego de Launchpad y no puedo cambiar el icono.

¿Dónde puedo ver y modificar directamente cada ocurrencia de Launchpad?

23voto

michael Puntos 285

La base de datos de Launchpad se encuentra en ~/Library/Application Support/Dock/*some-hex-name*.db

Para editarla, deberás usar SQLite. Puedes hacerlo en la línea de comandos o con una interfaz gráfica.

Consulta esta pregunta de Ask Different para recomendaciones de una aplicación GUI.


MacOS Sierra y versiones más nuevas

En macOS Sierra y versiones más nuevas, la antigua base de datos de launchpad ya no existe. En su lugar, cada usuario tiene su base de datos personal de launchpad en algún lugar dentro de /private/var/folders.

Cómo encontrar la base de datos

El directorio /private/var/folders contiene muchos nombres de carpetas crípticas, pero puedes identificar la ruta a la carpeta personal de tu usuario usando getconf DARWIN_USER_DIR. Puedes notar que este comando devuelve una ruta dentro de /var/folders en lugar de /private/var/folders, pero /var es un enlace simbólico a /private/var.

El siguiente comando de una sola línea devolverá la ruta a la base de datos:

 echo /private$(getconf DARWIN_USER_DIR)com.apple.dock.launchpad/db/db

Una vez que tengas la ruta a la nueva base de datos, puedes continuar editándola como antes (por ejemplo, usando el comando sqlite3).

¡Gracias a Chris Perry de Jamf Nation por compartir lo que encontró! Consulta su publicación aquí.

0 votos

Gracias, de hecho esta es la ubicación de la base de datos, aunque no todas las tablas son realmente legibles. Las aplicaciones parecen estar principalmente almacenadas en la tabla apps y probablemente debería funcionar cambiar el nombre allí. Sin embargo, editar los íconos podría resultar un poco más difícil.

2 votos

Actualización para 2016: Estoy ejecutando macOS Sierra 10.12 y hay solo un archivo en mi directorio ~/Library/Application Support/Dock llamado desktop picture.db. No puedo encontrar la base de datos del dock.

2 votos

RE: A partir de macOS Sierra en adelante, tu comando find me dio dos directorios, solo uno de los cuales era correcto. Sospecho que la carpeta que no está en uso que se devolvió era de mi Mac anterior del que migré todos mis datos. En lugar de usar find para localizar la base de datos por usuario, la carpeta del usuario actual bajo /var/folders se puede localizar con getconf DARWIN_USER_DIR. (/var es un enlace simbólico a /private/var). Un mejor comando en una sola línea para devolver la ruta de la base de datos podría ser echo $(getconf DARWIN_USER_DIR)/com.apple.dock.launchpad/db/db

8voto

Kent Puntos 3462

Disculpas por agregar esto a un hilo de hace 2 años, pero para que conste, el valor para some-hex-name se almacena en ~/Library/Preferences/ByHost/com.apple.dock.*another-hex-name*.plist como LaunchPadDBName.

Parece que el número en sí no es importante y puede ser aleatorio; sin embargo, probablemente necesite cumplir con el formato UUID. Cambiar este valor para un usuario y luego iniciar sesión resultará en la creación de un nuevo .db si aún no existe.

Esto se puede utilizar para configurar varias cuentas para usar una configuración predefinida del LaunchPad, etc.

"another-hex-name" es el UUID de la computadora


Una forma más sencilla de acceder a este valor es usar:

defaults -currentHost read com.apple.dock LaunchPadDBName

Esto hace uso del argumento -currentHost del comando defaults:

Host  Opcionalmente puedes restringir los cambios a un host específico
      por defecto los cambios se aplicarán a cualquier host.
      [-host nombre_de_host]  Restringir a una máquina remota.
      [-currentHost]    Restringir al host en el que el usuario ha iniciado sesión actualmente.

0 votos

En caso de que alguien más se encuentre con esto, puedes acceder a esto aún más fácilmente con defaults -currentHost read com.apple.dock LaunchPadDBName

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