¿Cómo deshabilito las páginas de restauración? El cromo no se cerró correctamente. ¿Rápido?

18

Estoy automatizando un RPi para cuatro pantallas en mi empresa. Los reinicio todos los días para que el navegador se actualice. No puedo obtener las páginas de restauración? El cromo no cerró correctamente la burbuja para no aparecer. He probado varias soluciones que he encontrado en línea, pero nada funciona.

He agregado muchos modificadores como --noerrdialogs --disable-session-crashed-bubble --disable-infobars --disable-restore-session-state --incognito

También probé un par de comandos sed que encontré en línea.

Cualquier ayuda sería muy apreciada.

Paul Karvetski
fuente
¿Has estudiado cómo cerrar correctamente Chrome?
Steve Robillard
La razón por la que sugiero esto es porque trata la enfermedad, no los efectos secundarios.
Steve Robillard
Estaba pensando en un cronjob para cerrar Chrome 10 minutos antes de que se ejecute el reinicio. Ese es el siguiente paso, ¿alguna sugerencia?
Paul Karvetski
Eso puede funcionar especialmente si se realiza una secuencia de comandos a través de la GUI y se agrega una verificación antes de reiniciar. También puede evitar el reinicio por completo. Si solo muestran una sola página, es posible que desee ver fullpageOS.
Steve Robillard
1
puede usar javascript para actualizar después de una cierta cantidad de tiempo stackoverflow.com/questions/2787679/… probablemente no necesite actualizar cada 5 segundos, pero la teoría es la misma.
Steve Robillard

Respuestas:

25

¡Lo tengo! Utilizar--app=your.url

Por ejemplo:

chromium-browser --kiosk --app=http://your.url.here
Fabiano Cores
fuente
2
¡Lo único que funcionó para mí en mi Pi Zero! Gracias
DarkCygnus
¿Dónde estabas hace un año :)
uchuugaka
En serio, esto salvó mis irritaciones con el cromo crashy. gracias
uchuugaka
6

1) No sé por qué --disable-infobars no funcionó para usted. Esto funciona bien para mi:

chromium-browser --kiosk --disable-infobars \
http://URL1 \
http://URL2 \
http://URL3

2) Una mejor manera de actualizar el navegador (contenido) sería enviarle Control-R? por ejemplo, en el script de inicio de su navegador, haga:

(while sleep 200; do xdotool key ctrl+R; done) &

(También envío ctrl + Tab para recorrer mis múltiples pestañas del navegador

Nigel Pearson
fuente
4

Sé que esto realmente no resuelve el problema, pero como una solución alternativa, me sirvió.

Me aseguré de que Chrome se cerró limpiamente ... Terminal abierto

cd .config/chromium/Default
chattr +i Preferences

Esto hace que el archivo sea inmutable ... estrictamente de solo lectura, Chrome puede bloquearse tanto como quiera; no mostrará la ventana emergente ya que el archivo de Preferencias ya no se puede cambiar.

Esta configuración funciona para mí, ya que la configuración de Pi no cambiará, solo muestra una aplicación basada en web en modo quiosco.

Tremayne Sargeant
fuente
Funciona también en Linux Distros ... Tenga en cuenta que podría haber problemas en Windows / WebDriver / Selenium como se informó en otro lugar
MarcoZen
4

Para aquellos que llegan aquí desde Google:

La mejor manera de realizar esta tarea ahora, sin tener que usar incógnito, es ajustar dos configuraciones en las preferencias de Chromium. Son:

  • exited_cleanly
  • tipo_salida

Por lo que he recopilado de las pruebas personales, el simple cambio de la configuración "exited_cleanly" no siempre funciona para evitar que el indicador de Chromium se inicie. Otros indicadores como "-disable-infobars" tampoco funcionarán.

Para ajustar esta configuración, agregue lo siguiente en su archivo de inicio, antes de iniciar Chromium (dependiendo de cómo haya configurado Chromium para ejecutarse automáticamente en modo quiosco, este archivo puede ubicarse en "/ etc / xdg / lxsession / LXDE- pi / autostart "," / etc / xdg / openbox / autostart "," ~ / .Xsession "u otro archivo, según lo que ya haya instalado).

  • sed -i 's / "exited_cleanly": false / "exited_cleanly": true /' ~ / .config / chromium / Default / Preferences
  • sed -i 's / ”exit_type”: “Crashed” / ”exit_type”: “Normal” /' ~ / .config / chromium / Default / Preferences

Por ejemplo, con mi configuración (usando Xsession), el procedimiento sería el siguiente:

  1. Ingrese "sudo ~ / .Xsession" en la consola
  2. Inserte las 2 líneas anteriores en el archivo, antes de ejecutar Chromium (Debería ver una línea que comienza con "chromium-browser", así que insértelas encima de esto)
  3. Presione ctrl + X para salir del archivo
  4. Escriba "Y"
  5. Presione enter
  6. Reiniciar la máquina

Nuevamente, el archivo utilizado para iniciar Chromium puede estar ubicado en una ubicación diferente, dependiendo de cómo haya configurado su pi, pero después de cambiar estas dos configuraciones, Chromium debería iniciarse sin mostrar el aviso de bloqueo.

Wincruzer
fuente
2

Se me ocurrió una solución que en realidad se ocupó de varios elementos a la vez.

vi restartscript.sh

#!/bin/sh
/usr/bin/killall chromium-browser
/usr/bin/apt-get update -y
/usr/bin/ apt-get upgrade -y
/sbin/reboot

Haga que el script sea ejecutable: chmod +x restartscript.sh

Editar cron: chrontab -e

0 5 * * * /home/pi/restartscript.sh

La página web que estoy mostrando se actualiza y el pi se mantiene actualizado.

Paul Karvetski
fuente
2

Esta página me dio la respuesta. Agregar la opción

chrome_options.add_argument("--profile-directory=Default")

lo resolvió por mí (en una aplicación que no es de quiosco).

Resulta que esto era solo una parte del problema. Toda la situación parece muy variable. También agregué:

prefs = {'exit_type': 'Normal'}
chrome_options.add_experimental_option("prefs", {'profile': prefs})

Intentando reproducir el error para demostrar que esta fue la solución, ahora no puedo hacer que vuelva con la ventana emergente (incluso sin este código). YMMV, por cierto, esta es la versión 72 de Chrome. Vi otras publicaciones que abogaban por cambiar el archivo de preferencias con algo como sed antes de iniciar el navegador.

Bryan
fuente
1

Mi solución es muy fácil. Solo copio un archivo de Preferencias de un cierre anterior de Chromium sobre el archivo actual ~/.config/chromium/Default/Preferences.

Frank Reeth
fuente
0

Para deshabilitar la burbuja Restaurar páginas, abro Chrome dos veces en el archivo de inicio automático de esta manera:

chromium-browser --no-startup-window --kiosk
chromium-browser --noerrordialogs --kiosk http://your.url.here

El primero obtiene la burbuja emergente pero no lo ve, luego el segundo se abre como si el navegador se hubiera cerrado correctamente. Probablemente no sea la forma más limpia de hacer esto, pero funcionó para mí.

Shane Loucks
fuente
0

La única forma que funcionó para mí fue modificar la configuración antes de iniciar Chromium:

sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' ~/.config/chromium/Default/Preferences
Mikey
fuente