Como desativo Restaurar páginas? O Chromium não foi desligado corretamente. Pronto?

18

Estou automatizando um RPi para quatro monitores na minha empresa. Eu os tenho reiniciando todos os dias para que o navegador seja atualizado. Não consigo acessar as páginas Restaurar? O Chromium não desligou a bolha corretamente para não aparecer. Eu tentei várias soluções que encontrei on-line, mas nada funciona.

Eu adicionei muitos switches como --noerrdialogs --disable-session-crashed-bubble --disable-infobars --disable-restore-session-state --incognito

Eu também tentei alguns comandos sed que encontrei online.

Qualquer ajuda seria muito apreciada.

Paul Karvetski
fonte
Você já pensou em desligar corretamente o chrome?
precisa
a razão pela qual sugiro que isso é tratar a doença, não os efeitos colaterais.
precisa
Eu estava pensando em um cronjob para desligar o cromo 10 minutos antes da execução da reinicialização. Esse é o próximo passo, alguma sugestão?
Paul Karvetski
Isso pode funcionar especialmente se houver script na GUI e uma verificação for adicionada antes da reinicialização. Você também pode evitar completamente a reinicialização. Se eles estiverem exibindo apenas uma única página, convém consultar o fullpageOS.
precisa
11
você pode usar o javascript para atualizar após um certo período. stackoverflow.com/questions/2787679/… provavelmente não precisará atualizar a cada 5 segundos, mas a teoria é a mesma.
precisa

Respostas:

25

Eu entendi! Usar--app=your.url

Por exemplo:

chromium-browser --kiosk --app=http://your.url.here
Fabiano Cores
fonte
2
a única coisa que funcionou para mim no meu Pi Zero! Obrigado
DarkCygnus 10/10
Onde você estava há um ano :)
uchuugaka
Sério, isso salvou minhas irritações com cromo estridente. graças
uchuugaka
6

1) Não sei por que --disable-infobars não funcionou para você. Isto funciona bem para mim:

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

2) Uma maneira melhor de atualizar o navegador (conteúdo) seria enviá-lo Control-R? Por exemplo, no script de inicialização do navegador, faça:

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

(Também envio ctrl + Tab para percorrer minhas várias guias do navegador

Nigel Pearson
fonte
4

Eu sei que isso realmente não resolve o problema - mas como solução alternativa - ele fez o truque para mim.

Verifiquei se o Chrome foi desligado corretamente ... Terminal aberto

cd .config/chromium/Default
chattr +i Preferences

Isso torna o arquivo imutável ... estritamente somente leitura, o Chrome pode travar o quanto quiser - ele não mostra o pop-up, pois o arquivo Preferences não pode mais ser alterado.

Essa configuração funciona para mim, pois a configuração do Pi não muda - apenas exibe um aplicativo baseado na Web no modo quiosque.

Tremayne Sargeant
fonte
Obras em Linux Distros também ... Note-se que poderia haver problemas em Windows / WebDriver / selênio como relatado em outros lugares
MarcoZen
4

Para quem chega aqui do Google:

A melhor maneira de executar essa tarefa agora, sem precisar usar o modo anônimo, é ajustar duas configurações nas preferências do Chromium. Eles são:

  • exited_cleanly
  • exit_type

Pelo que obtive dos testes pessoais, apenas alterar a configuração "exited_cleanly" nem sempre funciona para impedir o prompt do Chromium na inicialização. Outros sinalizadores como "-disable-infobars" também não funcionarão.

Para ajustar essas configurações, adicione o seguinte no seu arquivo de inicialização, antes de iniciar o Chromium (dependendo de como você configurou o Chromium para ser executado automaticamente no modo quiosque, esse arquivo pode estar localizado em "/ etc / xdg / lxsession / LXDE- pi / autostart "," / etc / xdg / openbox / autostart "," ~ / .Xsession "ou outro arquivo, dependendo do que você já instalou).

  • sed -i 's / "exited_cleanly": false / "exited_cleanly": true /' ~ / .config / chromium / Padrão / Preferências
  • sed -i 's / ”exit_type”: “Crashed” / ”exit_type”: “Normal” /' ~ / .config / chromium / Padrão / Preferências

Por exemplo, com minha instalação (usando o Xsession), o procedimento seria o seguinte:

  1. Digite "sudo ~ / .Xsession" no console
  2. Insira as 2 linhas acima no arquivo, antes da execução do Chromium (você deverá ver uma linha começando com "chromium-browser", insira-as acima)
  3. Pressione ctrl + X para sair do arquivo
  4. Digite "Y"
  5. Pressione Enter
  6. Reinicie a máquina

Novamente, o arquivo usado para iniciar o Chromium pode estar localizado em um local diferente, dependendo de como você configurou seu pi, mas após alterar essas duas configurações, o Chromium deve ser iniciado sem exibir o prompt de falha.

Wincruzer
fonte
2

Eu vim com uma solução alternativa que realmente cuidava de vários itens ao mesmo tempo.

vi restartscript.sh

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

Torne o script executável: chmod +x restartscript.sh

Edite cron: chrontab -e

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

A página da web exibida é atualizada e o pi permanece atualizado.

Paul Karvetski
fonte
2

Esta página me deu a resposta. Adicionando a opção

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

resolvi isso para mim (em um aplicativo que não seja quiosque).

Acontece que isso era apenas parte do problema. A situação toda parece muito variável. Eu adicionei adicionalmente:

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

Tentando reproduzir o erro para provar que essa era a correção, agora não consigo fazê-lo voltar com o pop-up (mesmo sem esse código). YMMV, btw esta está executando a versão 72 do Chrome. Vi outras postagens que defendiam a alteração do arquivo Preferences com algo como sed antes de iniciar o navegador.

Bryan
fonte
1

Minha solução é muito fácil. Copio apenas um arquivo de preferências de um desligamento claro do Chromium anteriormente sobre o arquivo atual ~/.config/chromium/Default/Preferences.

Frank Reeth
fonte
0

Para desativar o balão Restaurar páginas, abro o cromo duas vezes no arquivo de inicialização automática, como este:

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

O primeiro recebe o balão pop-up, mas você não o vê, e o segundo abre como se o navegador tivesse sido fechado com sucesso. Provavelmente não é a maneira mais limpa de fazer isso, mas funcionou para mim.

Shane Loucks
fonte
0

A única maneira que funcionou para mim foi modificar a configuração antes de iniciar o Chromium:

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