Как мне изменить Firefox: настройки конфигурации через внешний файл.bat?

Я хотел бы изменить значение определенного свойства about:config с помощью сценария, внешнего по отношению к Firefox.

Кто-нибудь из вас пробовал это раньше? Я читал, что вы можете изменить "prefs.js", но мне было интересно, есть ли более простой и правильный подход. Например, может быть:

  • аргумент командной строки для исполняемого файла Firefox (в этом случае будет работать командный файл)
  • настройки реестра (файл.reg будет работать)

3 ответа

Решение

Комментарии в файле prefs.js:

# Mozilla User Preferences

/* Do not edit this file.
 *
 * If you make changes to this file while the application is running,
 * the changes will be overwritten when the application exits.
 *
 * To make a manual change to preferences, you can visit the URL about:config
 * For more information, see http://www.mozilla.org/unix/customizing.html#prefs
 */

Тем не менее, вы сможете редактировать файл с закрытым приложением, и новые настройки вступят в силу после его запуска.

Однако, в зависимости от того, какие параметры вы хотите изменить: я не верю, что параметры реестра или командной строки приведут вас к тем же настройкам. Настройки реестра более специфичны для системы, а не для пользователя; а параметры командной строки предоставят вам конкретные переключатели экземпляров для приложения, такие как размер окна и какие профили загружать и т. д.

Если вы знаете конкретный параметр, который хотите изменить, вы можете найти его в файле prefs.js с помощью регулярного выражения (я бы выбрал VBScript), написать новый файл с параметром замены, а затем переименовать / удалить файлы, чтобы новый prefs.js заменяет предыдущий.

Вот как вы можете написать скрипт настройки FireFox для одного или нескольких компьютеров Linux

  1. Сделайте резервную копию файла ~/.mozilla/firefox/mr8jxm35.default/prefs.js
  2. Настройте Firefox с помощью:config
  3. Сравните резервную копию с фактическим prefs.js
  4. Создайте свой сценарий на основе желаемой настройки

CustFireFox.sh

#!/bin/sh   
function SetFirefoxPref() {
  for PropName in "$@"; do
    LINE=$(grep -n "$PropName" ~/.mozilla/firefox/mr8jxm35.default/prefs.js | cut -f1 -d:)
    sed -i $LINE"s/true/false/" ~/.mozilla/firefox/mr8jxm35.default/prefs.js
    echo $PropName
  done
unset PropName
unset LINE
}

SetFirefoxPref \
    "browser.download.useDownloadDir" \
    "browser.fixup.alternate.enabled" \
    "browser.urlbar.trimURLs" \
    "general.warnOnAboutConfig" \
    "keyword.enabled"

Вы можете вызвать свой скрипт из / etc / profile, чтобы убедиться, что все текущие или новые пользователи будут иметь одинаковую настройку - вы также можете включить настройки прокси и т. Д.

Вдохновленный решением, предложенным в /questions/556507/kak-mne-izmenit-firefox-nastrojki-konfiguratsii-cherez-vneshnij-fajlbat/556516#556516, я написал небольшой скрипт, который может менять значения пользовательских настроек произвольно, а не просто устанавливать их изtrue«ложь». Примеры

      PREFS_FILE=~/.mozilla/firefox/abc123def.default-release/prefs.js
set-pref $PREFS_FILE browser.tabs.closeWindowWithLastTab false  # changed from true
set-pref $PREFS_FILE places.frecency.bookmarkVisitBonus 100     # changed from 75
set-pref $PREFS_FILE my.weird.attribute true                    # this didn't exist before

Найдите сценарий здесь .

Другие вопросы по тегам