2011-07-11 35 views
6

Tôi đang cố gắng đặt nhiều tùy chọn Google Chrome khác nhau thông qua tập lệnh (trên cả OS X và Windows). Tôi có thể thiết lập thành công một số tùy chọn và thêm dấu trang bằng cách chỉnh sửa các tệp json Tùy chọn và Dấu trang trong thư mục Dữ liệu Ứng dụng của người dùng. Tuy nhiên, khi tôi cố gắng đặt nhà cung cấp dịch vụ tìm kiếm mặc định mới, trình duyệt sẽ tự động hoàn nguyên về tìm kiếm của Google.Đặt Nhà cung cấp dịch vụ tìm kiếm mặc định trên Chrome thông qua tập lệnh

Các nhà cung cấp tìm kiếm mặc định nút trong file Preferences trông như thế này:

"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}" 
} 

Để thêm nhà cung cấp tìm kiếm mong muốn của tôi, tôi đã chỉ cần thêm nó bằng tay (thông qua menu cờ lê), xem hiệu quả của hành động này trên tệp json, và sau đó viết một kịch bản để bắt chước những thay đổi này. Tuy nhiên, khi tôi thay đổi thông qua tập lệnh, nhà cung cấp dịch vụ tìm kiếm mặc định được sử dụng cho tìm kiếm đầu tiên, nhưng sau đó đặt lại vào lần tiếp theo chrome được bắt đầu. Tôi đang thiếu gì ở đây?

+1

Bạn đã tìm thấy giải pháp chưa? Tôi đang tìm cách thay đổi điều này từ Tiện ích của Chrome. – sorin

Trả lời

2

Nếu bạn muốn thay đổi nhà cung cấp dịch vụ tìm kiếm mặc định trong Google Chrome, bạn phải sửa đổi tệp 'Dữ liệu web' là tệp SQLite.

Trên máy tính của tôi, nơi bạn có thể tìm thấy tệp là C:\Users\daniel\AppData\Local\Google\Chrome\User Data\Default (Windows7).

Xem nội dung của tệp bằng Trình duyệt cơ sở dữ liệu SQLite; bạn có thể tìm thấy một số here.

+0

Bảng nào là nhà cung cấp dịch vụ tìm kiếm mặc định? Có phải web_apps không? –

4

như đã đề cập, bạn nên chỉnh sửa tệp 'Web Data', là cơ sở dữ liệu sqlite.

Để thêm công cụ tìm kiếm, hãy thêm mục nhập vào bảng 'keywords'.
Để thay đổi công cụ tìm kiếm mặc định, hãy chỉnh sửa giá trị 'Default Search Provider ID 'bên trong bảng 'meta'.

+0

Đó là một câu trả lời rất hay. –

+0

Xin chào, tôi đã thử như cũ nhưng không thể thực hiện được yêu cầu. Bạn có thể chia sẻ bất kỳ tài nguyên nào mà tôi có thể có được hướng dẫn tốt hơn về triển khai giải pháp này hay không. Ngoài ra, tệp dữ liệu Web bằng văn bản từ trình duyệt sẽ cần điều khiển ActiveX .. điều này một lần nữa là lãnh thổ tôi không muốn bước vào – zeetit

+0

@ var17 I ' m không chắc chắn những gì bạn có ý nghĩa bởi ".. sẽ cần điều khiển ActiveX ..." Để chỉnh sửa một cơ sở dữ liệu sqlite bạn có thể sử dụng một ứng dụng chuyên dụng (chẳng hạn như [dòng lệnh shell] (http://sqlite.org) /cli.html)) hoặc sử dụng API cho ngôn ngữ ưa thích của bạn (chẳng hạn như [API cho C] (http: // www.sqlite.org/capi3ref.html) hoặc [cho python] (https://docs.python.org/2/library/sqlite3.html)) Bất kỳ cách nào, Câu hỏi này khá cũ, vì vậy tôi không chắc chắn nếu giải pháp vẫn hoạt động. Hãy cho tôi biết nếu nó phù hợp với bạn! – Yuval

0

Một giải pháp mà đang làm việc cho Chromium và Chrome trên Ubuntu có thể được tìm thấy ở đây:

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

Bên cạnh đó thiết lập các nhà cung cấp tìm kiếm mặc định, kịch bản liên kết hơn nữa tùy Chromium/Chrome theo ý thích của tôi. Đối với Chrome, phần liên quan đến câu hỏi như sau:

# 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 

Điều này chỉ cần thêm mục nhập mới vào danh sách công cụ tìm kiếm và đặt làm mặc định. Nếu bạn muốn chọn một cái hiện có, mọi thứ phức tạp hơn một chút (xem kịch bản để biết chi tiết). Ở trên đòi hỏi jq gói, mà không phải là hiện tại ra khỏi hộp trên Ubuntu.

Trái ngược với các bài đăng khác, có vẻ như không thể đặt mặc định trong bảng meta. Nó phải được thực hiện thông qua tệp Preferences như được hiển thị ở trên.

Các vấn đề liên quan