2011-06-09 5 views
7

Hoy en día, al abrir Google Chrome, me di cuenta de que no existe una manera fácil de activar o desactivar una extensión sin tener que ir a una de las siguientes ubicaciones:¿Cómo activo desactivar las extensiones de cromo/Google a través de la consola

  1. chrome: // extensiones
  2. hacer clic en Herramientas> extensiones> Activar/Desactivar

La razón por qué esto es tan importante, es debido a los recursos que ocupa.

Por ejemplo: Me va a empezar mi equipo, e inmediatamente quiero abrir Google Chrome rápidamente. Digamos, por ejemplo, que estoy ejecutando 100 procesos antes de abrir Chrome. Sin embargo, una vez que abro Chrome, ese número salta a 160 debido a todas las extensiones que se cargan cuando se inicia.

Aquí es lo que estoy buscando alcanzar y las limitaciones actuales:

Resultado deseado: fácilmente habilitar/deshabilitar/desinstalar una extensión usando la consola

Limitaciones: no hay ningún manera de muchas extensiones de grupo, por lo que fácilmente se pueden activar/desactivar

Por favor, hágamelo saber si no se permite que esta parte de la pregunta/fuera de tema

Respuesta

11

almacena los ajustes de la extensión de Chrome en un archivo JSON nombrados Preferencias en el directorio de perfil (aquí es ~/.config/google-chrome/default/Preferencias). El indicador habilitado/deshabilitado es la clave de "estado" para cada extensión, con 1 habilitado y 0 deshabilitado. Puede escribir un script que modifique este archivo antes de iniciar Chrome. Puede configurar este script para que se ejecute al iniciar sesión, e incluso para ejecutar Chrome al final, si desea iniciar Chrome automáticamente. Almacene una lista de extensiones que desea deshabilitar explícitamente prelanzamiento para seleccionar solo algunas de ellas.

me gustaría hacer seguro de que no actualizar las preferencias mientras que Chrome se está ejecutando.

Esto funciona para mí, y es probable que funcione en cualquier sistema tipo unix. La migración a Windows debería ser bastante sencilla: chrome_dir y la verificación de si Chrome se está ejecutando o no pueden ser los únicos cambios necesarios.

#!/usr/bin/env python2.6 

import datetime 
import json 
import os 
import sys 
from os import path 

chrome_dir = path.expanduser("~/.config/google-chrome") 
if path.lexists(chrome_dir + "/SingletonLock"): 
    # there may be a better and portable way to determine if chrome is running 
    sys.exit("chrome already running") 

prefs_file = chrome_dir + "/Default/Preferences" 
now = datetime.datetime.now() 
prefs_backup_file = prefs_file + now.strftime("-%Y%m%d-%H%M%S") 

enable_keys = [ 
    # list hash keys, you can find from URL given on chrome://extensions 
    "aeoigbhkilbllfomkmmilbfochhlgdmh", 
    ] 
disable_keys = [ 
    "hash-like key here", 
    ] 

default_state = 0 
# 1 to enable, 0 to disable, None to leave alone 

with open(prefs_file) as f: 
    prefs = json.load(f) 
os.rename(prefs_file, prefs_backup_file) 

for key, ext in prefs["extensions"]["settings"].iteritems(): 
    if not ext.has_key("state"): 
    # may be blacklisted 
    continue 

    if key in enable_keys: 
    ext["state"] = 1 
    elif key in disable_keys: 
    ext["state"] = 0 
    elif default_state is not None: 
    ext["state"] = default_state 

with open(prefs_file, "w") as f: 
    json.dump(prefs, f) 
+0

Hola @Fred Nurk, le agradezco que se tome el tiempo de escribir un script en Linux, pero ¿cómo lo convierto en Windows, como VBScript o Powershell? – Jon

+2

@Jon: No tengo ni idea de VB y Powershell. Esta es una secuencia de comandos de Python y Python se ejecuta en Windows. Enumeré lo que creo que son los únicos cambios necesarios para Windows, pero no lo tengo aquí para verificar. –

+0

Eso lo aclara, gracias. – Jon

Cuestiones relacionadas