আমি 'অনুসন্ধান ইঞ্জিনগুলি সম্পাদনা করুন' ব্যবহার করে গুগল ক্রোমে কয়েকটি অনুসন্ধান এন্ট্রি তৈরি করেছি।
আমি কীভাবে এন্ট্রিগুলির কিছু আমার সহকর্মীদের সাথে ভাগ করতে পারি?
আমি 'অনুসন্ধান ইঞ্জিনগুলি সম্পাদনা করুন' ব্যবহার করে গুগল ক্রোমে কয়েকটি অনুসন্ধান এন্ট্রি তৈরি করেছি।
আমি কীভাবে এন্ট্রিগুলির কিছু আমার সহকর্মীদের সাথে ভাগ করতে পারি?
উত্তর:
আপনার ক্রোম অনুসন্ধান ইঞ্জিনগুলি লিনাক্সে সিএসভি হিসাবে রফতানি করার জন্য এখানে একটি একক আদেশ রয়েছে:
sqlite3 -csv ~/.config/chromium/Default/Web\ Data 'select short_name,keyword,url from keywords' > ~/search-engines.csv
আপনার sqlite3 ইনস্টল করা দরকার। ~/.config/chrome
আপনি উইন্ডোজ থাকলে সম্পর্কিত উইন্ডোজ পাথের সাথে প্রতিস্থাপন করুন। কিছু হতে হবে%AppData%\Local\Google\Chrome\User Data
সিএসভিতে রফতানি করার পরিবর্তে, আপনি স্ক্লাইট সন্নিবেশ বিবৃতিগুলিতে রফতানি করতে পারেন:
(printf 'begin transaction;\n'; sqlite3 ~/.config/chromium/Default/Web\ Data 'select short_name,keyword,url,favicon_url from keywords' | awk -F\| '{ printf "insert into keywords (short_name, keyword, url, favicon_url) values ('"'"%s"'"', '"'"%s"'"', '"'"%s"'"', '"'"%s"'"');\n", $1, $2, $3, $4 }'; printf 'end transaction;\n') > ~/search-engine-export.sql
তারপরে ~/search-engine-export.sql
অন্য মেশিনে অনুলিপি করুন এবং এই আদেশটি দিয়ে আমদানি করুন:
sqlite3 ~/.config/chromium/Default/Web\ Data < search-engine-export.sql
Web Data
উপরে বর্ণিত অনুসারে আপনার মেশিনে থাকা একটিতে পাথটি প্রতিস্থাপনের বিষয়টি নিশ্চিত করা ।
function esc(s){gsub("\x27","\x27\x27",s);return s}
1 এবং = 2 ====>
কোনও বাহ্যিক সরঞ্জাম ব্যবহার বা রেজিস্ট্রি সম্পাদনা না করে ক্রোম অনুসন্ধান ইঞ্জিন সেটিংস রফতানি ও আমদানির একটি সহজ সমাধান এখানে রয়েছে:
chrome://settings/searchEngines
)।অনুসন্ধান ইঞ্জিন সেটিংস সহ একটি JSON ফাইল ডাউনলোড করতে:
(function exportSEs() {
/* Auxiliary function to download a file with the exported data */
function downloadData(filename, data) {
const file = new File([data], { type: 'text/json' });
const elem = document.createElement('a');
elem.href = URL.createObjectURL(file);
elem.download = filename;
elem.click();
}
/* Actual search engine export magic */
settings.SearchEnginesBrowserProxyImpl.prototype.getSearchEnginesList()
.then((searchEngines) => {
downloadData('search_engines.json', JSON.stringify(searchEngines.others));
});
}());
উপরের স্ক্রিপ্টটি ব্যবহার করে তৈরি করা একটি JSON ফাইল থেকে সেটিংস আমদানি করতে:
(async function importSEs() {
/* Auxiliary function to open a file selection dialog */
function selectFileToRead() {
return new Promise((resolve) => {
const input = document.createElement('input');
input.setAttribute('type', 'file');
input.addEventListener('change', (e) => {
resolve(e.target.files[0]);
}, false);
input.click();
});
}
/* Auxiliary function to read data from a file */
function readFile(file) {
return new Promise((resolve) => {
const reader = new FileReader();
reader.addEventListener('load', (e) => {
resolve(e.target.result);
});
reader.readAsText(file);
});
}
const file = await selectFileToRead();
const content = await readFile(file);
const searchEngines = JSON.parse(content);
searchEngines.forEach(({ name, keyword, url }) => {
/* Actual search engine import magic */
chrome.send('searchEngineEditStarted', [-1]);
chrome.send('searchEngineEditCompleted', [name, keyword, url]);
});
}());
নোট
chrome://
ইউআরএলগুলিতে চালিত হয় না (সেখানে ছিলেন, হয়ে গেছে)।এটি সম্ভব, তবে এটি এমন ব্যথা যথেষ্ট যে আপনি চান না।
আপনার ক্রোম প্রোফাইলে ওয়েব ডেটা ফাইলটি সন্ধান করুন। উইন্ডোজ 7 এ এটি এখানে থাকবে:
"%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Web Data"
এসকিউএল স্টুডিও বা উবুন্টুতে স্ক্লাইটের মতো একটি এসকিউএল প্রোগ্রাম সহ ফাইলটি খুলুন এবং এসকিউএল স্টুডিওতে কীওয়ার্ড টেবিলটি রফতানি করুন বা লিনাক্সে এই কমান্ডটি চালান:
sqlite3 "Web Data" ".dump keywords" > keywords.sql
আপনার সহকর্মীদের কীওয়ার্ডগুলি আমদানি করুন, এই প্রক্রিয়াটির বিপরীতে কাজ করুন।
আমি যেমন বলেছি, সম্ভব, তবে বেদনাদায়ক।
যদি আপনি ফায়ারফক্সের মতো অন্যান্য ব্রাউজারগুলিতে কীওয়ার্ডগুলি পেতে আগ্রহী হন তবে ওয়েব-ডেটা থেকে এসকিউএলকে প্রায় সর্বজনীন নেটস্কেপ বুকমার্ক ফাইল ফর্ম্যাটে HTML এ রূপান্তর করতে আমি একটি জাভাস্ক্রিপ্ট পার্সার লিখেছি iron বা অপেরা।
আপনি যদি কোনও বিকল্প সমাধানে আগ্রহী হন তবে আমি কোনও ব্রাউজারে আপনাকে একই কাস্টম অনুসন্ধান ইঞ্জিন ব্যবহার করার অনুমতি দেওয়ার জন্য শর্টকাট তৈরি করেছি এবং শীঘ্রই অন্যদের সাথে ভাগ করে নেওয়ার ক্ষমতাটি বাস্তবায়নের পরিকল্পনা করছি। আসন্ন প্রকাশের কয়েক দিনের মধ্যে আমি নতুন বৈশিষ্ট্যগুলির পরীক্ষা শেষ করার সাথে সাথে উপরে উল্লিখিত আমদানি কোডটি আসবে।
আমি আমার গুগল ক্রোম অনুসন্ধান ইঞ্জিন এন্ট্রিগুলি ভাগ করার জন্য নিম্নলিখিতগুলি করেছি এবং এটি আমার পক্ষে পুরোপুরি সূক্ষ্মভাবে কাজ করেছে:
উইন্ডোজ এক্সপি : সিটিতে যান: ডকুমেন্টস এবং সেটিংস \ মাইউসারনেম \ স্থানীয় সেটিংস \ অ্যাপ্লিকেশন ডেটা \ গুগল \ ক্রোম \ ব্যবহারকারীর ডেটা \ ডিফল্ট
উইন্ডোজে 7 : সি তে যান: ব্যবহারকারীগণ \ মাইউজারনেম \ অ্যাপডাটা ata স্থানীয় \ গুগল \ ক্রোম \ ব্যবহারকারীর ডেটা \ ডিফল্ট
এই 3 টি ফাইল অনুলিপি করুন: Preferences
, Web Data
এবংWeb Data-journal
লক্ষ্য মেশিনে এই 3 টি ফাইল রাখুন
আমি একটি পাইথন স্ক্রিপ্ট লিখেছিলাম যা জেএসএন ডেটা থেকে সংজ্ঞা লোড করে। এখন আপনি কোড হিসাবে আপনার কনফিগারেশন পরিচালনা করতে পারেন:
https://gist.github.com/ninowalker/9952bf435f8acffa3ef59d6c538ca165
এটি আদর্শবান (উদাহরণস্বরূপ একাধিকবার চালানো যেতে পারে; কীওয়ার্ড দ্বারা নকল যোগ করা যাবে না)।
পাইথন 2 এবং ওএসএক্সের সাথে কাজ করে। অন্যান্য প্ল্যাটফর্মগুলিকে সমর্থন করার জন্য পরিবর্তন করা যেতে পারে।
আমার জন্য, আমি উইন্ডোজ 10 এ আছি এবং আমি আমার ব্যক্তিগত ক্রোম প্রোফাইল থেকে কর্পোরেট কর্পোরেট ক্রোম প্রোফাইলে অনুসন্ধান ইঞ্জিনগুলি অনুলিপি করতে চেয়েছিলাম। আমি নিম্নলিখিতগুলি করেছি:
আমি এসকিউএলাইটটি https://www.sqlite.org/download.html থেকে ডাউনলোড করেছি ("প্রাক্পম্পাইল্ড বাইনারিস" এর অধীনে "এসকিউএল ডাটাবেস ফাইল পরিচালনা করার জন্য কমান্ড-লাইন সরঞ্জামগুলির একটি বান্ডিল") বর্ণনা সহ। আমি c:\utils
ইতিমধ্যে আমার পথে এটি আনজিপ করেছি
আমি খুললাম cmd.exe
আমি ডিরেক্টরিটি আমার ডিফল্ট (ব্যক্তিগত) ক্রোম প্রোফাইলে পরিবর্তন করেছি
cd "%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default"
আমি ক্রোম পুরোপুরি (এমনকি ট্রেতেও) বেরিয়ে এসেছি। এছাড়াও, এই নির্দেশাবলীর একটি অনুলিপি রাখুন (বা এগুলিকে অন্য কোনও ব্রাউজারে খুলুন) কারণ আপনি সেগুলি আলগা করে দিন।
আমি নিম্নলিখিত চালানো:
sqlite3 "Web Data" ".dump keywords" > c:\keywords.sql
আমি নতুন প্রোফাইলে পরিবর্তন করেছি:
cd "..\Profile 2\"
আমি এটি চালিয়েছি:
sqlite3.exe "Web Data" < c:\keywords.sql
আমি নিম্নলিখিত ত্রুটিগুলি পেয়েছি, যা ঠিক আছে:
Error: near line 4: UNIQUE constraint failed: keywords.id
Error: near line 5: UNIQUE constraint failed: keywords.id
Error: near line 6: UNIQUE constraint failed: keywords.id
Error: near line 7: UNIQUE constraint failed: keywords.id
Error: near line 8: UNIQUE constraint failed: keywords.id
আপনি যদি আরও ত্রুটি পান তবে এর অর্থ হ'ল আপনি আপনার নতুন প্রোফাইলে অনুসন্ধান ইঞ্জিন যুক্ত করেছেন। এই নতুনগুলি সহ এই সমস্তটি মুছুন, কেবল এই পদক্ষেপটি যুক্ত এবং পুনরায় চালানো। অথবা হাতে এসকিউএল ফাইল সম্পাদনা করুন।
এইভাবে আমি এটি করি (আমি এটি কোথায় পেয়েছি তা মনে নেই)।
একটি স্ক্রিপ্ট তৈরি করুন export_chrome_search_engines.sh
:
#!/bin/sh
DESTINATION=${1:-./keywords.sql}
TEMP_SQL_SCRIPT=/tmp/sync_chrome_sql_script
echo "Exporting Chrome keywords to $DESTINATION..."
cd ~/.config/google-chrome/Default
echo .output $DESTINATION > $TEMP_SQL_SCRIPT
echo .dump keywords >> $TEMP_SQL_SCRIPT
sqlite3 -init $TEMP_SQL_SCRIPT Web\ Data .exit
rm $TEMP_SQL_SCRIPT
একটি স্ক্রিপ্ট তৈরি করুন import_chrome_search_engines.sh
:
#!/bin/sh
if ps -x | grep -v grep | grep Google\ Chrome > /dev/null; then
echo "Close Chrome and try again..."
exit 1
fi
SOURCE=${1:-./keywords.sql}
#SOURCE=$1
TEMP_SQL_SCRIPT=/tmp/sync_chrome_sql_script
echo
echo "Importing Chrome keywords from $SOURCE..."
cd ~/.config/google-chrome/Default
echo DROP TABLE IF EXISTS keywords\; > $TEMP_SQL_SCRIPT
echo .read $SOURCE >> $TEMP_SQL_SCRIPT
sqlite3 -init $TEMP_SQL_SCRIPT Web\ Data .exit
rm $TEMP_SQL_SCRIPT
তাদের সম্পাদনযোগ্য করুন:
chmod +x export_chrome_search_engines.sh import_chrome_search_engines.sh
এক্সপোর্ট করতে, ক্রোম বন্ধ করুন এবং চালান:
./export_chrome_search_engines.sh
cp ~/.config/google-chrome/Default/keywords.sql /tmp/
আমদানি করতে, Chrome বন্ধ করুন এবং চালান:
cp /tmp/keywords.sql ~/.config/google-chrome/Default
./import_chrome_search_engines.sh
এখন হিসাবে, না আপনি পারবেন না। তবে, আপনি আপনার সহকর্মীদের সাথে বুকমার্কগুলি ভাগ করতে পারেন।
এখন পর্যন্ত গুগল বুকমার্ক ভাগ করে নেওয়ার সাথে লিঙ্ক করুন , গুগল অ্যাপ ব্যবহারকারীগণ বুকমার্কগুলি বা বুকমার্কের তালিকা ভাগ করতে পারবেন না।