4

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

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

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

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

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

6 ответов6

1

Вы можете сделать это, установив Firefox portable (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, я ожидаю, что вы называете каждый профиль как "имя устройства", чтобы он хорошо воспроизводился. Например, синхронизация ваших закладок по всем профилям.
  • Я делаю обновления программного обеспечения вручную, я бы порекомендовал это.
0

Я не знаю, какая у вас операционная система, но если вы используете 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
0

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

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

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

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

-1

Удалите свои профили и начните заново. Это восстановит профиль по умолчанию. Вы не должны давать этому имя. Когда другие программы открывают веб-страницу в Firefox, она будет использовать этот профиль. Для ваших особых потребностей создайте новые профили и запустите их при помощи переключателя менеджера профилей.

-1

Я буду использовать два имени профиля для этого. "Общий" - это ваш профиль для обычного использования. "Другое" - это хакерский JavaScript. Убедитесь, что вы используете имена вашего профиля при следовании этому.

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

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

-1

Подобно тому, что предложил JC2k8, вы можете изменить profiles.ini. Мое решение заключается в том, чтобы каждый ярлык вызывал командный сценарий переднего плана.

Shortcut1 - запускает пакетный скрипт, который копирует файлы profile.001, "общий" профиль, profilemanger не включен.

Shortcut2 - запускает пакетный сценарий, который копирует файл profile.002 в файл profiles.ini, который является вашей установкой для запроса WITH profilemanager и асинхронного запуска Firefox после ожидания, скажем, 10 секунд, а затем скопируйте "общие" profile.001 обратно в profile.ini так » общая "настройка профиля остается на месте, пока вы работаете с firefox.exe с использованием информации profile.001. Насколько я знаю, файл profiles.ini используется только для инициализации Firefox, поэтому следует изменить его, когда инициализируется главное окно Firefox.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .