
Ich verwende verschiedene Firefox-Profile für verschiedene Dinge. (Dies ist Firefox 16.0.2.) Ich habe ein allgemeines Profil, das ich zum normalen Surfen im Internet verwende, und einige andere für andere Dinge (z. B. JavaScript-Hacking). Ich möchte zwei Verknüpfungen haben: eine, die das allgemeine Profil öffnet, und eine, die den Profilmanager öffnet, sodass ich zwischen den anderen Profilen wählen kann. Ich möchte jedoch das allgemeine Profil als Standard festlegen, sodass, wenn ein anderes Programm versucht, einen Link zu öffnen, und ich keine Firefox-Fenster geöffnet habe, immer das allgemeine Profil geöffnet wird.
Ich kann nicht herausfinden, wie das geht. Es scheint, dass Sie beim Öffnen des Profilmanagers nicht umhin kommen, die aktuelle Einstellung des „Standardprofils“ zu ändern.
Angenommen, ich habe zwei Profile, „allgemein“ und „andere“. Wenn ich in der Datei profiles.ini nachschaue, sehe ich, dass „allgemein“ als Standardprofil eingestellt ist. Alles ist gut und schön. Ich benutze meine Profilmanager-Verknüpfung und öffne den Profilmanager. Ich möchte das „andere“ Profil auswählen. Aber da ist dieses Kontrollkästchen für „Beim Start nicht fragen“, und das ist mir zuwider. Wenn ich es aktiviere, wird „andere“ geöffnet und als Standardprofil festgelegt. Wenn ich es nicht aktiviere, wird die Standardeinstellung des „allgemeinen“ Profils entfernt und ich habe keine Standardeinstellung, sodass ich, wenn ein Programm versucht, einen Link zu öffnen, zum Profilmanager weitergeleitet werde. Keines von beidem ist das, was ich will. Ich möchte das „andere“ Profil öffnenwobei "allgemein" als Standardwert belassen wird.
Grundsätzlich scheint das Kontrollkästchen „Beim Start nicht fragen“ zwischen zwei Möglichkeiten zu erzwingen: ein Profil öffnen und als Standard festlegen oder ein Profil öffnen und es so einrichten, dass es kein Standardprofil gibt. Aber ich möchte eine dritte Option: ein Profil öffnen und dabei das Standardprofil auf dem bereits eingestellten Wert belassen. Gibt es eine Möglichkeit, dies zu erreichen?
Edit: Basierend auf einigen Antworten möchte ich klarstellen, dassIch möchte nicht eine Verknüpfung pro Profil. Egal wie viele Profile ich habe, ich willgenau zweiVerknüpfungen: eine, die immer das Standardprofil öffnet, und eine, die es mir ermöglicht, interaktiv auszuwählen ausalleProfile, ändert aber nicht, welches Profil als Standard markiert ist.
Antwort1
Der einzige Weg, Ihr Ziel zu erreichen, wäreSchreibschutzIhre profiles.ini
Datei nach der Ersteinrichtung. Auf diese Weise könnte Firefox die Datei nicht aktualisieren und alles bleibt so, wie Sie es eingerichtet haben.
- Richten Sie Ihre Profile ein.
- Wählen Sie Ihr Standardprofil aus, indem Sie im Profilmanager ein Profil auswählen und „Beim Start nicht fragen“ aktivieren.
- Markieren Sie Ihre
profiles.ini
als schreibgeschützt.
Von nun an wird beim Starten von Firefox ohne -p
oder -p "profile name"
immer -p "profile path"
Ihr Standardprofil gestartet. Das Öffnen eines Profils über den Profilmanager oder den -p
Schalter kann Ihre profile.ini nicht ändern.
Natürlich müssen Sie Ihre Datei wieder beschreibbar machen, um Dinge zu ändern oder neue Profile zu erstellen. Ansonsten sollte alles in Ordnung sein.
Antwort2
Sie können dies tun, indem Sie Firefox portable installieren (http://portableapps.com), und installieren Sie es auf der Festplatte an einem NEUEN Ort statt auf einem USB-Laufwerk. So würde ich es machen (obwohl Sie es anpassen können, um das zu erreichen, was Sie wollen): Lassen Sie Ihre Standardinstallation, wo sie ist. Klonen Sie den portablen Ordner an einen zweiten Ort. Kopieren Sie Ihre ersten Profildaten in den Unterordner „DATA“ des portablen Ordners, wie auf deren Website beschrieben, und kopieren Sie Ihr zweites Profil in den zweiten neuen portablen Unterordner „DATA“ (den Ordner unter dem, der FirefoxPortable.EXE enthält). Starten Sie jede FirefoxPortable.EXE und prüfen Sie, ob sie richtig angepasst ist (z. B. Add-ons, Plugins auf die normale Weise usw.). Benennen Sie FirefoxPortable.EXE optional in FFP.EXE um, wenn Sie kurze Namen mögen :-) und richten Sie zwei Verknüpfungen zu jeder FFP.EXE dieser portablen Installationsordner ein. Ich habe V6.0 und V25.0.1 auf diese Weise verwendet und es hat gut funktioniert.
Vorteile
- Sie können völlig separate Konfigurationen ausführen (es können sogar verschiedene Versionen von Firefox sein, wenn Sie möchten). Ja, es nimmt mehr Speicherplatz in Anspruch, wenn Sie die Firefox-Anwendung klonen, aber ich finde, das ist einfacher zu handhaben.
- Ich verwende etwa 30 Add-Ons und hatte keine Probleme mit der portablen Version
- Wenn Sie eine Sammlung aktiver und inaktiver Add-Ons haben, ist die Fehlerbehebung bei Add-On-Konflikten einfacher. Erstellen Sie einfach einen Klon des Ordners und verwenden Sie ihn zum Testen eines einzelnen eingeschalteten Add-Ons, ohne Ihr Hauptprofil durcheinander zu bringen.
Probleme (gilt, wenn Firefox der Standardbrowser ist)
- Belassen Sie Ihre Standardinstallation wie sie ist und legen Sie sie als Standardbrowser fest
- Belassen Sie Ihre alte Standardinstallation mit der Profilmanager-Eingabeaufforderung als Standard. (In Ihrem Fall könnten Sie dies als Ihr „allgemeines“ Profil ohne Eingabeaufforderung ausführen.) Gelegentlich versucht eine Anwendung, diesen Standardbrowser zu starten, wenn Sie es nicht erwarten (z. B. ein Chat-Client, der URLs öffnet). Wenn Sie die Profileingabeaufforderung sehen, beenden Sie sie einfach und starten Sie die richtige portable Version über die Verknüpfung
- Nun, es gibt jetzt 3 Versionen von Firefox – welche soll er für Dateien verwenden? Die Lösung besteht darin, Firefox immer über die Verknüpfungen zu starten, bevor Sie *.url, *.htm[l] oder *.mht öffnen. Dann werden sie im aktiven Firefox korrekt geöffnet.
- Wenn Sie Firefox Sync verwenden, würde ich erwarten, dass Sie jedem Profil einen anderen „Gerätenamen“ geben, damit es gut funktioniert. Zum Beispiel das Synchronisieren Ihrer Lesezeichen über alle Profile hinweg.
- Ich führe Software-Updates manuell durch, das würde ich empfehlen.
Antwort3
Ich weiß nicht, welches Betriebssystem Sie verwenden, aber wenn Sie ein Unix-Betriebssystem haben, habe ich möglicherweise ein Skript, das genau das tut, was Sie wollen (und das war genau das Verhalten, das ich auch brauchte, wenn ich Sie richtig verstanden habe).
Die Idee ist, das Skript zu verwenden, um Ihren „anderen“ Firefox zu starten. Das Skript ermittelt das Standardprofil, indem es sich die profiles.ini
Datei ansieht, startet dann die neue Firefox-Instanz mit dem Profilmanager und stellt schließlich die Standardprofilkonfiguration wieder her, sobald sie geändert wird. Ein bisschen hackig, aber ich verwende es und es funktioniert gut.
Unter Windows können Sie möglicherweise ein entsprechendes Skript reproduzieren, aber ich kann Ihnen hierbei nicht helfen.
Hier ist das Skript, das Sie in einer Datei speichern und in einem Terminal oder mit einer Datei firefox-other.sh
starten können . Möglicherweise müssen Sie die Konfiguration am Anfang anpassen:./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
Antwort4
Ich werde hierfür zwei Profilnamen verwenden. „Allgemein“ ist Ihr Profil für den normalen Gebrauch. „Andere“ ist dieses JavaScript-Hacking. Stellen Sie sicher, dass Sie IHRE Profilnamen verwenden, wenn Sie dies befolgen.
- Öffnen Sie den Profilmanager und stellen Sie sicher, dass „Allgemein“ auf das Standardprofil eingestellt ist.
- Erstellen Sie eine Kopie Ihrer Firefox-Verknüpfungen. (Sie haben jetzt also ZWEI identische Firefox-Verknüpfungen.)
- Benennen Sie EINE der Verknüpfungen in "Allgemein" um, klicken Sie mit der rechten Maustaste auf "Eigenschaften" undhinzufügendie folgende Zeichenfolge an dieEndedes Ziels:
-P "General"
- Drücke OK.
- Benennen Sie die andere Verknüpfung in "Andere" um, klicken Sie mit der rechten Maustaste auf "Eigenschaften" undhinzufügendie folgende Zeichenfolge an dieEndedes Ziels:
-P "Other" -no-remote
- Drücke OK.
Jetzt sind Sie fertig. Sie haben zwei verschiedene Verknüpfungen für jedes Profil. Ihr Standardprofil ist "Allgemein", sodass Programme Verknüpfungen in diesem Profil öffnen. Nun zu dengroßer Vorteil: Sie können beide Profile gleichzeitig verwenden! Sie werden in unterschiedlichen Instanzen und Fenstern geöffnet.