3 votos

Enumera las extensiones instaladas en Safari para Mac OS X e indica si cada una de ellas está activada

Me gustaría tener una lista, de la que se pueda copiar el texto.

(No es una captura de pantalla de las preferencias).

Esta información no aparece en ninguna de las siguientes:

  • Safari
  • Perfil del sistema en Snow Leopard
  • Información del sistema en Lion.

Me preguntaba si existe una extensión para listar otras extensiones, pero cuando he buscado no he encontrado nada adecuado.

Si no es un comando o una extensión, tal vez hay una aplicación, pero de nuevo: No he podido encontrar nada adecuado.

(Podría haber publicado esta pregunta inicial en Super User, donde un gurú de la tubería de comandos podría intervenir, pero prefiero Ask Different por la probabilidad de que alguien conozca una extensión o aplicación).

Antecedentes

Con el interruptor maestro de extensiones desactivado, la simple presencia de extensiones instaladas puede hacer que algunas versiones de Safari tarden más de lo esperado en iniciarse.

Por esta y otras razones, a veces es necesario tener una lista completa de las extensiones instaladas, incluidas las que están desactivadas.

1 votos

0 votos

No, es una pregunta diferente. Vinculado. Voy a editar la línea de asunto aquí y allá para emhpasar las palabras instalado y habilitado .

2 votos

¿Podría considerar la posibilidad de modificar una de las preguntas para que diga "Enumere las extensiones instaladas y su estado"?

6voto

Se trata principalmente de analizar la salida de defaults read ~/Library/Safari/Extensions/extensions y formatearla de forma sencilla. El resultado responde realmente a tus dos preguntas:

defaults read ~/Library/Safari/Extensions/extensions | awk '
/Bundle Directory/ {
    split($0, t, /\"/);
    sub(".safariextension", "", t[4]);
    sub("-1", "", t[4]);
    bundle=t[4]
    e="disabled"
}
/Enabled/ {
    e="enabled";
}
/Hidden Bars/ {
    print bundle, "...", e
}' | sort --ignore-case

La creación de un shell script a partir de él se deja como ejercicio al lector.

Tenga en cuenta que lo más probable es que esto deje de funcionar si Apple decide cambiar el formato de ~/Library/Safari/Extensions/extensions

1 votos

Respuesta perfecta, en mi sistema proporciona la siguiente salida: YouTube5 está activado 1Contraseña está activado Footnotify está activado. Lanza este script en un servicio de automator si quieres evitar dirigirte a la terminal.

1 votos

El resultado es un subconjunto, no una lista completa de extensiones. patrix, ¿quieres repetir esta respuesta en la otra pregunta? Así podremos afinar la respuesta aquí. Muchas gracias.

1 votos

¿Qué extensiones faltan?

1voto

Tim Puntos 11

Para la posteridad, otro simple punto de partida que se originó a partir de lo que fue una pregunta diferente:

Lista de extensiones habilitadas, sin clasificar

defaults read ~/Library/Safari/Extensions/extensions | grep -B 1 "Enabled = 1"

El resultado es rápido, pero sucio:

  • para cada elemento encontrado hay tres líneas, una debería ser suficiente
  • en la única línea de interés, la principal "Bundle Directory Name" = " y el arrastre de "; son innecesarios
  • algunos de los nombres de los directorios de los paquetes son -1 - esto también es innecesario.

Para Safari en la versión preliminar 16A319 de MacOS Sierra (Mac OS X 10.12)

defaults read ~/Library/Safari/Extensions/extensions | grep -B 5 "Enabled = 1"

-1voto

Tim Puntos 11

Un simple punto de partida, publicado al mismo tiempo que la pregunta inicial:

Lista simple de las extensiones instaladas, ordenadas alfabéticamente

defaults read ~/Library/Safari/Extensions/extensions | grep "Bundle Directory Name" | sort --ignore-case

El resultado es rápido, pero sucio:

  • en la única línea de interés, la principal "Bundle Directory Name" = " y el arrastre de "; son innecesarios
  • algunos de los nombres de los directorios de los paquetes son -1 - esto también es innecesario.

0 votos

¿Mejor, qué significa?

-1voto

Tim Puntos 11
touch ~/Library/Safari/Extensions/extensions
defaults read ~/Library/Safari/Extensions/extensions | awk '
/Bundle Directory/ {
    split($0, t, /\"/);
    sub(".safariextension", "", t[4]);
    sub("-1", "", t[4]);
    bundle=t[4]
    e=""
}
/Enabled/ {
    e="... enabled";
}
/Hidden Bars/ {
    print bundle, e
}' | sort --ignore-case

Esta variación de la respuesta aceptada incluye las extensiones que están desactivadas sin etiquetarlos como tales . Una preferencia personal - el espacio en blanco resultante me ayuda a ver, de un vistazo, los que están habilitados.

0 votos

A partir de esto, he creado una aplicación sencilla: Lista de extensiones de Safari 1.0. Gracias de nuevo a patrix por la respuesta aceptada, sin la cual no podría haber hecho esto.

1 votos

El listado de extensiones parece genial. Yo diría que se deje de lado la clasificación de los resultados de esta pregunta, ya que es una lección de análisis de texto en la línea de comandos y no forma parte de la pregunta principal. ¿Dónde puedo obtener una lista?

0 votos

Bmike tienes razón, he subido tu comentario. Hay un poco de refinamiento de esto lejos de Ask Different, pero por el momento no se traduce en una pregunta separada bien formada. Discúlpame por favor si hago algún cambio ocasional en esta respuesta. Eventualmente podría borrarla.

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