Как включить / отключить расширения google chrome через консоль
сегодня, открывая Google Chrome, я понял, что нет простого способа включить или отключить расширение, не перейдя в одно из следующих мест:
- chrome: / / расширения
- щелчок по инструментам>расширения>включить / отключить
причина, почему это так важно, из-за ресурсов, которые он занимает.
например: я буду запускать свой компьютер, и я сразу хочу быстро открыть Google Chrome. Предположим, например, что я запускаю 100 процессов, прежде чем открыть Chrome. Однако, как только я открываю Chrome, это число переходит к 160 из-за всех расширений, которые загружаются при запуске.
вот чего я хочу достичь и текущие ограничения:
Ожидаемый Результат: Легко включить/отключить/удалить расширение с помощью консоли
ограничения: Невозможно сгруппировать много расширений, чтобы они могли легко быть включен/отключен
пожалуйста, дайте мне знать, если эта часть вопроса не допускается/не по теме
1 ответов
Chrome хранит настройки расширения в файле JSON с именем Preferences в каталоге вашего профиля (здесь это~/.config / google-chrome / по умолчанию / настройки). Флаг enabled/disabled является ключом "state" для каждого расширения, с 1 для enabled и 0 для disabled. Вы можете написать сценарий, который изменил этот файл перед запуском Chrome. Вы можете установить этот скрипт для запуска при входе в систему и даже для запуска Chrome в конце, если вы хотите автоматически запустить Chrome. Сохранить список расширений, которые вы хотите явно отключите pre-launch, чтобы выбрать только некоторые из них.
Я бы убедился, что вы не обновляете настройки во время работы Chrome.
это работает для меня и, вероятно, будет работать на любой *nix-подобной системе. Перенос в Windows должен быть довольно прямым: chrome_dir и проверка того, работает ли Chrome или нет, могут быть единственными необходимыми изменениями.
#!/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)