Ich habe einige Sucheinträge in Google Chrome mit "Suchmaschinen bearbeiten" erstellt.
Wie kann ich einige dieser Einträge mit meinen Kollegen teilen?
Ich habe einige Sucheinträge in Google Chrome mit "Suchmaschinen bearbeiten" erstellt.
Wie kann ich einige dieser Einträge mit meinen Kollegen teilen?
Antworten:
Hier ist ein einziger Befehl zum Exportieren Ihrer Chrome-Suchmaschinen als CSV unter Linux:
sqlite3 -csv ~/.config/chromium/Default/Web\ Data 'select short_name,keyword,url from keywords' > ~/search-engines.csv
Sie müssen sqlite3 installiert haben. Ersetzen Sie ~/.config/chrome
durch den entsprechenden Windows-Pfad, wenn Sie Windows verwenden. Sollte sowas sein%AppData%\Local\Google\Chrome\User Data
Anstatt nach CSV zu exportieren, können Sie auch nach SQLite-Einfügeanweisungen exportieren:
(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
Dann kopieren Sie ~/search-engine-export.sql
auf die andere Maschine und importieren mit diesem Befehl:
sqlite3 ~/.config/chromium/Default/Web\ Data < search-engine-export.sql
Stellen Sie sicher, dass Sie den Web Data
Pfad wie oben beschrieben durch den Pfad auf Ihrem Computer ersetzen .
function esc(s){gsub("\x27","\x27\x27",s);return s}
für $ 1 und $ 2 hinzufügen ====> esc ($ 1), esc ($ 2)
Im Folgenden finden Sie eine einfache Lösung zum Exportieren und Importieren von Chrome-Suchmaschineneinstellungen, ohne externe Tools zu verwenden oder die Registrierung zu bearbeiten:
chrome://settings/searchEngines
).So laden Sie eine JSON-Datei mit Suchmaschineneinstellungen herunter:
(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));
});
}());
So importieren Sie Einstellungen aus einer JSON-Datei, die mit dem obigen Skript erstellt wurde:
(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]);
});
}());
Anmerkungen
chrome://
URLs ausgeführt.Es ist möglich, aber es ist genug von einem Schmerz, den Sie nicht wollen.
Suchen Sie die Web-Datendatei in Ihrem Chrome-Profil. In Windows 7 wird es hier sein:
"%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Web Data"
Öffnen Sie die Datei mit einem SQLite-Programm wie SQLite Studio oder SQLite in Ubuntu (sudo apt-get install sqlite) und exportieren Sie die Schlüsselworttabelle in SQLite Studio oder führen Sie diesen Befehl unter Linux aus:
sqlite3 "Web Data" ".dump keywords" > keywords.sql
Lassen Sie Ihre Kollegen die Schlüsselwörter importieren, indem Sie den Vorgang in umgekehrter Reihenfolge durchführen.
Wie gesagt, möglich, aber schmerzhaft.
Ich habe einen Javascript-Parser geschrieben, um SQL von Webdaten in das nahezu universelle Netscape-Lesezeichen-Dateiformat in HTML umzuwandeln (ironischerweise ist Microsoft der maßgebliche Standard für dieses Format), wenn Sie die Schlüsselwörter in andere Browser wie Firefox übertragen möchten oder Opera.
Wenn Sie an einer alternativen Lösung interessiert sind, habe ich Shortmarks erstellt , mit denen Sie die gleichen benutzerdefinierten Suchmaschinen in jedem Browser verwenden können, und ich plane, die Möglichkeit zu implementieren, sie bald für andere freizugeben. Die kommende Veröffentlichung in ein paar Tagen wird den oben erwähnten Importcode haben, sobald ich mit dem Testen der neuen Funktionen fertig bin.
Ich habe Folgendes getan, um meine Google Chrome-Suchmaschineneinträge freizugeben, und es hat für mich einwandfrei funktioniert:
WINDOWS XP : Wechseln Sie zu C: \ Dokumente und Einstellungen \ MeinBenutzername \ Lokale Einstellungen \ Anwendungsdaten \ Google \ Chrome \ Benutzerdaten \ Standard
UNTER WINDOWS 7 : Wechseln Sie zu C: \ Users \ MyUserName \ AppData \ Local \ Google \ Chrome \ User Data \ Default
Kopieren Sie diese drei Dateien: Preferences
, Web Data
undWeb Data-journal
Legen Sie diese 3 Dateien auf den Zielcomputer
Ich habe ein Python-Skript geschrieben, das Definitionen aus JSON-Daten lädt. Jetzt können Sie Ihre Konfiguration als Code verwalten:
https://gist.github.com/ninowalker/9952bf435f8acffa3ef59d6c538ca165
Dies ist idempotent (z. B. kann mehrmals ausgeführt werden; Duplikate werden nicht anhand von Schlüsselwörtern hinzugefügt).
Funktioniert mit Python2 und OSX. Kann geändert werden, um andere Plattformen zu unterstützen.
Ich arbeite unter Windows 10 und wollte Suchmaschinen von meinem persönlichen Chrome-Profil in mein Corporate Chrome-Profil kopieren. Ich habe folgendes gemacht:
Ich habe SQLite von https://www.sqlite.org/download.html heruntergeladen (unter "Vorkompilierte Binärdateien" mit der Beschreibung "Ein Paket von Befehlszeilentools zum Verwalten von SQLite-Datenbankdateien"). Ich habe es entpackt, c:\utils
das ist schon in meinem Weg
Ich habe cmd.exe geöffnet
Ich habe das Verzeichnis in mein standardmäßiges (persönliches) Chrome-Profil geändert
cd "%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default"
Ich habe Chrome vollständig beendet (sogar in der Taskleiste). Bewahren Sie außerdem eine Kopie dieser Anweisungen auf (oder öffnen Sie sie in einem anderen Browser), da Sie sie verlieren werden.
Ich habe folgendes ausgeführt:
sqlite3 "Web Data" ".dump keywords" > c:\keywords.sql
Ich habe auf das neue Profil gewechselt:
cd "..\Profile 2\"
Ich habe folgendes ausgeführt:
sqlite3.exe "Web Data" < c:\keywords.sql
Ich habe folgende Fehler, die in Ordnung sind:
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
Wenn mehr Fehler auftreten, haben Sie Ihrem neuen Profil Suchmaschinen hinzugefügt. Löschen Sie alle, einschließlich der gerade hinzugefügten, und führen Sie diesen Schritt erneut aus. Oder bearbeiten Sie die SQL-Datei von Hand.
So mache ich es (ich erinnere mich nicht, wo ich es gefunden habe).
Erstellen Sie ein Skript 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
Erstellen Sie ein Skript 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
Machen Sie sie ausführbar:
chmod +x export_chrome_search_engines.sh import_chrome_search_engines.sh
Beenden Sie zum Exportieren Chrome und führen Sie Folgendes aus:
./export_chrome_search_engines.sh
cp ~/.config/google-chrome/Default/keywords.sql /tmp/
Beenden Sie zum Importieren Chrome und führen Sie Folgendes aus:
cp /tmp/keywords.sql ~/.config/google-chrome/Default
./import_chrome_search_engines.sh
Nein, kannst du jetzt nicht. Sie können jedoch Lesezeichen für Ihre Kollegen freigeben.
Verknüpfung mit der Freigabe von Google-Lesezeichen Ab sofort können Google App-Benutzer keine Lesezeichen oder Lesezeichenlisten mehr freigeben.