Chrome は、プロファイル ディレクトリ (ここでは ~/.config/google-chrome/Default/Preferences) の Preferences という名前の JSON ファイルに拡張機能の設定を保存します。有効/無効フラグは、各拡張機能の「状態」キーであり、有効な場合は 1、無効な場合は 0 です。Chrome を起動する前に、このファイルを変更するスクリプトを作成できます。Chrome を自動起動したい場合は、このスクリプトをログイン時に実行し、最後に Chrome を起動するように設定することもできます。事前起動を明示的に無効にして一部のみを選択する拡張機能のリストを保存します。
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)