Cómo deshabilitar las extensiones de Chrome sin deshabilitarlas en varios dispositivos sincronizados

131

Uso Chrome en 4 estaciones de trabajo diferentes y tengo mis extensiones sincronizadas en todas ellas.

El problema que tengo es que una de las extensiones ( Gestos para Chrome ) funciona muy bien si tienes un mouse real, pero en un trackpad en Ubuntu, simplemente se interpone.

Si lo desactivo en la máquina Ubuntu, se desactiva en todas las instalaciones de Chrome debido a su mecanismo de sincronización interno .

P: ¿Puedo desactivar selectivamente una extensión en una sola máquina?

crecer
fuente
44
Haga clic en el menú desplegable Configuración de Chrome -> Configuración avanzada -> Configuración de sincronización avanzada -> Elija qué sincronizar -> Desmarque Extensiones de sincronización -> Aceptar. Luego configure las extensiones de manera adecuada en cada dispositivo. Trabajó para mí en Chrome versión 41.
Eric Leschinski
Sé que esta pregunta es muy antigua, tuve un problema similar, pero quería deshabilitar todas las extensiones solo en una máquina pero aún así Chrome recuerda mis credenciales, use una cuenta secundaria de gmail
Pierre

Respuestas:

28

Según la preocupación de seguridad, Chrome no sincroniza ninguna extensión que contenga un complemento NPAPI.

Fuente

¿Qué es un complemento NPAPI?

El código que se ejecuta en un complemento NPAPI tiene los permisos completos del usuario actual y no está protegido ni protegido de la entrada maliciosa por parte de Google Chrome de ninguna manera. Debe ser especialmente cauteloso al procesar entradas de fuentes no confiables, como cuando trabaja con scripts de contenido o XMLHttpRequest.

Fuente

Teoría

Si modificamos su extensión de manera que Chrome reconozca la extensión usando NPAPI, debería estar bien.

Cómo

  1. Primero, necesita un .dll ficticio de cualquier extensión NPAPI como Screen Capture (de Google) . Mientras tanto, la extensión se eliminó de la tienda Google Play porque Google decidió abandonar el soporte NPAPI . Pero esto no importa para nuestro escenario. Afortunadamente, el wiki oficial de Screen Capture todavía contiene el código fuente. No necesitamos la extensión completa, solo la NPAPI .dll screen_capture.dll. Descárgalo directamente

  2. En segundo lugar, vaya a la carpeta de extensiones que no debe sincronizarse. En tu caso Gestos para Chrome .
    ..\profile\Default\Extensions\jpkfjicglakibpenojifdiepckckakgk\1.12.1_0

  3. Modifique el archivo manifest.json y agregue el complemento NPAPI como se describe en Stackoverflow o incluso mejor en developer.chrome.com

    {
      "name": "My extension",
      ...
      "plugins": [
        { "path": "screen_capture.dll" }
      ],
      ...
    }
    
  4. Modifique el archivo background.html de su extensión que no desea sincronizar, que también se describe en la respuesta anterior de Stackoverflow.

    <embed type="application/x-my-extension" id="pluginId">
    <script>
      var plugin = document.getElementById("pluginId");
      var result = plugin.myPluginMethod();  // call a method in your plugin
      console.log("my plugin returned: " + result);
    </script>
    
  5. Se puede ser necesario volver a habilitar el soporte NPAPI en el futuro a través dechrome://flags/#enable-npapi

Desde aquí estás solo. No sé lo suficiente sobre la codificación de extensión.
Por eso es una teoría :)

nixda
fuente
1
Me gusta esto por su ingenio. El único inconveniente es que necesitaría registrar el dll para cada máquina con Windows en la que quiero ejecutar la extensión, pero eso no es demasiado trabajo como algo único.
Growse
1
¿Por qué no edita los archivos una vez y copia la carpeta de extensión completa por FTP, memoria USB, Dropbox o lo que sea en cada PC y computadora portátil? ¿Hay más de sus 2 computadoras portátiles y 2 PC en la pregunta? El .DLL es un archivo que debe copiar en esa carpeta de extensión. Después de eso tienes que editar 2 archivos. Eso es en teoría.
nixda
3
Bueno, Google ha decidido abandonar el soporte NPAPI para futuras versiones.
nixda
2
Esto no es una buena manera - ya sea bloques actualizaciones o se elimina el archivo DLL cuando la extensión recibe una actualización ..
Izzy
1
La url del ejemplo ddl está rota
Ferrybig
78

Puede ser que esto no sea lo que está buscando, pero puede intentarlo. Abra el menú de configuración dentro de Chrome haciendo clic en el icono de tres líneas / llave inglesa en la esquina derecha. Ahora abra la configuración de sincronización avanzada.

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Ahora seleccione la opción, elija qué sincronizar y luego desmarque la opción Extensiones . Ahora su extensión no se sincronizará con otras PC.

avirk
fuente
52
Tener que mantener sincronizadas manualmente 19 extensiones en varias instancias, solo porque no quiero sincronizar una sola extensión en varias instancias parece ser un poco un mal negocio.
Growse el
55
Como te dije, esto no es lo que estás buscando , y AFAIK aún no existe una solución para una sola extensión. Si alguien supiera vendrá y te ayudará. También tengo curiosidad por ver si es posible. La mejor manera de sincronizar la extensión manualmente crea una carpeta marcada y simplemente coloca el marcador de tus extensiones favoritas.
avirk el
66
Cuando solo tiene unas pocas extensiones instaladas, esta es definitivamente una solución más fácil de usar que todos los otros hacks propuestos.
jturcotte
44
Desde mi punto de vista, no es lo ideal, pero es mejor que jugar con copiar dll en carpetas nuevas. +1
stevemidgley
44
Buena idea, si es necesario sincronizar las extensiones se puede activar de forma temporal, a continuación, volver a desactivar las extensiones de una vez, en lugar de cada sola vez .
Jamie Pate
53

Puede instalar la extensión que desee como una extensión local.

  1. Encuentre la ID de la extensión que desea chrome://extensionscon el modo desarrollador habilitado .

  2. Navegue a su directorio de instalación de Google. Windows: %localappdata%\Google\Chrome\User Data\Default\Extensions\{Extension_ID} \{Version_Number}

  3. Guárdelo en algún lugar.

  4. Regrese a chrome://extensionscon el modo desarrollador habilitado y presione Load unpacked extension. Y navegue a la nueva copia de la extensión.

  5. Debería ver que tiene la extensión dos veces ahora. Desactive la real.

Digo Desactivar porque hay un lado negativo de este enfoque y es que pierdes las actualizaciones automáticas y tendrás que repetir los pasos anteriores una y otra vez cada vez que se actualiza.

Si no está seguro de cuál es la copia real y la nueva, busque debajo de la etiqueta de ID Cargado desde: {Path_To_Your_Copy}

Gusanos
fuente
2
Con mucho, la mejor respuesta.
FreeAsInBeer
2
Mucho más simple que la respuesta principal ... lo cual obviamente es muy informativo
mardlin
1
Erm, si instalo una extensión en modo desarrollador, siempre
aparece un mensaje
Hmm, debe haber sido algo que Google haya agregado a Chrome Stable.
WORMSS
7

Una cosa que funciona para mí es eliminar manualmente el proceso del complemento cada vez que Chrome comienza a usar el Administrador de tareas de Chrome. Esto se puede lograr de la siguiente manera:

  • (en Mac) Menú> Más herramientas> Administrador de tareas
  • (en PC) Haga clic derecho en la barra de menú> Administrador de tareas o Shift+Esc

Luego, simplemente haga clic en la extensión que no desea ejecutar y haga clic en "Finalizar proceso".

En el trabajo tengo dos computadoras y no quiero que Google Hangouts aparezca en ambas. Lo único malo es que tienes que hacer esto cada vez que inicias Chrome.

wd4ever
fuente
1
Encuentro esta solución más dolorosa que otras ... pero es una solución
konzo
5

Esta no es una respuesta resuelta, sino otra perspectiva para examinar el problema.

El sistema de sincronización de Chrome no permite, de ninguna manera, personalizar las clasificaciones por una sola máquina; ¡Y cualquier solución con extensiones adicionales que opere con la bandera de disable/enablesu extensión, será un fracaso!

Debido a que otra máquina que usa simultáneamente la misma cuenta de usuario, reflejará el cambio.

Una forma de evitar este intercambio de información es qué tan bien propuso que @avirk desactive la sincronización en las extensiones, pero parece que esta solución no es adecuada para su entorno.

Luego propondré dos ideas más que se pueden adoptar para obtener el resultado requerido:

  • Crear una segunda cuenta le permitiría personalizar su propio grupo de extensiones (esta solución la uso personalmente para tener un perfil diferente de ScriptSafe en diferentes máquinas)

La otra propuesta es un poco menos convencional y podría considerarse un mal truco , pero lo describiré de todas las maneras, para que tenga una opción más amplia.

  • Navegue a la carpeta del complemento en cuestión: .config/google-chrome/Default/Extensions/jpkfjicglakibpenojifdiepckckakgk/versionfolder y borra el contenido en el archivo "background_page.html"
    "Este ejemplo solo se puede aplicar al complemento: Gestures for Chrome (TM)"

Esto genera una excepción al cargar una página, que no permitirá que el código de evento en su extensión se ejecute correctamente. Entonces tendremos la desactivación local para esta extensión.

Recuerde que cada vez que reciba una nueva actualización para su extensión, debe rehacer esta operación en la carpeta de la nueva versión.

RTOSkit
fuente
1
Vine aquí para editar mi publicación, y ya publicó mi otra solución, que es muy fácil de crear otra cuenta / perfil para usar Chrome :)
avirk
En realidad, esto es bastante útil para mí porque en mi caso particular tengo una extensión que está rota solo en mi Chromebook, por lo que debe estar desactivada allí, pero me gustaría probar una nueva versión cuando salga para ver si Tiene el mismo error.
Curt J. Sampson
La segunda opción parece la mejor solución, ya que solo deshabilita la única extensión no deseada para una sola computadora, que es exactamente lo que pedía el cartel.
Dan Jones
4

Esta es una pregunta bastante antigua, pero sigue siendo algo que me ha estado molestando. Así que aquí están mis dos centavos.

Es posible que pueda usar otra extensión para hacer esto. Yo mismo he estado cambiando entre estos dos complementos: " Administrador de extensiones (también conocido como Switcher) "

Práctico administrador de extensiones, aplicaciones y temas. Administrador emergente ligero para habilitar, deshabilitar, desinstalar extensiones, aplicaciones de forma rápida y fácil.

o " SimpleExtManager "

Un menú simple para habilitar, deshabilitar y acceder a las opciones de extensiones. Otra adición a la serie 'Simple'. Esta vez es un administrador de extensiones.

Las características incluyen:

  • función básica para habilitar / deshabilitar, acceder a opciones y desinstalar extensiones a través de ventanas emergentes
  • personalizar la ventana emergente
  • capacidad de crear grupos de extensión
  • habilitar / deshabilitar grupos de extensiones a través del menú emergente y hacer clic con el botón derecho
  • página de eventos habilitada

Me gustan ambas extensiones, pero no he llegado a un punto en el que pueda decir cuál me gusta más. Ambos están pasando por un gran desarrollo y se actualizan con frecuencia.

Squazz
fuente
2
Cite las partes esenciales de la respuesta de los enlaces de referencia, ya que la respuesta puede volverse inválida si las páginas enlazadas cambian.
DavidPostill
1
No sabía qué citar de las páginas de complementos, ya que son sugerencias de extensión y no son realmente una respuesta, pero espero que mi edición esté bien.
Squazz
1
Solo para verificar ... ninguna de esas extensiones le permite controlar extensiones por máquina, ¿verdad? ¿Simplemente agilizan el proceso de apagar incesantemente una extensión mientras está en una máquina y volver a encenderla cuando está en otra?
Apraetor
Excatly @apraetor la funcionalidad para elegir completamente cuáles están instaladas está reservada exclusivamente para el navegador Chrome, y el navegador sincroniza esos datos
Squazz
4

Otra solución que he encontrado es utilizar el mecanismo de políticas incluido en Chrome. Google ofrece la posibilidad de administrar extensiones a través de políticas grupales. Al poner la extensión no deseada en la lista negra, hemos eliminado efectivamente la sincronización para esta PC. Podemos explotar este conocimiento configurando estas opciones manualmente.

Aquí hay una breve descripción para PC con Windows:

  1. Abra su Editor del registro (regedit)
  2. Vaya a HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Google \ Chrome; créelo si no existe
  3. Cree una nueva clave llamada "ExtensionInstallBlacklist"
  4. Agregue un nuevo valor (REG_SZ) y asígnele el nombre "1"; si ya existe, asígnele el nombre "2", etc.
  5. Establezca los datos para este valor en la ID de la extensión que desea eliminar

Al hacer esto, la extensión se eliminará la próxima vez que inicie su Chrome. Esto solo afecta a la PC en la que se encuentra. Verifiqué esto teniendo una instalación limpia de Chrome. Después de iniciar sesión, se cargaron todas las extensiones, especialmente la que pusimos en la lista negra en la otra PC.

La documentación para esta configuración de Política se puede encontrar aquí, mostrando también la configuración para diferentes sistemas operativos:

http://dev.chromium.org/administrators/policy-list-3#ExtensionInstallBlacklist

Harry_Pootha
fuente
3

Aquí hay una solución simple (considerando que tiene 19 extensiones y solo tiene un problema con una o dos): después de la primera instalación en cada computadora individual:

  1. Permita que Google Chrome realice la sincronización inicial.
  2. Después de la instalación, vaya a la configuración y desactive la sincronización de extensiones.
  3. Elimina la extensión que desees.

Básicamente, esto mantiene todas las extensiones en su usuario y puede editarlas manualmente para cada computadora individual.

Aunque tengo que admitir que las respuestas anteriores fueron más interesantes, esto resuelve su problema sin mucha habilidad tecnológica.

¡Salud!

TVDN
fuente
0

Bueno, probablemente una práctica extensión que enumera las extensiones instaladas ( https://github.com/rbrahul/chrome-extension-manager ) y le permite elegir la que desea deshabilitar y mantener esa lista en el almacenamiento del navegador. Sí, se deshabilitará globalmente, pero en otra ubicación la misma extensión usará una lista diferente para habilitar diferentes extensiones.

Bueno, si está usando Chrome al mismo tiempo en una máquina diferente (digamos que en su escritorio tiene una Mac, una computadora portátil, un escritorio tal vez con alguna máquina virtual en funcionamiento) podría ser un desastre ...

Tal vez en lugar de deshabilitar la eliminación de los procesos, pero no estoy seguro de que sea posible hacerlo mediante programación.

emaV
fuente
Lea Cómo recomendar software para obtener la información mínima requerida y otras sugerencias sobre cómo recomendar software en Super User. Para que su respuesta sea útil incluso si los enlaces incluidos se rompen, edite estos detalles en su respuesta.
Twisty Impersonator
0

Iba a comentar sobre la excelente respuesta de Harry_Pootha que me ayudó mucho, pero no soy muy activa aquí :)

Entonces, hay un enfoque alternativo que no se basa en navegar por los registros a través de Regedit.

En https://support.google.com/chrome/a/answer/187202?hl=es , ofrecen una guía paso a paso sobre cómo aplicar una amplia gama de políticas de administración a Chrome, incluida la política de la lista negra

Para ver la lista completa de políticas de Chrome, consulte la carpeta común / en el archivo zip de las plantillas de políticas (disponible en todos los idiomas compatibles).

Los 2 pasos más importantes, para Windows:

Paso 1: descargue las plantillas de políticas de Chrome

Las plantillas de Windows, así como la documentación de política común para todos los sistemas operativos, se pueden encontrar aquí:

Archivo zip de plantillas y documentación de Google Chrome.

Paso 2: abra la plantilla ADM o ADMX que descargó

  • Vaya a Inicio> Ejecutar: gpedit.msc. (O ejecute gpedit.msc en su terminal)
  • Vaya a Política de equipo local> Configuración del equipo> Plantillas administrativas.
  • Haga clic con el botón derecho en Plantillas administrativas y seleccione Agregar o quitar plantillas.
  • Agregue la plantilla chrome.adm a través del cuadro de diálogo.
  • Una vez completado, aparecerá una carpeta Google / Google Chrome en Plantillas administrativas si aún no está allí. Si agregó la plantilla ADM en Windows 7 o 10, aparecerá en Plantillas administrativas clásicas / Google / Google Chrome.

Para Linux y Mac hay guías adicionales vinculadas en la página de Google, por lo que es mejor seguirlas.

El último paso es habilitar realmente una política y especificar su contenido . La mejor manera de hacerlo que encontré es ir a chrome://policy/una pestaña nueva y marcar "Mostrar políticas sin conjunto de valores"; Esto mostrará todas las políticas disponibles que se pueden configurar con el editor de políticas de grupo y cada una de ellas enlaza con su documentación.

Tenga en cuenta que, en el editor de GP, la política que está buscando utiliza el nombre largo que se encuentra en dicha documentación. Por lo tanto, establezca "Configurar la lista negra de instalación de extensiones" en Habilitado , haga clic en Mostrar en la GUI de configuración de políticas y agregue allí los identificadores deseados.

Puede encontrar fácilmente identificadores de extensión yendo chrome://extensions/y marcando 'Modo desarrollador' en la esquina superior derecha.

Gracias de nuevo a Harry_Pootha por su respuesta que me ayudó a encontrar todo esto y usarlo.

tibia
fuente