Bash Scripting

Imagen de lobodemibu
0 puntos

Saludos

Estoy desarrollando un Script en bash, con varias funciones, y en una de ellas genero un archivo html que despues es abierto por un navegador. El Script esta orientado a funcionar en cualquier pc con Os Linux, entonces necesito saber como puedo averiguar los navegadores instalados de cada maquina que use dicho script.

He probado hacer un echo de la variable $BROWSER, y un cat de /etc/alternatives | grep www que te muestra algunos enlaces. Pero por ejemplo el konqueror no me lo muestra, me muestra el w3m y el firefox.

Los navegadores se instalan en algun directorio por defecto siempre? o que otra forma se os ocurre?

Gracias.

Imagen de daniel_perella
+1
0
-1

Hace tiempo hice un script que generaba un sitio html de administración bastante completito para un servidor ubuntu, te puedo ayudar en éso.

Con respecto a lo de los navegadores, me parece que tendrás que hacerte una lista de "navegadores compatibles" y después comprobar si están en /usr/bin

Imaginemos que tienes una lista de navegadores, luego harías un grep por cada navegador (con un while) de /usr/bin y si la variable resultante en cada iteración fuera distinta de 0 (test -n) entonces ése navegador estaría instalado.

Mas info de scripts: mi blog o Mi blog de ubuntu. La última entrada puede interesarte.

-----------------------------------------------------------------------------------------

Por favor, leed la documentación, que para algo la escribimos...

http://ubuntulinuxafondo.blogspot.com/

+1
0
-1

-----------------------------------------------------------------------------------------

Por favor, leed la documentación, que para algo la escribimos...

http://ubuntulinuxafondo.blogspot.com/

Imagen de lobodemibu
+1
0
-1

Hola daniel

me has ayudado con los directorio /usr/ bien, gracias porque los navegadores que he instalado : firefox y Opera, aparecen x ahi, entonces he hecho este case....

echo
echo "Navegadores Compatibles con este Script:"
echo "----------------------------------------"
echo " 1)Firefox "
echo " "
echo " 2)Opera "
echo " "
echo " 3)Konqueror "
echo " "
echo " 4)Safari "
echo " "
echo "________________________________________"
read navegador
case $navegador in

1)
ls /usr/bin/ | grep firefox>/tmp/fichero_o.txt 2>/tmp/log_o.txt

if [ $? == 0 ]
then
firefox "$HTML" &
else
echo
echo "Navegador No instalado"
fi
;;

Los 4 case son iguales, salvo los greps, y la instruccion de abrir, como es logico. Pero tengo varias dudas....

1) en ambos navegadores: firefox y opera me dan error del tipo:

No protocol specified
: cannot connect to X server :0.0

2)
una vez este solucionado esto, necesito saber como hacerlo para el konqueror, porque no aparece en /usr/bin, de hecho he probado a jecutar la instruccion konqueror y me dice que no esta instalado XD, y lo tengo en el menu de aplicaciones ya que ademas de navegador html, tb se puede usar de navegador de archivos personales, discos duros etc... ya lo sabras.

pues eso que ejecutando konqueror no se ejecuta y no aparece en /usr/bien

pd: si se te ocurre otra forma mejor de hacer lo que hice yo con el case acepto sugerencias. Gracias

+1
0
-1
Imagen de Sanguinario_Joe
+1
0
-1

Hola!

Para el problema del Konqueror, simplemente mira cual es la orden en el menu (ya sabes, boton derecho, editar menu, y lo buscas y le das boton derecho y a propiedades).

Una vez sepas la orden concreta, puede haber dos alternativas, que la orden sea del tipo:

/usr/bin/konqueror

En cuyo caso ya sabras donde encontrar el konqueror, y podras actuar de la misma manera

O que sea del tipo:

kkpedo

En cuyo caso, lo que puedes hacer es simplemente pasarle la orden al script (sin comprobar si esta instalado), y en el peor de los casos, si es que no esta instalado, simplemente devolvera un eco diciendotelo.

-------------------------------

Respecto al otro problema (No protocol specified: cannot connect to X server :0.0), pues por ahi la gente recomienda hacer esto antes de pasarle la orden de ejecucion:

xhost +x

Pruebalo a ver que tal...

Espero haber sido de ayuda!

Saludos!!!

+1
0
-1