2011-07-11 16 views
6

スクリプト(OS XとWindowsの両方)を使用してさまざまなGoogle Chromeの設定を設定しようとしています。私は正常にいくつかの設定を設定し、ブックマークを追加することができます。ユーザーのApplication DataフォルダにあるPreferencesおよびBookmarks jsonファイルを編集します。しかし、新しい既定の検索プロバイダーを設定しようとすると、ブラウザーは自動的にGoogle検索に戻ります。スクリプトを使用してChromeでデフォルト検索プロバイダを設定する

環境設定ファイルのデフォルトの検索プロバイダノードは次のようになります。私の目的の検索プロバイダーを追加するには

"default_search_provider": { 
    "enabled": true, 
    "encodings": "UTF-8", 
    "icon_url": "http://www.google.com/favicon.ico", 
    "id": "2", 
    "instant_url": "{google:baseURL}webhp?{google:RLZ}sourceid=chrome-instant&ie={inputEncoding}&ion=1{searchTerms}&nord=1", 
    "keyword": "google.com", 
    "name": "Google", 
    "prepopulate_id": "1", 
    "search_url": "{google:baseURL}search?{google:RLZ}{google:acceptedSuggestion}{google:originalQueryForSuggestion}sourceid=chrome&ie={inputEncoding}&q={searchTerms}", 
    "suggest_url": "{google:baseSuggestURL}search?client=chrome&hl={language}&q={searchTerms}" 
} 

、私は単に(レンチメニューを経由して)手動で追加した、効果を見ましたjsonファイルでこのアクションを実行し、これらの変更を模倣するスクリプトを作成しました。ただし、スクリプトで変更すると、デフォルトの検索プロバイダが最初の検索に使用されますが、次にクロームが開始されるときにリセットされます。私はここで何が欠けていますか?

+1

あなたは解決策を見つけましたか?私はこれをChrome拡張機能から変更する予定です。 – sorin

答えて

2

Google Chromeでデフォルトの検索プロバイダを変更する場合は、SQLiteファイルである 'Web Data'ファイルを変更する必要があります。

私のコンピュータでは、ファイルが見つかる場所はC:\Users\daniel\AppData\Local\Google\Chrome\User Data\Default(Windows7)です。

SQLiteデータベースブラウザでファイルの内容を参照してください。 1つのhereが見つかります。

+0

デフォルトの検索プロバイダはどのテーブルですか?それはweb_appsですか? –

4

このように、'Web Data'ファイルはsqliteデータベースです。

検索エンジンを追加するには、'keywords'テーブルにエントリを追加します。
デフォルトの検索エンジンを変更するには、'meta'テーブルの'Default Search Provider ID 'の値を編集します。

+0

これはとても良い答えです。 –

+0

こんにちは、私は同じを試みたが、必要なものを達成することができませんでした。私はこのソリューションの実装に良い指導を得ることができる任意のリソースを共有してください。また、ブラウザからのWebデータファイルの書き込みにはActiveXコントロールが必要です..これは私がステップしたくない領域です – zeetit

+0

@ var17私は、 "... ActiveXコントロールが必要なのはどういう意味ですか?" sqliteデータベースを編集するには、専用のアプリケーション([コマンドラインシェル](http://sqlite.org) /cli.html))、またはあなたの好みの言語のAPIを使用してください([API for C](http:// www。sqlite.org/capi3ref.html)または[python用](https://docs.python.org/2/library/sqlite3.html) いずれにせよ、 この質問はかなり古いので、私はソリューションがまだ動作しているかどうかはわかりません。 それはあなたのために働いた場合私に教えて! – Yuval

0

UbuntuでクロムとChromeのために働いているソリューションは、ここで見つけることができます:

https://github.com/andreashuber69/os-setup/blob/master/common/reset-browser-preferences

既定の検索プロバイダーの設定以外に、さらにリンクされたスクリプトは私の好みに合わせてクロム/ Chromeをカスタマイズします。 Chromeの場合、質問に関連する部分は次のようになります。

# Modify the preferences relevant to the default search provider 
cat ~/.config/google-chrome/Default/Preferences | jq '.default_search_provider_data.template_url_data={ "keyword": "duckduckgo.com", "short_name": "DuckDuckGo", "suggestions_url": "https://duckduckgo.com/ac/?q={searchTerms}&type=list", "url": "https://duckduckgo.com/?q={searchTerms}&t=canonical" }' >adapted-preferences.json 
mv adapted-preferences.json ~/.config/google-chrome/Default/Preferences 

これは検索エンジンのリストに新しいエントリを追加し、デフォルトとして設定します。既存のものを選択したい場合は、少し複雑です(詳細はスクリプトを参照)。上記にはパッケージjqが必要ですが、これはUbuntuの箱の外には存在しません。

他の投稿とは逆に、メタテーブルにデフォルトを設定することはできなくなったようです。上記のように、Preferencesファイルを使用して行う必要があります。

関連する問題