brampftl
Goto Top

per skript eintrag in firefox prefs.js schreiben oder verändern

Parameter App.update.enabled= true auf App.update.enabled=false setzen

guten tag!
hintergrund: wir nutzen in der firma firefox und thuderbird. da sich beide programme atuomatisch updaten, kommt unsere softwareverwaltung in konflikt mit lokalen updates.
um die automatisierten updates zu verhindern, muss man in der prefs.js den parameter App.update.enabled ändern. da wir 130 user haben, ist eine skript-lösung praktisch. da ich aber keine erfahrung im shellscripting habe, wäre ich für hilfe dankbar.

das skript durchsucht die unterverzeichnisse des ordners USER nach dateien mit dem namen prefs.js. es durchsucht die datei nach dem eintrag App.update.enabled und ändert ihn ggf. auf false.
falls der parameter App.update.enabled nicht vorhanden ist, fügt er ihn am ende ein.

danke für ihre hilfe.
brampftl

Content-Key: 65141

Url: https://administrator.de/contentid/65141

Printed on: April 19, 2024 at 23:04 o'clock

Member: fugu
fugu Jul 31, 2007 at 21:21:17 (UTC)
Goto Top
Moinz!

Quick'n'Dirty und ohne Garantie!

#!/bin/bash 
find /home -depth -name prefs.js | while read i; do cp "$i" "${i%}.alt" && sed -e 's/Parameter\ App.update.enabled=\ true/Parameter\ App.update.enabled=\ false/g' prefs.js > prefs.js.neu && mv prefs.js.neu prefs.js; done  

Auf jeden Fall NICHT auf 'nem Konstruktiv-System ausprobieren!

Greetz, Fugu
Member: brampftl
brampftl Aug 01, 2007 at 05:13:51 (UTC)
Goto Top
hi fugu, danke.


ich sollte evtl hinzufügen, dass die syntax in der prefs.js wie folgt aussieht:

z.B.
user_pref("browser.cache.memory.enable", false);
user_pref("accessibility.typeaheadfind.flashBar", 0);
user_pref("app.update.lastUpdateTime.addon-background-update-timer", 1170246952);
user_pref("app.update.lastUpdateTime.background-update-timer", 1170246949);
user_pref("app.update.lastUpdateTime.blocklist-background-update-timer", 1170246952);
user_pref("app.update.lastUpdateTime.search-engine-update-timer", 1170246954);
user_pref("browser.cache.disk.parent_directory", "c:\\TEMP");
user_pref("browser.download.manager.closeWhenDone", true);
user_pref("browser.download.manager.retention", 0);
user_pref("browser.download.useDownloadDir", false);
user_pref("browser.preferences.advanced.selectedTabIndex", 1);
user_pref("browser.preferences.privacy.selectedTabIndex", 4);
user_pref("browser.search.selectedEngine", "Google");
user_pref("browser.shell.checkDefaultBrowser", false);
user_pref("browser.startup.homepage", "blubb.de");
user_pref("browser.startup.homepage_override.mstone", "rv:1.8.1.1");
user_pref("browser.tabs.autoHide", false);


und dazu muss nun die zeile (falls nicht vorhanden)

user_pref("app.update.enabled", false);

oder das true in dieser zeile muss durch false ersetzt werden.

wie wärs mit folgender reihenfolge...
-suche in allen unterverzeichnisen im order home nach pref.js
-wenn zeile user_pref("app.update.enabled", false); vorhanden, suche weiter
-wenn zeile user_pref("app.update.enabled", true); ändere in user_pref("app.update.enabled", false);
-wenn zeile user_pref("app.update.enabled", false); nicht vorhanden, ergänze um zeile user_pref("app.update.enabled", false);

oder so... hm
Member: juancatalan
juancatalan Aug 23, 2007 at 22:24:57 (UTC)
Goto Top
Hi,
Wenn user_pref("app.update.enabled", false); vorhanden ist, wird auch nichts von sed ersetzt.
-wenn zeile user_pref("app.update.enabled", true); ändere in user_pref("app.update.enabled", false);
Das ist mit dem Teil der Ersetzung (sed ...) erschlagen.
-wenn zeile user_pref("app.update.enabled", false); nicht vorhanden, ergänze um zeile user_pref("app.update.enabled", false);
Falls weder 'falsch' noch 'ersetzen' zutrifft, sollte man annehmen, daß Firefox auch nichts auto-verwurschtelt.
Also sollte genannte Lösung die Aufgabe schon hinreichend erledigen.

bis dann
Juan