Iceweasel
Inhaltsverzeichnis
Vorwort
Das ist der Firefox Browser von Debian. Er heisst aber Iceweasel
Für Einstellungen und Bedienung kann man gut die Firefox Anleitungen benützen.
Command Line
Summary Command Line
ICEWEASEL(1) Linux User's Manual ICEWEASEL(1) NAME iceweasel - a Web browser for X11 derived from the Mozilla browser SYNOPSIS iceweasel [OPTIONS] [URL] /usr/lib/iceweasel/iceweasel [OPTIONS] [URL] DESCRIPTION Iceweasel is an open-source web browser, designed for standards compliance, performance and portability. USAGE If there is an Iceweasel browser already running, iceweasel will arrange for it to create a new browser window; otherwise it will start a new instance. OPTIONS A summary of the options supported by iceweasel is included below. X11 options --display=DISPLAY X display to use --sync Make X calls synchronous --no-xshm Don't use X shared memory extension --xim-preedit=STYLE --xim-status=STYLE --g-fatal-warnings Make all warnings fatal Mozilla options -h, -help Show summary of options. -v, -version Print Iceweasel version. -P [profile] Start with profile. When no profile is given, displays the Profile Manager. May require -no-remote, see below. -migration Start with migration wizard. May require -no-remote, see below. -ProfileManager Start with profile manager. May require -no-remote, see below. -no-remote Don't connect to a running Iceweasel instance. This option can be necessary in conjunction to several of the options above, that won't have any effect when an Iceweasel instance is running unless -no-remote is used at the same time. -UILocale locale Start with locale resources as User Interface locale. By default, it is guessed from environment and available locales for Iceweasel. -safe-mode Starts Iceweasel in safe mode, i.e. disabling all extensions and showing a bit more debugging messages. -jsconsole Start with Javascript Console -new-window URL Open URL in a new window in an already running Iceweasel process. -new-tab URL Open URL in a new tab in an already running Iceweasel process. -chrome url Load the specified chrome. ENVIRONMENT MOZILLA_DISABLE_PLUGINS - when set, totally disables loading browser plugins (the ones that appear at the about:plugins url) FILES /usr/bin/iceweasel - symbolic link to /usr/lib/iceweasel/iceweasel. /usr/lib/iceweasel/iceweasel - Iceweasel executable. /usr/lib/iceweasel/firefox-bin - Legacy executable. BUGS To report a bug, please visit http://bugzilla.mozilla.org/ and/or report bugs to the Debian Bug Tracking System, as usual. AUTHORS The Mozilla Organization http://www.mozilla.org/about.html iceweasel November 4, 2004 ICEWEASEL(1)
Anwenungsbeispiel Iceweasel/Firefox Start-Scripts
Vorwort - Fehlende cmd Befehle
Es sind leider ein paar Command Line Befehle nicht vorhanden im Iceweasel/Firefox, darum wird der automatische Start etwas komplizierter als angedacht.
Pobleme: Einmal öffnet es mir die Seite von der vorhergehenden Sitzung mit, mal nicht, mal ein Restore wegen killall iceweasel etc....
Wenn möglich sollte man immer mit wmctrl -c (close gracefully) die Anwendung schliessen. Aber auch dann kommt noch ein TAB about:session restore, egal. Lieber das als zweimal meine Seite, die etwas rumrendert (CPU/MEM). Auch shutdown/reboot PC Befehle würde ich zuerst über ein wmctrl -c fahren. Und bei 24 Stunden 7 Tage Betrieb, am besten ein crontab cache cleaner.
Nachtrag: Bei Iceweasel Einstellung Leere Seite anzeigen und die Startseite leer lasen, keine Eintrag, oder rauslöschen setzen, und im Script etwas warten nach dem wmctrl -c und killall (killall ist zur Sicherheit nur). Dann funktioniert es, ohne das alte TAB's oder about:session_restore nicht wieder starten. Das Cache mal von Hand Alles löschen (auch Oflline Daten etc....). Die Scripte unten sind dafür angepasst.
Vermisst wird:
- -q be quit
- -jr just run, keine about:sessionrestore Fenster, keine alten Fenster mit öffnen, nur die mitgegebene URL öffnen, nix sonst.
- -pos w,h,x,y
- -disp DISPLAY Nummer
- -min minimized Window Start
- -max maximized Window Start
- -fullscreen Fullscreen Start
Meine Beispiele mit smsloop ruft man für den start ungefähr so auf in einem autostart Script. Das schmeisst es an in den Hintergrund und wird selbständig.
smsloop & disown
Für den stop genügt:
smsloop stop
Iceweasel Aufruf
Zu dem iceweasel Aufruf kann man noch sagen, laufe mit weniger wichtigen Priorität, mach mich als eigenen Hintergrund Prozess etc.. Bei mir ist es besser, wenn ich weniger Prioträt gebe, weil das Hauptprogramm zuerst seine Daten eher sauber fertig bauen kann.
Irgendwas davon könnt ihr mal versuchen:
# Standardaufruf, evt. in Hintergrund iceweasel -new-window "http://example.org/example.html" >/dev/null 2>&1 & iceweasel -new-window "http://example.org/example.html" >/dev/null 2>&1 & disown # Mit exec, evt. in Hintergrund exec /usr/bin/iceweasel --new-window "http://example.org/seite1.html" >/dev/null 2>&1 & exec /usr/bin/iceweasel --new-window "http://example.org/setie1.html" >/dev/null 2>&1 & disown # Weniger Prioträt, evt. in Hintergrund nice -n 5 /usr/bin/iceweasel --new-window "http://example.org/seite1.html" >/dev/null 2>&1 & nice -n 5 /usr/bin/iceweasel --new-window "http://example.org/seite1.html" >/dev/null 2>&1 & disown
Gespiegelter Monitor mal ja mal nein
HDMI1 ist immer on, und so alle ca. 30 Sekungen, gucke ich nach ob HDMI2 läuft, wenn ja, spiegle ich es dahin mit xrandr. Wer seine Anschlüsse nicht kennt auf der Grafikkarte, nimmt ein Terminal und tippt xrandr mal ein.
Bei der Zeile while [ -z $icew1win ];do icew1win=wmctrl -lp | grep Raster | cut -d " " -f 1;done müsst ihr selber gucken, nach was grep suchen soll, also wie eure Seite heisst. In einem Terminal von Hand wmctrl -lp zeigt die übersicht der geöffneten Fenster, um herauszufinden was man bei grep einsetzen soll als Suchkriterium.
Das erste Zeichen darf kein Leerzeichen sei beim speichern, wiki bedingt.
#!/bin/sh # scriptname: smsloop (set my screen in loop mode) # chmod 755 /usr/local/bin/smsloop # # Set display for Multiple Grafic Head Virtualbox Client # VBOX0 is Main Display, thatsway is no set_pos needed. #vbox0_set_pos="--left-of VBOX1" #vbox0_set_pos="--right-of VBOX1" vbox0_set_pos="" vbox0_rate=60 vbox0_resolution=1360x768 #vbox0_resolution=1920x1080i #vbox1_set_pos="--left-of VGA1" vbox1_set_pos="--right-of VGA1" vbox1_rate=6 vbox1_resolution=1360x768 #vbox1_resolution=1920x1080i # Script #-------------------------------------------------------------- cmd="start" if [ -n "$1" ];then cmd="$1";fi case "$cmd" in start) for pid in `cat /run/lock/$USER"-smsloop".pid 2>/dev/null`;do kill -9 $pid >/dev/null 2>&1;done;rm /run/lock/$USER"-smsloop".pid pid=`echo $$`;echo $pid >> /run/lock/$USER"-smsloop".pid icew1win="" for win in `cat /run/lock/$USER"-iceweasel1".win 2>/dev/null`;do wmctrl -i -c $win >/dev/null 2>&1;done;rm /run/lock/$USER"-iceweasel1".win >/dev/null 2>&1 sleep 5;killall iceweasel;sleep 2 iceweasel -new-window "http://example.org/example.html" >/dev/null 2>&1 & while [ -z $icew1win ];do icew1win=`wmctrl -lp | grep Raster | cut -d " " -f 1`;done echo $icew1win >> /run/lock/$USER"-iceweasel1".win wmctrl -i -R $icew1win -b add,fullscreen while true; do ##################### # HDMI1 xrandr | grep HDMI1 >/dev/null 2>&1; if [ $? -eq 0 ];then #vbox0_resolution=`xrandr -q | grep -A 1 HDMI1 | tail -n 1 | cut -d " " -f 4` #echo "HDMI1: "$vbox0_resolutionx xrandr --output HDMI1 --mode $vbox0_resolution $vbox0_set_pos --primary else #xmessage -center -timeout 1 "HDMI1 Monitor not connected" : fi ######################## # HDMI2 xrandr | grep HDMI2 >/dev/null 2>&1; if [ $? -eq 0 ];then #vbox1_resolution=`xrandr -q | grep -A 1 HDMI2 | tail -n 1 | cut -d " " -f 4` #echo "HDMI2: $vbox1_resolution" xrandr --output HDMI2 --mode $vbox1_resolution --rate $vbox1_rate $vbox1_set_pos --same-as HDMI1 else #xmessage -center -timeout 1 "HDMI2 Monitor not connected" : fi sleep 30 done ;; stop) for pid in `cat /run/lock/$USER"-smsloop".pid 2>/dev/null`;do kill -9 $pid >/dev/null 2>&1;done;rm /run/lock/$USER"-smsloop".pid for win in `cat /run/lock/$USER"-iceweasel1".win 2>/dev/null`;do wmctrl -i -c $win >/dev/null 2>&1;done;rm /run/lock/$USER"-iceweasel1".win >/dev/null 2>&1 sleep 5;killall iceweasel;sleep 2 ;; esac exit 0
Erweiterter Monitor mal ja mal nein
DVI-0 ist immer an (seite1.html). HDMI-0 ist gelegentlich an, und bekommt auch eine andere Seite (seite2.html) als auf DVI-0. So alle 30 Sekunden wird das geprüft.
Bei der Zeile while [ -z $icew1win ];do icew1win=wmctrl -lp | grep Raster | cut -d " " -f 1;done müsst ihr selber gucken, nach was grep suchen soll, also wie eure Seite heisst. In einem Terminal von Hand wmctrl -lp zeigt die übersicht der geöffneten Fenster, um herauszufinden was man bei grep einsetzen soll als Suchkriterium.
Das erste Zeichen darf kein Leerzeichen sei beim speichern, wiki bedingt
#!/bin/bash # scriptname: smsloop (set my screen in loop mode) # chmod 755 /usr/local/bin/smsloop # # Set display for Multiple Grafic Head Virtualbox Client # VBOX0 is Main Display, thatsway is no set_pos needed. #vbox0_set_pos="--left-of VBOX1" #vbox0_set_pos="--right-of VBOX1" vbox0_set_pos="--primary" vbox0_rate=60 #vbox0_resolution=1360x768 vbox0_resolution=1920x1080 #vbox1_set_pos="--left-of VGA1" #vbox1_set_pos="--same-as DVI-0" vbox1_set_pos="--right-of DVI-0" vbox1_rate=60 #vbox1_resolution=1360x768 vbox1_resolution=1920x1080 # Script #-------------------------------------------------------------- cmd="start" if [ -n "$1" ];then cmd="$1";fi case "$cmd" in start) for pid in `cat /run/lock/$USER"-smsloop".pid 2>/dev/null`;do kill -9 $pid >/dev/null 2>&1;done;rm /run/lock/$USER"-smsloop".pid pid=`echo $$`;echo $pid >> /run/lock/$USER"-smsloop".pid for win in `cat /run/lock/$USER"-iceweasel1".win 2>/dev/null`;do wmctrl -i -c $win >/dev/null 2>&1;done;rm /run/lock/$USER"-iceweasel1".win >/dev/null 2>&1 for win in `cat /run/lock/$USER"-iceweasel2".win 2>/dev/null`;do wmctrl -i -c $win >/dev/null 2>&1;done;rm /run/lock/$USER"-iceweasel2".win >/dev/null 2>&1 sleep 5;killall iceweasel;sleep 2 while true; do ##################### # DVI-0 state=`xrandr | grep DVI-0 | cut -d " " -f 2` if [ "$state" = "connected" ];then vbox0_resolution=`xrandr -q | grep -A 1 DVI-0 | tail -n 1 | cut -d " " -f 4` #echo "DVI-0: "$vbox0_resolution;exit 0 xrandr --output DVI-0 --mode $vbox0_resolution --rate $vbox0_rate $vbox0_set_pos >/dev/null 2>&1 if [ ! -f /run/lock/$USER"-iceweasel1".win ];then exec /usr/bin/iceweasel --new-window "http://example.org/seite1.html" >/dev/null 2>&1 & icew1win="" while [ -z $icew1win ];do icew1win=`wmctrl -lp | grep Shop | cut -d " " -f 1`;done echo $icew1win >> /run/lock/$USER"-iceweasel1".win wmctrl -i -R $icew1win -b remove,fullscreen sleep 1 wmctrl -i -r $icew1win -e 0,100,100,1700,800 sleep 1 wmctrl -i -R $icew1win -b add,fullscreen # sleep 3 fi else for win in `cat /run/lock/$USER"-iceweasel1".win 2>/dev/null`;do wmctrl -i -c $win >/dev/null 2>&1;done;rm /run/lock/$USER"-iceweasel1".win >/dev/null 2>&1 #xmessage -center -timeout 1 "DVI-0 Monitor not connected" : fi ######################## # HDMI-0 state=`xrandr | grep HDMI-0 | cut -d " " -f 2` if [ "$state" = "connected" ];then #vbox1_resolution=`xrandr -q | grep -A 1 HDMI-0 | tail -n 1 | cut -d " " -f 4` #echo "HDMI-0: "$vbox1_resolution;exit 0 xrandr --output HDMI-0 --mode $vbox1_resolution --rate $vbox1_rate $vbox1_set_pos >/dev/null 2>&1 if [ ! -f /run/lock/$USER"-iceweasel2".win ];then # sleep 3 exec /usr/bin/iceweasel --new-window "http://example.org/seite2.html" >/dev/null 2>&1 & icew2win="" while [ -z $icew2win ];do icew2win=`wmctrl -lp | grep TankeV | cut -d " " -f 1`;done echo $icew2win >> /run/lock/$USER"-iceweasel2".win wmctrl -i -R $icew2win -b remove,fullscreen sleep 1 wmctrl -i -r $icew2win -e 0,2020,100,1700,800 sleep 1 wmctrl -i -R $icew2win -b add,fullscreen # sleep 3 fi else for win in `cat /run/lock/$USER"-iceweasel2".win 2>/dev/null`;do wmctrl -i -c $win >/dev/null 2>&1;done;rm /run/lock/$USER"-iceweasel2".win >/dev/null 2>&1 #xmessage -center -timeout 2 "HDMI-0 Monitor not connected" : fi sleep 30 done ;; stop) for win in `cat /run/lock/$USER"-iceweasel1".win 2>/dev/null`;do wmctrl -i -c $win >/dev/null 2>&1;done;rm /run/lock/$USER"-iceweasel1".win >/dev/null 2>&1 for win in `cat /run/lock/$USER"-iceweasel2".win 2>/dev/null`;do wmctrl -i -c $win >/dev/null 2>&1;done;rm /run/lock/$USER"-iceweasel2".win >/dev/null 2>&1 for pid in `cat /run/lock/$USER"-smsloop".pid 2>/dev/null`;do kill -9 $pid >/dev/null 2>&1;done;rm /run/lock/$USER"-smsloop".pid sleep 5;killall iceweasel;sleep 2 ;; esac exit 0
Shutdown / Reboot
Dazu ersellt man sich am besten zwei kleine Scipte. Diese linkt man dann mit alacarte und legt sie noch zu Favoriten in den Desktop.
Das erste Zeichen darf kein Leerzeichen sei beim speichern, wiki bedingt
#!/bin/bash # Scriptname: do_shutdown # Installation: Save to /usr/local/bin/do_shutdown and chmod 755 /usr/local/bin/do_shutdown smsloop stop sudo /sbin/shutdown -h now exit 0
#!/bin/bash # Scriptname: do_reboot # Installation: Save to /usr/local/bin/do_reboot and chmod 755 /usr/local/bin/do_reboot smsloop stop sudo /sbin/reboot exit 0
Iceweasel Cache leeren bei Dauerbetrieb
Ich schmeisse alle 5 Minuten das Browser Cache weg. Bei einem System (knappe CPU und Memeory), schaukelt sich die Cache Verwaltung vom Iceweasel irgendwann hoch nach ein paar Stunden Betrieb. Und mein Load geht hoch. Versuch mit Iceweasel/Firefox Einstellungen Cache auf 100MB fix zu stellen, sind gescheittert, es checkt doch noch zuviele Dateien durch im Browser. (Ich vermute mal das) . Darum bin ich zurück auto automatisch wie Standard ist für das Cache und mache es händisch, wirklich mal wieder nen blanken Ordner, so kann der Browser seinen internen Variablen wieder mal etwas rausputzen.
Also als USER starte ich da crontab -e und trage ein alle 5 Minuten remove ein. USER müsst ihr anpassen, und das Profildingsnamen da.
*/5 * * * * rm /home/USER/.cache/mozilla/firefox/Profildings_m5kegw4b.default/cache2/entries/* > /dev/null 2>&1
Besser ist vermutlich: (alle 30 Minuten die letzen 20 Minuten löschen, 10 Minuten stehen lassen)
*/30 * * * * find /home/USER/.cache/mozilla/firefox/Profildings_m5kegw4b.default/cache2/entries/* -type f -amin +20 -exec rm "{}" \; > /dev/null 2>&1