domingo, 29 de abril de 2007

Integrar Firefox de Linux con el Firefox de Windows

Muchos somos que pese a estar encantados con nuestra distribución de linux tenemos que reiniciar periódicamente al SO de Redmond para poder jugar por lo que convivimos con los dos sistemas.

El que haya un programa presente en las dos plataformas hace que nos planteemos tenerlos integrados para que no notemos la diferencia entre usarlo en Windows o en Linux

He creado un script de shell para que de manera sencilla podamos tener Firefox completamente integrado en los 2 sistemas, una vez aplicado se guardara la sesión , favoritos, temas y extensiones, de tal forma que iniciemos el SO que iniciemos todo estará tal y como lo dejamos.

El script esta probado en Windows Vista, aunque he intentado dar soporte a los 2, en Windows XP no esta probado si veis algún fallo comentármelo.

Copiar y pegar en un nuevo archivo de texto y ejecutarlo como sh "nombre-script"


#!/bin/bash
clear
echo Introduzca el punto de montaje de la particion que contiene firefox
echo Ejemplo: /media/c
read dir
clear
echo "Introduzca su nombre de usuario en Windows (Sensible a mayusculas y minusculas)"
read user
clear
echo ¿Que version de Windows usa?
echo Pulse 1 para Windows Vista
echo Pulse 2 para Windows 2000/XP
read sistema
while [ $sistema -lt 1 -o $sistema -gt 2 ]
do
clear
echo Error
echo Pulse 1 para Windows Vista
echo Pulse 2 para Windows 2000/XP
read sistema
done
clear
echo Se borrará el perfil que tenia en Linux, ¿Desea Continuar? s/n
read resp
if [ $resp = 's' ]
then
if [ $sistema -eq 1 ]
then
dirdefaultl=`ls $HOME/.mozilla/firefox | grep default`
dirdefaultw=`ls $dir/Users/$user/AppData/Roaming/Mozilla/Firefox/Profiles/ | grep default`
contenido=`ls $dir/Users/$user/AppData/Roaming/Mozilla/Firefox/Profiles/$dirdefaultw/`
cd $HOME/.mozilla/firefox/$dirdefaultl
for i in $contenido
do
if [ $i != prefs.js ]
then
if [ $i != compreg.dat ]
then
if [ $i != extensions.ini ]
then
rm -r $i
ln -s $dir/Users/Naxeras/AppData/Roaming/Mozilla/Firefox/Profiles/$dirdefaultw/$i
fi
fi
else
cat $dir/Users/$user/AppData/Roaming/Mozilla/Firefox/Profiles/$dirdefaultw/$i | grep -v ':\\' > $i
echo 'user_pref("browser.download.dir", "/home/Desktop");' >> $i
echo 'user_pref("browser.download.downloadDir", "/home/Desktop");' >> $i
echo 'user_pref("browser.download.lastDir", "/home/Desktop");' >> $i

fi
done
else
dirdefaultl=`ls $HOME/.mozilla/firefox | grep default`
dirdefaultw=`ls $dir/Documents\ and\ Settings/Administrador/Configuración\ local/Datos\ de\ programa/Mozilla/Firefox/Profiles | grep default`
contenido=`ls $dir/Users/$user/AppData/Roaming/Mozilla/Firefox/Profiles/$dirdefaultw/`
cd $HOME/.mozilla/firefox/$dirdefaultl
for i in $contenido
do
if [ $i != prefs.js ]
then
if [ $i != compreg.dat ]
then
if [ $i != extensions.ini ]
then
rm -r $i
ln -s $dir/Documents\ and\ Settings/Administrador/Configuración\ local/Datos\ de\ programa/Mozilla/Firefox/Profiles/$dirdefaultw/$i
fi
fi
else
cat $dir/Documents\ and\ Settings/Administrador/Configuración\ local/Datos\ de\ programa/Mozilla/Firefox/Profiles/$dirdefaultw/$i | grep -v ':\\' > $i
echo 'user_pref("browser.download.dir", "/home/Desktop");' >> $i
echo 'user_pref("browser.download.downloadDir", "/home/Desktop");' >> $i
echo 'user_pref("browser.download.lastDir", "/home/Desktop");' >> $i

fi
done

fi
fi

4 comentarios:

Anónimo dijo...

Muchas gracias por el script, a mi me ha funcionado.

Anónimo dijo...

Muchas gracias por el script, pero no me pita.
Intento hacerlo primero "a mano" . Moví todo a /media/hdc5/firefox/xxx.default creo el enlace simbólico y funcionan bookmarks y sesiones.

Lo que no me van son las extensiones. He creado un extensions.ini partiendo del de win con los path para lin, pero siguen sin funcionar.
Sin embargo los thenmes si.

¿Que me falta?

Un saludo. bertiks_oo_gmail.com

naXeras dijo...

¿Que sistema operativo usas?

Incluso sin el extensions.ini deberian de funcionar las extensiones de win.

Bertik dijo...

Gracias por atenderme.

Por un lado XP y por el otro Ubuntu.

La extensión que más me interesa compartir es Brief pero además uso Stylish y Paste and go.