← Back to team overview

sslug-teknik team mailing list archive

Re: Firefox låser

 

Mogens Kjaer wrote:
Jesper Krogh wrote:
I sslug.teknik, skrev Mogens Kjaer:
 Man kan selvfølgelig ikke logge ind to steder OG
 starte firefox begge steder.

Bande, svovle.. det er da kun fordi firefox-udviklerne koder med hovedet
under armen og har windows som primær platform.

Nu er det nok ikke helt nemt at holde styr på
opsætning/bookmarks/historik/etc. imellem
to instanser af firefox på forskellige maskiner.

- Hvis du syntes det kan du jo bare skrive koden om :-)

Det er kun idioter og sportsfolk, der springer over hvor gærdet er højest (jeg fik engang det citat fra Jesper Klein i en TV udsendelse)

Løsningen må ligge i profilerne.

/usr/bin/firefox -P "$HOST"

vil starte firefox med den profil, der har maskinens navn. Problemet er så bare at sikre, at den profil eksisterer uden at brugerne selv skal oprette dem (de staver ikke så godt og kender næppe maskinens navn).

Du skulle vel ikke være til at friste til lidt magi?

I stedet for at starte /usr/bin/firefox direkte (det er i virkeligheden blot et symlink til /usr/lib/firefox/firefox.sh scriptet, som starter /usr/lib/firefox/firefox-bin) skal der ske dette:

1. Hvis profilen ~/.mozilla/firefox/$HOST ikke findes skal den
 a) oprettes som en kopi af ~/.mozilla/firefox/*.default  og
b) filen ~/.mozilla/firefox/profiles.ini skal udvides med oplysningerne om den nye profils navn. (Der er ingen grund til at gøre profilens navn unikt, det er maskinernes navne i forvejen, og profilen ligger i hver enkelt brugers ~, hvilket jo er unikt nok.) c) ~/.mozilla/firefox/$HOST/.parentlock skal slettes hvis den eksisterer (den er i dette tilfælde et pid til en proces, der kører på en helt anden maskine).

3. Herefter kaldes /usr/lib/firefox/firefox.sh -P "$HOST" (skal der evt. afsluttes med & for at den kører videre?)

4. Scriptet lægges i alle brugeres ~/bin/firefox, hvor det kan rettes/opdateres centralt på serveren.

I et anfald af ungdommeligt overmod forestiller jeg mig noget i retning af:

#!/bin/sh
# Script til start af flere instanser af firefox
# i et NIS baseret netværk med <HOME> på serveren

PROFILDIR="~/.mozilla/firefox/"$HOST"
if [ ! -d $PROFILDIR ]; then
 mkdir "$PROFILDIR"
 cp -a ~/.mozilla/firefox/*.default/* "$PROFILDIR"
 if [ -f "$PROFILDIR/link"]; then
  rm -f "$PROFILDIR/link"
  rm -f "$PROFILDIR/127.0*"
 fi
 if [ -f "$PROFILDIR/.parentlock"]<, then
  rm -f "$PROFILDIR/.parentlock"
 fi
# find højeste profilnummer,
# læg 1 til og echo den nye profil ind i
# ~/.mozilla/firefox/profiles.ini
fi
/usr/lib/firefox/firefox.sh -P "$HOST" ## muligvis med et & efter
exit 0



Follow ups

References