Используйте менеджер профилей Firefox без изменения профиля по умолчанию
Я использую разные профили Firefox для разных вещей. (Это Firefox 16.0.2) У меня есть один профиль общего назначения, который я использую для обычного просмотра веб-страниц, а также некоторые другие для других целей (например, взлом javascript). Я хочу иметь два ярлыка: один, который открывает профиль общего назначения, и другой, который открывает диспетчер профилей, чтобы я мог выбирать среди других профилей. Однако я хочу, чтобы профиль общего назначения был установлен по умолчанию, поэтому, если какая-либо другая программа пытается открыть ссылку, и у меня нет открытых окон Firefox, она всегда открывает общий профиль.
Я не могу понять, как это сделать. Кажется, что если вы откроете менеджер профилей, вы не сможете избежать изменения текущей настройки "профиля по умолчанию".
Например, предположим, что у меня есть два профиля: "общий" и "другой". Просматривая файл profiles.ini, я вижу, что в качестве профиля по умолчанию установлено "общее". Все хорошо. Я использую ярлык менеджера профилей и открываю менеджер профилей. Я хочу выбрать "другой" профиль. Но есть флажок "Не спрашивать при запуске", и это мешает моему стилю. Если я проверю это, он откроет "другое" и установит его как профиль по умолчанию. Если я не проверяю его, он удаляет настройки по умолчанию в "общем" профиле и оставляет меня без настроек по умолчанию, поэтому, если программа пытается открыть ссылку, она перенесет меня в менеджер профилей. Ни то, ни другое я не хочу. Я хочу открыть "другой" профиль , оставив "по умолчанию" по умолчанию.
По сути, флажок "не спрашивать при запуске", по-видимому, устанавливает один из двух вариантов: открыть профиль и установить его по умолчанию или открыть профиль и сделать так, чтобы профиль по умолчанию отсутствовал. Но я хочу третий вариант: открыть профиль, оставив профиль по умолчанию, установленный на то, что он уже установлен. Есть ли способ сделать это?
Изменить: Основываясь на некоторых ответах, я хочу уточнить, что я не хочу одного ярлыка для профиля. Независимо от того, сколько профилей у меня есть, мне нужно ровно два ярлыка: один, который всегда открывает профиль по умолчанию, и другой, который позволяет в интерактивном режиме выбирать из всех профилей, но не меняет, какой профиль помечен как стандартный.
6 ответов
Вы можете сделать это, установив Firefox portable ( http://portableapps.com/apps/internet/firefox_portable) и установить его на жесткий диск в НОВОМ месте, а не на 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, я ожидаю, что вы называете каждый профиль как "имя устройства", чтобы он хорошо воспроизводился. Например, синхронизация ваших закладок по всем профилям.
- Я делаю обновления программного обеспечения вручную, я бы порекомендовал это.
Единственный способ достичь вашей цели - защитить вашу запись от profiles.ini
файл после начальной настройки. Таким образом, Firefox не сможет обновить файл, оставив все как есть.
- Настройте свои профили.
- Выберите свой профиль по умолчанию, выбрав профиль в менеджере профилей и отметив "Не спрашивать при запуске".
- Отметьте свой
profiles.ini
только для чтения.
Отныне запуск Firefox без -p
или же -p "profile name"
или же -p "profile path"
всегда будет запускать ваш профиль по умолчанию. Открытие профиля через менеджер профилей или -p
Переключатель не может изменить ваш profiles.ini.
Очевидно, вам придется снова сделать свой файл доступным для записи, чтобы что-то изменить или создать новые профили. Кроме этого у вас должно быть все в порядке.
Я не знаю, какая у вас операционная система, но если вы работаете в 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
Удалите свои профили и начните заново. Это восстановит профиль по умолчанию. Вы не должны давать этому имя. Когда другие программы открывают веб-страницу в Firefox, она использует этот профиль. Для ваших особых потребностей создайте новые профили и запустите их с помощью переключателя менеджера профилей по мере необходимости.
Подобно тому, что предложил 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.
Я буду использовать два имени профиля для этого. "Общий" - это ваш профиль для обычного использования. "Другое" - это хакерский JavaScript. Убедитесь, что вы используете имена вашего профиля при следовании этому.
- Откройте диспетчер профилей и убедитесь, что для параметра "Общие" задан профиль по умолчанию.
- Сделайте копию ваших ярлыков Firefox. (Так что теперь у вас есть два идентичных ярлыка Firefox).
- Переименуйте ОДИН из ярлыков в "Общие", щелкните правой кнопкой мыши -> Свойства и добавьте следующую строку в конец цели:
-P "General"
- Нажмите ОК
- Переименуйте другой ярлык в "Другое", щелкните правой кнопкой мыши -> Свойства и добавьте следующую строку в конец цели:
-P "Other" -no-remote
- Нажмите ОК
Теперь вы сделали. У вас есть два разных сочетания клавиш для каждого профиля. Ваш профиль по умолчанию будет "Общий", поэтому программы будут открывать ярлыки в этом профиле. Теперь главное преимущество: вы можете использовать оба профиля одновременно! Они будут открываться в разных экземплярах и окнах.