ページの復元を無効にするにはどうすればよいですか?Chromiumが正しくシャットダウンしませんでした。促す?


18

私の会社では、4つのディスプレイのRPiを自動化しています。ブラウザを更新するため、毎日再起動しています。復元ページを取得できませんか?クロムが表示されないように正しくバブルをシャットダウンしませんでした。私はオンラインで見つけたいくつかの解決策を試しましたが、何もうまくいきません。

--noerrdialogs --disable-session-crashed-bubble --disable-infobars --disable-restore-session-state --incognitoなどの多くのスイッチを追加しました

私はオンラインで見つけたsedコマンドをいくつか試しました。

どんな助けでも大歓迎です。


Chromeを適切にシャットダウンする方法を検討しましたか?
Steve Robillard 2017年

私がこれを提案する理由は、それが病気を治療することであり、副作用ではないからです。
Steve Robillard 2017年

再起動が実行される10分前にchromiumをシャットダウンするcronジョブについて考えていました。それが次のステップです、何か提案はありますか?
Paul Karvetski 2017年

これは、GUIを介してスクリプトを作成し、再起動する前にチェックを追加した場合に特に機能します。また、再起動を完全に回避できる場合もあります。彼らが単一のページしか表示していない場合は、fullpageOSを確認することをお勧めします。
Steve Robillard 2017年

1
javascriptを使用して一定時間後に更新することができますstackoverflow.com/questions/2787679/…おそらく5秒ごとに更新する必要はありませんが、理論は同じです。
Steve Robillard 2017年

回答:


25

私はそれを持っている!使用する--app=your.url

例えば:

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

2
私のPi Zeroで私のために働いた唯一のもの!ありがとう
DarkCygnus

1年前はどこでしたか:)
uchuugaka '30

真剣に、これはクラッシュしたクロムで私の苛立ちを救った。ありがとう
uchuugaka

6

1)--disable-infobarsが機能しない理由はわかりません。これは私にとってうまくいきます:

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

2)ブラウザー(コンテンツ)を更新するより良い方法は、それにControl-Rを送信することです。 たとえば、ブラウザの起動スクリプトで次のようにします。

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

(ctrl + Tabを送信して、複数のブラウザタブを順に切り替えます


4

これで問題が実際に解決するわけではないことはわかっていますが、回避策として、私にとってはうまくいきました。

Chromeが完全にシャットダウンすることを確認しました...ターミナルを開きました

cd .config/chromium/Default
chattr +i Preferences

これにより、ファイルは不変になります...厳密に読み取り専用で、Chromeは好きなだけクラッシュする可能性があります。環境設定ファイルは変更できないため、ポップアップは表示されません。

Piの構成は変更されないため、この設定は私にとっては機能します。キオスクモードでWebベースのアプリを表示するだけです。


Linux Distrosでも動作します...他の場所で報告されているように、Windows / WebDriver / Seleniumに問題がある可能性があることに注意してください
MarcoZen

4

Googleからここに到着した場合:

シークレットモードを使用せずにこのタスクを実行する最良の方法は、Chromium設定の2つの設定を調整することです。彼らです:

  • exited_cleanly
  • exit_type

私が個人的なテストから収集したものから、「exited_cleanly」設定を変更するだけでは、起動時にChromiumプロンプトを防止できない場合があります。「-disable-infobars」などの他のフラグも機能しません。

これらの設定を調整するには、Chromiumを起動する前に、スタートアップファイルに以下を追加してください(キオスクモードで自動的に実行するようにChromiumを設定した方法に応じて、このファイルは "/ etc / xdg / lxsession / LXDE- pi / autostart "、" / etc / xdg / openbox / autostart "、"〜/ .Xsession "、またはインストール済みのファイルに応じて別のファイル)。

  • 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

たとえば、私のセットアップ(Xsessionを使用)では、手順は次のようになります。

  1. コンソールに「sudo〜/ .Xsession」と入力します
  2. Chromiumを実行する前に、上記の2行をファイルに挿入します(「chromium-browser」で始まる行が表示されるので、これを上に挿入してください)。
  3. Ctrl + Xキーを押してファイルを終了します
  4. 「Y」と入力します
  5. Enterキーを押します
  6. マシンを再起動します

ここでも、Chromiumの起動に使用されるファイルは、piの設定方法によっては別の場所にある可能性がありますが、これら2つの設定を変更した後、クラッシュプロンプトを表示せずにChromiumが起動するはずです。


2

実際に一度にいくつかの項目を処理する回避策を思いつきました。

vi restartscript.sh

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

スクリプトを実行可能にします。 chmod +x restartscript.sh

cronを編集: chrontab -e

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

表示されているウェブページが更新され、パイが最新の状態に保たれます。


2

このページは私に答えを与えました。オプションを追加する

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

私のためにそれを解決しました(非キオスクアプリケーションで)。

これは問題の一部にすぎないことがわかりました。全体の状況は非常に変わりやすいようです。私はさらに追加しました:

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

これが修正であることを証明するためにエラーを再現しようとすると、ポップアップを表示することができなくなります(このコードがなくても)。YMMV、ところでこれはChromeのバージョン72を実行しています。ブラウザを起動する前に、sedのような設定ファイル変更することを主張する他の投稿を見ました。


1

私の解決策はとても簡単です。現在のファイルでは、Chromiumの以前の明確なシャットダウンから設定ファイルのみをコピーします~/.config/chromium/Default/Preferences


0

ページの復元バブルを無効にするには、次のようにautostartファイルでchromiumを2回開きます。

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

1つ目はポップアップバブルを取得しますが、表示されません。2つ目は、ブラウザが正常に閉じられたかのように開きます。おそらくこれを行うための最もクリーンな方法ではありませんが、それは私にとってはうまくいきました。


0

私にとってうまくいった唯一の方法は、Chromiumを起動する前に構成を変更することでした:

sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' ~/.config/chromium/Default/Preferences
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.