[[Vorlage(Getestet, Lunar Lobster)]] {{{#!vorlage Wissen [:Packprogramme: Archive entpacken] [:Terminal: Ein Terminal öffnen] [:Programme starten:] [:Programmstarter: Einen Programmstarter erstellen] [:Editor: Einen Editor öffnen] }}} [[Inhaltsverzeichnis(3)]] [[Bild(firefoxbox.png,align=left)]] Mit einem portablen Firefox hat man die Möglichkeit, [:Firefox/Profile:Firefox-Profile], neue Firefox-Versionen oder Erweiterungen gefahrlos auszuprobieren. Tester und Entwickler schätzen die Möglichkeit, eine zweite Firefox-Instanz auf dem eigenen Computer nutzen zu können, ohne das Risiko die eigentliche Firefox-Version (und deren Profil) zu kompromittieren. Ein weiterer komfortabler Nebeneffekt ist, dass man sich den portablen [:Firefox:] – der Name verrät es bereits – auch auf einen USB-Stick kopieren kann und so seinen eigenen auf PC und Notebook genutzten Firefox mit allen Erweiterungen (Add-ons) und Lesezeichen immer dabei hat. Natürlich kann man diese Version auch als Backup der eigentlichen Firefox-Installation nutzen. {{{#!vorlage hinweis Es wird in diesem Artikel vorausgesetzt, dass man sich im Homeverzeichnis befindet und dort einen neuen Ordner anlegt ('''firefox-portable'''), der dann für den zweiten (portablen) Firefox benutzt wird. Natürlich muss der Ordner nicht im Homeverzeichnis liegen oder wie vorgeschlagen heißen; dann jedoch muss dies vom Anwender angepasst werden. }}} = Vorbereitung = Man legt sich zuerst einen neuen Ordner (z. B. '''firefox-portable''') an. Dies kann im [:Homeverzeichnis:] oder einem beliebigen anderen Verzeichnis erfolgen (gegebenenfalls Rechte beachten). Auch ein USB-Stick kann dazu benutzt werden; dieser muss dazu vorher [:mount:eingebunden] werden. In diesem neuen Ordner legt man einen Unterordner '''profilordner''' an. [[Vorlage(Fremd, Software)]] Als nächstes lädt man sich von der [http://releases.mozilla.org/pub/mozilla.org/firefox/releases/ Mozilla-Seite] {en} die gewünschte Firefoxversion im Format [:tar:tar.bz2] herunter. Wichtig ist hierbei, dass es sich um die Linuxversion des Firefox handelt (linux-i686 oder, bei 64-bit Systemen, linux-x86_64). Informationen und Downloads zu anderen Versionen des Firefox sind unter [#Links Links] zu finden. Man entpackt [1] nun das heruntergeladene Archiv in den zuvor erstellten Ordner (in diesem Beispiel '''~/firefox-portable''') um den Ordner '''firefox''' zu erhalten. Anschließend öffnet man seinen bevorzugten Texteditor[5] und fügt die folgenden zwei Zeilen in ein neues Dokument ein: {{{#!code bash #!/bin/sh "$PWD/firefox/firefox" -no-remote -profile "$PWD/profilordner" }}} Dieses speichert man nun unter dem Namen '''loader.sh''' im Verzeichnis '''~/firefox-portable''' ab. Zuletzt macht man diese Datei [:Rechte/#Datei-ausfuehrbar-machen:ausführbar]. Am einfachsten geht das in einem [:Dateimanager:] mit [[Vorlage(Tasten, rmb)]] ''"Eigenschaften -> Zugriffsrechte (bzw. Berechtigungen)"'' oder über das Terminal mit dem [:chmod:]-Befehl: {{{#!vorlage befehl chmod +x ~/firefox-portable/loader.sh }}} Im Ordner '''~/firefox-portable''' sollten sich jetzt drei Elemente befinden: Die Ordner '''firefox''' und '''profilordner''' sowie die Datei '''loader.sh'''. Weitere Informationen dazu unter dem Punkt [#Wissenswertes Wissenswertes]. {{{#!vorlage warnung Man sollte sich spätestens an dieser Stelle davon überzeugen, dass man von seinem [:Firefox/Profile:Firefox-Profilordner] eine [:Sicherheit#Sicherungskopien:Sicherungskopie] (Backup) gemacht hat. }}} = Portable Firefox nutzen = Um den portablen Firefox zu starten führt man das Skript '''loader.sh''' aus. Das kann graphisch über den Dateimanager, über das Terminal oder über einen Programmstarter passieren. {{{#!vorlage warnung Nicht direkt '''~/firefox-portable/firefox/firefox''' ausführen! }}} Im Dateimanager genügt ein Doppelklick auf die Datei '''loader.sh''' um diese auzuführen. Im Terminal[3] gibt man zum Ausführen des Start-Skriptes folgenden Befehl ein: {{{#!vorlage befehl sh ~/firefox-portable/loader.sh }}} Zur Erstellung eines Programmstarters, siehe den Abschnitt [#Starter-anlegen Starter anlegen]. == Portable Nutzung === Der Ordner '''~/firefox-portable''' kann man beliebig verschieben (etwa auf einen USB-Stick) ohne seine Profildaten zu verlieren. (Natürlich muss beim Start über das Terminal der Pfad entsprechend angepasst werden.) == Eigenen Profilordner nutzen == Möchte man den portablen Firefox nicht nur ausprobieren, sondern auch richtig nutzen, möchte man dazu eventuell sein eigenes Profil verwenden. Dies kann man sehr leicht bewerkstelligen, indem man den Inhalt des [:Firefox/Profile#Profilordner:Profilordners] (normalerweise '''.mozilla/firefox/xxxxxxxx.default''') im [:Homeverzeichnis:] in den Profilordner des portablen Firefox kopiert. Alternativ kann man hier Informationen dazu erhalten: [:Firefox/Profile:] == Mehrere Profile nutzen == Für jedes weitere Profil benötigt man neben einem Profilordner auch ein separates Start-Skript, das auf den entsprechenden Ordner verweist. Zum Beispiel könnte man einen Ordner '''profilordner2''' und ein Skript '''loader2.sh''' mit dem Inhalt: {{{#!code bash #!/bin/sh "$PWD/firefox/firefox" -no-remote -profile "$PWD/profilordner2" }}} erstellen. {{{#!vorlage warnung Es ist nicht zu empfehlen im obigem Shellskript auch auf ein normales (nicht portables) Profil im [:Firefox/Profile#Profilordner:Profilordners] zu verweisen. Dies kann leicht zu Kompatibilitätsproblemen mit dem regulär installierten Firefox führen. }}} = Einschränkungen = Man sollte sich darüber im Klaren sein, dass man auf dem hier beschriebenen Weg einen voll funktionstüchtigen Browser erhält, dieser aber in einigen Punkten grundlegend vom systemeigenen Firefox abweicht. [[Bild(./firefox_update_2.png,align=right)]] == Updates == Der portable Firefox lässt sich wie ein „normaler“ Firefox einsetzen und handhaben. Beachten muss man allerdings, dass er nicht wie der systemeigene Firefox über die [:Paketquellen:] mit Updates versorgt wird, sondern über ''"Hilfe -> Nach Updates suchen"'' im Firefox-Menü (siehe auch [https://support.mozilla.org/de/kb/firefox-auf-die-letzte-version-aktualisieren Autoupdate] {de} ). == Systemintegration == Da der neue Browser nicht installiert, sondern nur aufgerufen wird, ist er nicht in das System integriert. Das bedeutet zum Beispiel, dass er nicht als Programmstarter im Menü oder Launcher zu finden ist und auch keinen Zugriff auf systemeigene Funktionen wie globale Menüs und Benachrichtigungen hat. Wie man zumindest einen Programmstarter erstellt, wird im Abschnitt [#Starter-anlegen Starter anlegen] beschrieben. = Systemintegration (optional) = Anwender, die den portablen Firefox nicht zum Mitnehmen, sondern beispielsweise zum Testen neuer Firefox-Versionen und Ausprobieren neuer oder zusätzlicher Erweiterungen verwenden möchten, können sich diesen „stationär“ (→ komfortablere Handhabung) einrichten. {{{#!vorlage hinweis Die in diesem Abschnitt beschriebenen Änderungen bauen darauf, dass sich der Pfad des portablen Firefox nicht ändert. }}} == Starter anlegen == Um einen Starter anzulegen[4], öffnet man seinen bevorzugten Texteditor[5] und fügt die folgenden Zeilen in ein neues Dokument ein: {{{#!code [Desktop Entry] Name=Portable Firefox Exec="/home/USERNAME/firefox-portable/firefox/firefox" -no-remote -profile "/home/USERNAME/firefox-portable/profilordner" Icon=/home/USERNAME/firefox-portable/firefox/browser/icons/mozicon128.png Terminal=false Type=Application }}} Dabei ersetzt man "USERNAME" durch seinen Benutzernamen und passt gegebenenfalls den Pfad nach `Icon=` an, da sich der Speicherort der Icons je nach Firefox-Version unterscheidet. Dieses Dokument speichert man mit der Endung '''.desktop''' (also etwa unter dem Namen '''fx-portable.desktop''') in einem (oder mehreren) der folgenden Ordner ab: 1. '''~/Schreibtisch''' um einen Starter auf der Arbeitsfläche zu erhalten. 2. '''~/.local/share/applications''' um einen Eintrag in Menü oder Launcher zu für den aktuellen Benutzer zu erhalten. 3. '''/usr/share/applications''' um einen Eintrag in Menü oder Launcher zu für alle Benutzer zu erhalten (Zugriff auf den '''firefox-portable'''-Ordner vorausgesetzt). In den beiden letzten Fällen muss man sich meist einmal aus- und wieder einloggen, um den Starter zu sehen. === Alternatives Logo vergeben === [[Bild(./firefox-minefield.png,64,align=right)]] Möchte man für seinen Starter ein alternatives Logo verwenden, so kann man sich etwa [https://commons.wikimedia.org/wiki/File:Minefield-icon.png hier] {dl} das rechts gezeigte Logo herunterladen, im '''firefox-portable'''-Ordner abspeichern und den Pfad nach `Icon=` im obigen Starter entsprechend anpassen. Das Logo zeigt eine stilisierte [wikipedia:Bombe:] und soll auf die Gefährlichkeit der jeweiligen Firefox-Entwicklungsversion hinweisen (siehe [wikipedia:Versionsgeschichte_von_Mozilla_Firefox#Minefield:Minefield], deutsch: Minenfeld). Allerdings eignet es sich auch sehr gut, um deutlich zu machen, dass man nicht den „normalen“ Firefox startet. == Globale Verknüpfung anlegen == Um den portablen Firefox systemweit mit einem einfachen Befehl starten zu können, passt man zunächst das Skript '''loader.sh''' wie folgt an: {{{#!code sh #!/bin/sh cd $(dirname $(readlink -f "$0")) "$PWD/firefox/firefox" -no-remote -profile "$PWD/profilordner" }}} Dann erstellt man mittels `ln` eine [:ln#Symbolische-Verknuepfungen:symbolische Verknüpfung] im Ordner [:Verzeichnisstruktur#usr:'''/usr/local/bin'''] durch folgenden Befehl im Terminal: {{{#!vorlage befehl sudo ln -s ~/firefox-portable/loader.sh /usr/local/bin/fx-portable }}} Nun kann der portable Firefox systemweit über den Befehl `fx-portable` gestartet werden (Zugriff auf den '''firefox-portable'''-Ordner vorausgesetzt). = Wissenswertes = Nachfolgend einige Hintergrundinformationen zum Skript und den beiden Ordnern. == Enthaltene Dateien == In dem Ordner '''firefox-portable''' im Homeverzeichnis befinden sich zwei Ordner und eine Datei: {{{#!vorlage Tabelle <-3 rowclass="titel" :> '''Enthaltene Dateien im Ordner firefox-portable''' +++ '''Name''' '''Eigenschaft''' Funktion +++ '''loader.sh''' Datei (Skript) Shellskript, das den portablen Firefox startet +++ '''firefox''' Ordner die von Mozilla heruntergeladene Firefoxversion +++ '''profilordner''' Ordner In diesem Ordner sucht Firefox nach Profildateien. Falls keine gefunden werden, legt Firefox dort ein neues Profil an. }}} == Das Shellskript == Das Shellskript '''loader.sh''' enthält folgenden Zweizeiler: {{{#!code bash #!/bin/sh "$PWD/firefox/firefox" -no-remote -profile "$PWD/profilordner" }}} Es wird im Skript der Befehl `pwd` benutzt, der den Namen des gerade verwendeten Verzeichnisses ausgibt. Weitere Informationen im Artikel [:pwd:]. === Der eigentliche Befehl === Das eigentliche Befehl im Skript gibt an, welche Firefox-Datei und welches Firefox-Profil geladen werden soll: {{{"pfad_zum_portable_fox/firefox" -no-remote -profile "pfad_zum_portable_fox/profilordner"}}} Dieser kann den jeweiligen Bedürfnissen angepasst werden [5] und besteht aus vier Teilen: {{{#!vorlage Tabelle <-3 rowclass="titel" :> Befehl des Skriptes +++ Name Eigenschaft Funktion +++ `"pfad_zum_portable_fox/firefox"` Befehl Startet das Shellskript `firefox` im Portable-Ordner '''firefox''' +++ `-no-remote` Option Nutzung des neu erstellten (portablen) Firefox parallel zur eigentlichen Firefox-Instanz. Ermöglicht wird dies durch den Befehl `-no-remote` (teilweise auch als `export MOZ_NO_REMOTE=1` bekannt). Siehe Abschnitt [#Links Links]. +++ `-profile` Option Diese gibt an, dass das Profil im nachfolgenden Pfad geladen werden soll (im Gegensatz zu `-P` wird hierbei bewusst der Profilmanager umgangen) +++ `"pfad_zum_portable_fox/profilordner"` Pfad Zeigt den Ort des (portablen) Profilordners an }}} === Das modizierte Skript === Im Abschnitt [#Globale-Verknuepfung-anlegen Globale Verknüpfung anlegen] wurde in das Start-Skript die folgende Zeile eingefügt: {{{#!code sh cd $(dirname $(readlink -f "$0")) }}} Diese ist notwendig, da sich `$PWD` auf den aktuellen Pfad bezieht, welcher beim Aufruf über eine Verknüpfung nicht korrekt ist. Die Konstruktion `$()` bewirkt eine Auswertung des eingeklammerten Ausdrucks und gibt dessen Ausgabe zurück. Die Codezeile enthält also drei verschachtelte Befehle, die von innen nach außen wie folgt aufgelöst werden: {{{#!vorlage Tabelle <-3 rowclass="titel" :> Befehl zur Pfad-Korrektur +++ Name Eigenschaft Funktion +++ `"$0"` Variable enthält den Pfad der aufgerufenen Datei (in diesem Fall '''/usr/local/bin/fx-portable''') +++ `readlink` Befehl löst Verlinkungen auf und gibt den eigentlichen Pfad aus (in diesem Fall '''/home/USERNAME/firefox-portable/loader.sh''') +++ `-f` Option löst beliebig viele Verlinkungen auf +++ `dirname` Befehl extrahiert aus einem Dateipfad den enthaltenden Ordner (in diesem Fall '''/home/USERNAME/firefox-portable/''') +++ `cd` Befehl Wechselt zum nachfolgend angegebenen Verzeichnis (in diesem Fall '''/home/USERNAME/firefox-portable/''') }}} Gegenüber der einfacheren Variante: {{{#!code sh cd /home/USERNAME/firefox-portable/ }}} hat die obige den Vorteil, dass sie "portabel" bleibt, also das Start-Skript weiterhin funktioniert, wenn man den '''firefox-portable'''-Ordner verschiebt. = Links = * [:Firefox:] {Übersicht} Übersichtsartikel * [http://releases.mozilla.org/pub/mozilla.org/firefox/releases/ Download diverser Firefox-Versionen] {dl} * [http://releases.mozilla.org/pub/mozilla.org/firefox/releases/latest/ Download der aktuellen Firefox-Version] {dl} * [http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla-central/ Download der Nightly von Firefox] {dl} * [https://wiki.mozilla.org/Enterprise Mozilla Enterprise] Mozilla in einer Enterprise-Umgebung benutzen - ESR-Version {en} * [http://kb.mozillazine.org/Opening_a_new_instance_of_Firefox_with_another_profile mozillaZine-Knowledge Base: ] -no-remote und Profile {en} * [http://stadt-bremerhaven.de/portable-firefox-fuer-linux/ Caschys Blog: Artikel zu Firefox Portable und diesem Wikiartikel] {de} * [http://stadt-bremerhaven.de/portable-firefox-fr-linux-selbst-gemacht/ Caschys Blog: Portable Firefox für Linux selbst gemacht] {de} * [:Portable_Thunderbird:] #tag: Internet, Firefox, portable