Jump to content
  • 0

Script para cambiar pagina de inicio de chromium¿?


daiyiro
 Share

Question

Hola, mi duda es esa, como cambiar la pagina de inicio de chromium desde terminal.

 

Os explico mi necesidad, como sabreis hace unas semanas Whatsapp lanzo Whatsapp Web, el cual funciona con Chrome o Chromium, el caso es que yo como navegador prefiero usar Iceweasel, decidí instalar Chromium para poder usar con este Whatsapp Web, soy muy pijotero (que me perdonen los usuarios de chromium por ello) y para darle a chromium el aspecto de la aplicación de whatsapp remplace los iconos de chromium por los de la mensajería y customice el lanzador de la aplicación ya que solo voy a usar chromium para la mensajería

 

Para hacer todos estos cambios mas rápido en todos los ordenadores de la familia (Todos usan la misma distribución debian) cree este sencillo script, bueno no es mas que unos pocos comandos detras de otros :P

 

sudo aptitude update
sudo aptitude install chromium chromium-l10n
sudo tar xzvf instalar.tar.gz -C /usr/share/icons/hicolor/
sudo cp -r whatsapppc.desktop /usr/share/applications/
sudo rm /usr/share/applications/chromium.desktop

 

Lo de cambiar la pagina de inicio lo hacia manualmente, pero seria ya la leche si estuviera incluido en el script, para hacerlo he buscado información por la red, pero no he encontrado gran cosa. Habia pensado editar con el comando "sed" el fichero .config/chromium/Default/Preferences, pero tengo 2 dificultades no he usado nunca dicho comando y a parte si ya esta establecida la pagina de inicio me dado cuenta que solo habría que remplazar al final del todo:

 

   "session": {
      "restore_on_startup": 4,
      "restore_on_startup_migrated": true,
      "startup_urls": [ "https:/paginadeinicio.com/" ],
      ....
   },

 

 por:

 

   "session": {
      "restore_on_startup": 4,
      "restore_on_startup_migrated": true,
      "startup_urls": [ "https:/web.whatsapp.com/" ],
      ....
   },

 

Pero si no esta configurada una pagina de inicio en el fichero solo sale esto:

 

   "session": {
      "restore_on_startup_migrated": true,
     ...
   },

 

y si solo incluyo esta linea:

 

"startup_urls": [ "https:/web.whatsapp.com/" ],

 

la historia no chuta, alguna idea¿?

Link to comment
Share on other sites

11 answers to this question

Recommended Posts

  • 0

Eso es un json. Lo que necesitas es tratar ese json para poder cambiar el valor startup_URLs

Con php seria la mar de sencillo. Pero en bash ni idea

 

Buscando muy por encima con el móvil a ver si con esto te vale.

http://stackoverflow.com/questions/24942875/change-json-file-by-bash-script

Edited by sdsoldi
Link to comment
Share on other sites

  • 0

Buenas, esta mañana le he hechado un vistazo al enlace que has nombrado, es cierto que es un json, he tratado de utilizar lo mencionado, pero no consegui lo deseado.

 

Este medio dia comiendo he pensado que seria mas facil con el comando SED buscando la linea anterior osea:

 

   "session": {

 

he insertando 2 lineas nuevas despues de esta, es decir:

 

"restore_on_startup": 4,
"startup_urls": [ "https://web.whatsapp.com/" ],

 

 

escribi esto en el script:

 

sed -i 's/ "session": {/ "session": {\n"restore_on_startup": 4,\n"startup_urls": [ "https://web.whatsapp.com/" ],/' prueba.txt

 

me daba un error y es que interpretaba las barras de la URL "/" como parte de la sintexis de sed, lo he solucionado al escapar "/" con un contrabarra delante, asi que se me a quedado tal que asi:

 

sed -i 's/ "session": {/ "session": {\n"restore_on_startup": 4,\n"startup_urls": [ "https:\/\/web.whatsapp.com\/" ],/' .config/chromium/Default/Preferences

 

Esto soluciona en parte lo que queria si antes no sea puesto en chromium ninguna pagina de inicio, lo suyo seria:

 

IF no hay restore_on_startup & startup_urls

 

                sed -i 's/ "session": {/ "session": {\n"restore_on_startup": 4,\n"startup_urls": [ "https:\/\/web.whatsapp.com\/" ],/' .config/chromium/Default/Preferences

 

ELSE

 

        modifica startup_urls

 

END

 

 

Pero no se aplicarlo en un script

 

 

Ahhh y un fallo que tengo con la linea:

 

sed -i 's/ "session": {/ "session": {\n"restore_on_startup": 4,\n"startup_urls": [ "https:\/\/web.whatsapp.com\/" ],/' .config/chromium/Default/Preferences

 

es que si el fichero script.sh lo tengo en otra ubicacion que no sea /home/usuario/ no encuentra .config/chromium/Default/Preferences como puedo arreglar esto¿?

Link to comment
Share on other sites

  • 0

Saludos....

 

Yo creo que hay una manera mas sencilla de hacerlo.

Te pongo un ejmplo: He creado un archivo llamado prueba.txt con el contenido

 

Hola pepe

Hola juan

Hola luis

 

Ahora he hecho un script que busca estas lineas, las borra y las cambia por

 

Hola pepa

Hola juana

Hola luisa

 

El script:

 

#!/bin/bash

sed -e '/Hola pepe/d;

/Hola juan/d;

/Hola luis/d' prueba.txt > prueba.txt.tmp && mv prueba.txt.tmp prueba.txt

echo "Hola pepa

Hola juana

Hola luisa" >> prueba.txt

 

 

Cambia el script por las lineas que has de buscar y tienes que poner nuevas. Si en la busqueda de la linea ésta no existe no pasa nada.

 

Lo siento por poner así los bloques de código, pero es que no me sale opción para poner bloques de código.

 

 

Edito: Jummm... acabo de caer que esas lineas irán dentro de una estructura de código y no las va a poner donde deberían ir.

Edited by chujalt
Link to comment
Share on other sites

  • 0

Luego si tengo un raro te lo miro en mi PC e intento solucionarlo. Lo suyo seria tratar el json ya ke puedes acceder a la propiedad y cambiar el valor. Con esto evitamos el remplazar texto de la URL que funcionara cuando coincida... Pero si no coincide no se consigue nada.

Link to comment
Share on other sites

  • 0

Que version de chromium usas¿? porque yo tengo la:

 

Versión 40.0.2214.91 Built on 8.0, running on Debian 8.0 (64-bit)

 

y me funciona perfectamente, quizas tengas instalado el chromium con una version anterior¿?

Link to comment
Share on other sites

  • 0

Que version de chromium usas¿? porque yo tengo la:

 

Versión 40.0.2214.91 Built on 8.0, running on Debian 8.0 (64-bit)

 

y me funciona perfectamente, quizas tengas instalado el chromium con una version anterior¿?

Pues ahora realmente ni idea xD además me acabo de cargar todo el servidor gráfico de mi linux (que raro)

 

De todas formas lo que puedes hacer es una copia del fichero Preferences con todos los datos guardados y cambiados, y cuando instales con el script usa el comando mv para moverlo a su sitio.

Link to comment
Share on other sites

  • 0

De todas formas lo que puedes hacer es una copia del fichero Preferences con todos los datos guardados y cambiados, y cuando instales con el script usa el comando mv para moverlo a su sitio.

 

Lo llegue a pensar, pero hay muchos datos internamente en ese fichero que no se si es conveniente hacerlo tal cual dices, aun asi llegue a probar hace dias y a la hora de copiarlo no se si seria por los permisos del fichero pero chromium no lo reconocia y se jorobaba, me tocaba borrar el fichero y ejecutar chromium para que generara un nuevo fichero de Preferences.

Link to comment
Share on other sites

  • 0

Saludos...

Por el tema de eliminar el archivo y volver a ponerlo y que no funciona, podrías eliminar su contenido y volver a rellenarlo con la configuración que tu quieres.

 

Para vaciarlo :

 

cat /dev/null > archivo

 

 

Y para volver a llenarlo:

 

echo "una linea

otra linea

última linea" >> archivo

 

 

Saludos

Link to comment
Share on other sites

  • 0

Saludos....

 

No, no hace falta que copies las lineas... Con un script de tres lineas basta.

 

#!/bin/bash

cat /dev/null > archivo_configuracion_a_modificar

cat archivo_configuracion_optimo > archivo_configuracion_a_modificar

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...