Ho creato alcune voci di ricerca in Google Chrome utilizzando "Modifica motori di ricerca".
Come posso condividere alcune di queste voci con i miei colleghi?
Ho creato alcune voci di ricerca in Google Chrome utilizzando "Modifica motori di ricerca".
Come posso condividere alcune di queste voci con i miei colleghi?
Risposte:
Ecco un solo comando per esportare i tuoi motori di ricerca di Chrome come CSV su Linux:
sqlite3 -csv ~/.config/chromium/Default/Web\ Data 'select short_name,keyword,url from keywords' > ~/search-engines.csv
È necessario che sqlite3 sia installato. Sostituisci ~/.config/chrome
con il percorso Windows corrispondente se sei su Windows. Dovrebbe essere qualcosa di simile%AppData%\Local\Google\Chrome\User Data
Invece di esportare in CSV, è possibile esportare in istruzioni insert sqlite:
(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
Quindi copia ~/search-engine-export.sql
sull'altro computer e importa con questo comando:
sqlite3 ~/.config/chromium/Default/Web\ Data < search-engine-export.sql
Assicurati di sostituire il Web Data
percorso con quello sulla tua macchina come descritto sopra.
function esc(s){gsub("\x27","\x27\x27",s);return s}
per $ 1 e $ 2 ====> esc ($ 1), esc ($ 2)
Ecco una semplice soluzione per esportare e importare le impostazioni del motore di ricerca di Chrome senza utilizzare strumenti esterni o modificare il registro:
chrome://settings/searchEngines
).Per scaricare un file JSON con le impostazioni del motore di ricerca:
(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));
});
}());
Per importare le impostazioni da un file JSON creato utilizzando lo script sopra:
(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]);
});
}());
Gli appunti
chrome://
URL (ci sono stato, fatto quello).È possibile, ma è abbastanza un dolore che non vorrai.
Trova il file di dati Web nel tuo profilo Chrome. In Windows 7 sarà qui:
"%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Web Data"
Apri il file con un programma SQLite come SQLite Studio o sqlite in Ubuntu (sudo apt-get install sqlite) ed esporta la tabella delle parole chiave in SQLite Studio o esegui questo comando in Linux:
sqlite3 "Web Data" ".dump keywords" > keywords.sql
Chiedi ai tuoi colleghi di importare le parole chiave, facendo il contrario di questo processo.
Come ho detto, possibile, ma doloroso.
Ho scritto un parser Javascript per convertire l'SQL dai dati Web nel formato di file segnalibro Netscape quasi universale in HTML (ironico che lo standard definitivo per quel formato sembra essere Microsoft) se sei interessato a ottenere le parole chiave in altri browser come Firefox o Opera.
Se sei interessato a una soluzione alternativa, ho creato Shortmarks per permetterti di utilizzare lo stesso set di motori di ricerca personalizzati in qualsiasi browser e ho intenzione di implementare presto la possibilità di condividere con altri. La prossima uscita tra qualche giorno avrà il codice di importazione che ho menzionato sopra non appena avrò finito di testare le nuove funzionalità.
Ho seguito per condividere le voci del mio motore di ricerca di Google Chrome e ha funzionato perfettamente per me:
WINDOWS XP : vai a C: \ Documents and Settings \ Nomeutente_utente \ Impostazioni locali \ Dati applicazioni \ Google \ Chrome \ Dati utente \ Predefinito
SU WINDOWS 7 : Vai a C: \ Utenti \ Nome utente \ AppData \ Local \ Google \ Chrome \ User Data \ Default
Copiare questi 3 file: Preferences
, Web Data
eWeb Data-journal
Metti quei 3 file sul computer di destinazione
Ho scritto uno script Python che carica le definizioni dai dati JSON. Ora puoi gestire la tua configurazione come codice:
https://gist.github.com/ninowalker/9952bf435f8acffa3ef59d6c538ca165
Questo è idempotente (ad es. Può essere eseguito più volte; non aggiungere duplicati per parola chiave).
Funziona con python2 e OSX. Può essere modificato per supportare altre piattaforme.
Per me, sono su Windows 10 e volevo copiare i motori di ricerca dal mio profilo Chrome personale al mio profilo Chrome aziendale. Ho fatto quanto segue:
Ho scaricato SQLite da https://www.sqlite.org/download.html (sotto "Binari precompilati" con la descrizione "Un pacchetto di strumenti da riga di comando per la gestione dei file di database SQLite"). L'ho decompresso per c:\utils
quello che è già nel mio percorso
Ho aperto cmd.exe
Ho cambiato la directory con il mio profilo Chrome (personale) predefinito
cd "%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default"
Sono uscito completamente da Chrome (anche nel vassoio). Inoltre, conserva una copia di queste istruzioni (o aprile in un altro browser) perché le perderai.
Ho eseguito il seguente:
sqlite3 "Web Data" ".dump keywords" > c:\keywords.sql
Sono passato al nuovo profilo:
cd "..\Profile 2\"
Ho eseguito questo:
sqlite3.exe "Web Data" < c:\keywords.sql
Ho riscontrato i seguenti errori, che vanno bene:
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
Se ricevi più errori, significa che hai aggiunto motori di ricerca al tuo nuovo profilo. Eliminali tutti, compresi questi nuovi aggiunti e riesegui questo passaggio. Oppure modifica il file SQL manualmente.
Ecco come lo faccio (non ricordo dove l'ho trovato).
Crea uno script 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
Crea uno 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
Renderli eseguibili:
chmod +x export_chrome_search_engines.sh import_chrome_search_engines.sh
Per esportare, chiudi Chrome ed esegui:
./export_chrome_search_engines.sh
cp ~/.config/google-chrome/Default/keywords.sql /tmp/
Per importare, spegni Chrome ed esegui:
cp /tmp/keywords.sql ~/.config/google-chrome/Default
./import_chrome_search_engines.sh
A partire da ora, no non puoi. Tuttavia, puoi condividere i segnalibri con i tuoi colleghi.
Link alla condivisione dei segnalibri di Google fin d'ora, gli utenti di Google App non sono in grado di condividere segnalibri o elenchi di segnalibri.