Come disabilitare le pagine di ripristino? Chromium non si è spento correttamente. Richiesta?


18

Sto automatizzando un RPi per quattro display presso la mia azienda. Li riavvio ogni giorno in modo che il browser si aggiorni. Non riesco a ottenere le pagine di ripristino? Chromium non ha spento correttamente la bolla per non risalire. Ho provato diverse soluzioni che ho trovato online, ma nulla funziona.

Ho aggiunto molti switch come --noerrdialogs --disable-session-crashed-bubble --disable-infobars --disable-restore-session-state --incognito

Ho anche provato un paio di comandi sed che ho trovato online.

Qualsiasi aiuto sarebbe molto apprezzato.


Hai esaminato correttamente lo spegnimento di Chrome?
Steve Robillard,

il motivo per cui suggerisco questo è che sta trattando la malattia, non gli effetti collaterali.
Steve Robillard,

Stavo pensando a un cronjob per spegnere il cromo 10 minuti prima che il riavvio venga eseguito. Questo è il prossimo passo, qualche suggerimento?
Paul Karvetski,

Ciò può funzionare soprattutto se tramite script tramite la GUI e un controllo viene aggiunto prima del riavvio. Potresti anche essere in grado di evitare il riavvio completo. Se stanno visualizzando solo una singola pagina, potresti voler guardare fullpageOS.
Steve Robillard,

1
puoi usare javascript per aggiornare dopo un certo periodo di tempo stackoverflow.com/questions/2787679/… probabilmente non avrai bisogno di aggiornare ogni 5 secondi ma la teoria è la stessa.
Steve Robillard,

Risposte:


25

Ho capito! Uso--app=your.url

Per esempio:

chromium-browser --kiosk --app=http://your.url.here

2
l'unica cosa che ha funzionato per me sul mio Pi Zero! Grazie
DarkCygnus il

Dov'eri un anno fa :)
uchuugaka il

Seriamente, questo ha salvato le mie irritazioni con cromo schiantato. grazie
uchuugaka il

6

1) Non so perché --dable-infobars non ha funzionato per te. Questo funziona bene per me:

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

2) Un modo migliore per aggiornare il browser (contenuto) sarebbe inviarlo Control-R? ad es. nello script di avvio del browser, eseguire:

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

(Mando anche ctrl + Tab per scorrere tra le varie schede del browser


4

So che questo non risolve davvero il problema - ma come soluzione alternativa - ha fatto il trucco per me.

Mi sono assicurato che Chrome fosse spento in modo pulito ... Terminale aperto

cd .config/chromium/Default
chattr +i Preferences

Questo rende il file immutabile ... rigorosamente di sola lettura, Chrome può bloccarsi quanto vuole - non mostrerà il popup in quanto il file delle preferenze non può più essere modificato.

Questa configurazione funziona per me poiché la configurazione Pi non cambierà: sta solo visualizzando un'app basata sul Web in modalità kiosk.


Funziona anche con le distribuzioni Linux ... Nota che potrebbero esserci problemi in Windows / WebDriver / Selenium come riportato altrove
MarcoZen

4

Per chi arriva qui da Google:

Il modo migliore per eseguire ora questa attività, senza dover utilizzare la navigazione in incognito, è regolare due impostazioni nelle preferenze di Chromium. Loro sono:

  • exited_cleanly
  • exit_type

Da quello che ho raccolto dai test personali, cambiare semplicemente l'impostazione "exited_cleanly" potrebbe non funzionare sempre per impedire il prompt di Chromium all'avvio. Anche altri flag come "-disable-infobars" non funzioneranno.

Per regolare queste impostazioni, aggiungi quanto segue nel tuo file di avvio, prima di avviare Chromium (a seconda di come hai configurato Chromium per l'esecuzione automatica in modalità kiosk, questo file può trovarsi in "/ etc / xdg / lxsession / LXDE- pi / autostart "," / etc / xdg / openbox / autostart "," ~ / .Xsession "o un altro file, a seconda di ciò che hai già installato).

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

Ad esempio, con la mia configurazione (usando Xsession), la procedura sarebbe la seguente:

  1. Immettere "sudo ~ / .Xsession" nella console
  2. Inserisci le 2 righe sopra nel file, prima di eseguire Chromium (dovresti vedere una riga che inizia con "chromium-browser", quindi inseriscile sopra)
  3. Premi ctrl + X per uscire dal file
  4. Digita "Y"
  5. Premere Invio
  6. Riavvia la macchina

Ancora una volta, il file utilizzato per avviare Chromium potrebbe trovarsi in una posizione diversa, a seconda di come hai configurato il tuo pi, ma dopo aver modificato queste due impostazioni, Chromium dovrebbe avviarsi senza visualizzare il messaggio di arresto anomalo.


2

Ho escogitato una soluzione alternativa che in realtà si è occupata di più oggetti contemporaneamente.

vi restartscript.sh

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

Rendi eseguibile lo script: chmod +x restartscript.sh

Modifica cron: chrontab -e

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

La pagina Web visualizzata viene aggiornata e il pi rimane aggiornato.


2

Questa pagina mi ha dato la risposta. Aggiunta dell'opzione

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

risolto per me (in un'applicazione non kiosk).

Si è scoperto che questa era solo una parte del problema. L'intera situazione sembra molto variabile. Ho inoltre aggiunto:

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

Cercando di riprodurre l'errore per dimostrare che questa era la correzione, non riesco ora a farlo tornare con il pop-up (anche senza questo codice). YMMV, tra cui questa è la versione 72 di Chrome. Ho visto altri post che sostenevano di cambiare il file delle Preferenze con qualcosa come sed prima di avviare il browser.


1

La mia soluzione è molto semplice. Copio solo un file Preferenze da un precedente arresto di Chromium sul file corrente ~/.config/chromium/Default/Preferences.


0

Per disabilitare il fumetto Ripristina pagine apro due volte chromium nel file di avvio automatico in questo modo:

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

Il primo ottiene il fumetto popup ma non lo vedi, quindi il secondo si apre come se il browser fosse chiuso correttamente. Probabilmente non è il modo più pulito per farlo, ma ha funzionato per me.


0

L'unico modo che ha funzionato per me è stato modificare la configurazione prima di avviare Chromium:

sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' ~/.config/chromium/Default/Preferences
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.