Используйте менеджер профилей Firefox, не меняя профиль по умолчанию

Используйте менеджер профилей Firefox, не меняя профиль по умолчанию

Я использую разные профили Firefox для разных целей. (Это Firefox 16.0.2) У меня есть один профиль общего назначения, который я использую для обычного просмотра веб-страниц, а также несколько других для других целей (например, взлома JavaScript). Я хочу иметь два сочетания клавиш: одно, которое открывает профиль общего назначения, и одно, которое открывает менеджер профилей, чтобы я мог выбирать среди других профилей. Однако я хочу, чтобы профиль общего назначения был установлен по умолчанию, чтобы, если какая-то другая программа попытается открыть ссылку, а у меня нет открытых окон Firefox, он всегда открывал общий профиль.

Я не могу понять, как это сделать. Кажется, если открыть менеджер профилей, то нельзя избежать изменения текущей настройки того, что является "профилем по умолчанию".

Например, предположим, что у меня есть два профиля: "общий" и "другой". Заглянув в profiles.ini, я вижу, что "общий" установлен как профиль по умолчанию. Все хорошо. Я использую ярлык менеджера профилей и открываю менеджер профилей. Я хочу выбрать профиль "другой". Но там есть флажок "Не спрашивать при запуске", и он портит мой стиль. Если я его отмечу, он откроет "другой" и установит его как профиль по умолчанию. Если я его не отмечу, он удалит настройки по умолчанию в профиле "общий" и оставит меня без настроек по умолчанию, поэтому если программа попытается открыть ссылку, она перенаправит меня в менеджер профилей. Ни один из этих вариантов мне не нужен. Я хочу открыть профиль "другой"оставив "общий" по умолчанию.

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

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

решение1

Единственный способ достичь вашей цели — этозащита от записиваш profiles.iniфайл после первоначальной настройки. Таким образом Firefox не сможет обновить файл, оставив все так, как вы его настроили.

  1. Настройте свои профили.
  2. Выберите профиль по умолчанию, выбрав профиль в менеджере профилей и установив флажок «Не спрашивать при запуске».
  3. Отметьте свой пост profiles.iniкак доступный только для чтения.

С этого момента запуск Firefox без -pили -p "profile name"или -p "profile path"всегда будет запускать ваш профиль по умолчанию. Открытие профиля через менеджер профилей или переключатель -pне может изменить ваш profiles.ini.

Очевидно, вам придется снова сделать файл доступным для записи, чтобы что-то изменить или создать новые профили. В остальном все должно быть в порядке.

решение2

Это можно сделать, установив портативную версию Firefox (http://portableapps.com), и установите его на жесткий диск в НОВОМ месте, а не на USB-накопитель. Вот как я бы это сделал (хотя вы можете настроить это, чтобы добиться желаемого), оставьте свою стандартную установку там, где она есть. Клонируйте портативную папку во второе место. Скопируйте данные вашего первого профиля в подпапку портативной папки "DATA", как описано на их веб-сайте, и скопируйте ваш второй профиль во вторую новую портативную подпапку "DATA" (папка под той, которая содержит FirefoxPortable.EXE). Запустите каждый FirefoxPortable.EXE и проверьте, правильно ли он настроен (например, дополнения, плагины обычным способом и т. д.). При желании переименуйте FirefoxPortable.EXE в FFP.EXE, если вам нравятся короткие имена :-) и настройте два ярлыка для каждого из этих портативных установочных папок FFP.EXE. Я использовал V6.0 и V25.0.1 таким образом и все работало отлично.

Преимущества

  • Вы можете запускать совершенно отдельные конфигурации (они даже могут быть разными версиями Firefox, если вы этого хотите). Да, это занимает больше места на диске, поскольку вы клонируете приложение Firefox, но я считаю, что это проще в управлении.
  • Я запускаю около 30 дополнений и не испытываю никаких проблем с портативной версией.
  • Если у вас есть коллекция активных и неактивных дополнений, устранение конфликтов дополнений становится проще. Просто сделайте клон папки и используйте его для тестирования только одного включенного дополнения, не портя основной профиль.

Проблемы (применимо, если Firefox является браузером по умолчанию)

  • Оставьте стандартную установку как есть и установите ее в качестве браузера по умолчанию.
  • Оставьте старую стандартную установку с приглашением менеджера профилей в качестве значения по умолчанию. (В вашем случае вы можете запустить его как свой «общий» профиль без запроса». Иногда некоторые приложения пытаются запустить этот браузер по умолчанию, когда вы этого не ожидаете (например, клиент чата, который открывает URL-адреса), и всякий раз, когда вы видите приглашение профиля, просто выйдите и запустите правильную портативную версию с помощью ярлыка.
  • Ну, теперь есть 3 версии Firefox - какую из них использовать для файлов? Решение - всегда запускать Firefox с ярлыков перед открытием *.url, *.htm[l] или *.mht, и они будут открываться в активном Firefox правильно.
  • Если вы используете синхронизацию Firefox, я бы ожидал, что вы назовете каждый профиль отдельным "именем устройства", чтобы все работало нормально. Например, синхронизация закладок по всем профилям.
  • Я обновляю программное обеспечение вручную и рекомендую именно это.

решение3

Я не знаю, какая у вас операционная система, но если у вас Unix, у меня может быть скрипт, который делает именно то, что вам нужно (а это именно то поведение, которое мне и было нужно, если я правильно вас понял).

Идея заключается в использовании скрипта для запуска вашего «Другого» Firefox. Скрипт определяет профиль по умолчанию, просматривая файл profiles.ini, затем он запускает новый экземпляр Firefox с менеджером профилей и в конечном итоге восстанавливает конфигурацию профиля по умолчанию, как только она изменяется. Немного хакерски, но я использую его, и он отлично работает.

Если вы работаете в Windows, вы, возможно, сможете воспроизвести эквивалентный сценарий, но в этом вопросе я вам помочь не смогу.

Вот скрипт, для сохранения в firefox-other.shфайле и запуска ./firefox-other.shв терминале или с .desktopфайлом. Возможно, вам придется адаптировать конфигурацию в начале:

#!/bin/bash

# configuration
profiles=/home/jerome/.mozilla/firefox/profiles.ini
firefox=`which firefox`

# find current default profile
profile_regex="\[([^\[]+)\]"
name_regex="Name=([^$]+)"
default_regex="^Default=1"
while read line
do
    [[ $line =~ $name_regex ]]
    if [[ -n "${BASH_REMATCH[1]}" ]]
    then
        profile_name="${BASH_REMATCH[1]}"
    fi
    [[ $line =~ $profile_regex ]]
    if [[ -n "${BASH_REMATCH[1]}" ]]
    then
        default_profile="${BASH_REMATCH[1]}"
    fi
    [[ $line =~ $default_regex ]]
    if [ -n "${BASH_REMATCH[0]}" ]
    then
        break
    fi
done < $profiles

echo "Default profile is \"$profile_name\" [$default_profile]"
last_update=`stat -c %Y $profiles`

# restore default profile
function restore {
    on_default=0
    tmp="${profiles}.new"
    rm -f $tmp
    while read line
    do
        [[ $line =~ $profile_regex ]]
        if [[ "${BASH_REMATCH[1]}" = $default_profile ]]
        then
            on_default=1
        fi
        if [[ "$line$on_default" = 1 ]]
        then
            echo "Default=1" >> $tmp
            on_default=0
        fi

        # echo existing line unless it is the default declaration
        [[ $line =~ $default_regex ]]
        if [ -z "${BASH_REMATCH[0]}" ]
        then
            echo $line >> $tmp
        fi
    done < $profiles

    mv $tmp $profiles
    echo "Default profile restored to \"$profile_name\" [$default_profile]"
}

# start firefox with profile manager
echo -n "Start Firefox..."
$firefox -no-remote -P 2> /dev/null 1> /dev/null &
pid=$!
echo -e "\rFirefox started with pid $pid"

# loop until $profiles is changed or firefox instance killed
while true
do
    sleep 1

    # watch profiles
    update=`stat -c %Y $profiles`
    if [ $update -gt $last_update ]
    then
        # profiles updated
        break
    fi

    # watch instance
    if [ -n "`kill -0 $pid 2>&1`" ]
    then
        # instance terminate
        break
    fi

done

# then restore
restore

решение4

Я буду использовать два имени профиля для этого. «General» — ваш обычный профиль. «Other» — это тот самый JavaScript-хакерский профиль. Убедитесь, что вы используете ВАШИ имена профилей, следуя этому.

  1. Откройте менеджер профилей и убедитесь, что в качестве профиля по умолчанию выбран «Общие».
  2. Сделайте копию своих ярлыков Firefox. (Теперь у вас ДВА одинаковых ярлыка Firefox).
  3. Переименуйте ОДИН из ярлыков в «Общие», щелкните правой кнопкой мыши -> Свойства идобавлятьследующую строку вконецЦели:
    -P "General"
  4. Нажмите ОК.
  5. Переименуйте другой ярлык в «Другой», щелкните правой кнопкой мыши -> Свойства идобавлятьследующую строку вконецЦели:
    -P "Other" -no-remote
  6. Нажмите ОК.

Теперь все готово. У вас есть два разных ярлыка для каждого профиля. Ваш профиль по умолчанию будет "Общий", поэтому программы будут открывать ярлыки в этом профиле. Теперь дляглавное преимущество: вы можете использовать оба профиля одновременно! Они будут открываться в разных экземплярах и окнах.

Связанный контент