web-dev-qa-db-ja.com

ブラウザが開いたときに「Chromiumは正しくシャットダウンされませんでした」というメッセージを無効にするにはどうすればよいですか?

Ubuntu 14.04のシングルボードコンピューターでChromium 39を実行しています(ODROID U3ですが、この質問は、UbuntuシステムのChromium、およびその他のLinuxディストリビューションにも当てはまると思います)。

コンピューターは、キオスクモードでChromiumと一緒に使用され、大型のウォールディスプレイに電力を供給しています。ただし、システムの電源が切れた場合、Chromiumが再起動すると、「Chromiumが正しくシャットダウンしなかった」という大きな警告バーが表示されます。システムは自動化するように設計されており、複数のシステムを実行する予定であるため、手動でマシンにリモート処理する(さらに悪いことに、USBマウスの接続と切断を実行する)ことは許容できるソリューションではありません。

Chromiumが不適切にシャットダウンされた場合に、この警告がポップアップ表示されないようにするにはどうすればよいですか?

16
Doktor J

より簡単な解決策は、Chromiumを--disable-infobarsフラグで起動することです。私はそれを見つける前に上記のすべてを試しました、そしてそれはまさに私が望んだことをします。他のすべてのものをそのままにしておくことができます。

私の特定のコマンドラインは:

/usr/bin/chromium-browser --start-fullscreen --disable-session-crashed-bubble --disable-infobars http://www.example.com
21
Steve

また、デフォルトでシークレットモードで実行しているように見えても、クラッシュをチェックする対象となるセッションから何も保存されないため、エラーが防止されます。

例:chromium-browser --kiosk --start-maximized --incognito kiosk.html

16
user2961555

これ最終的には私にとってうまくいきました、そしてそれはかなり簡単です:

  1. Chromiumを適切にシャットダウンします
  2. 〜/ .config/chromium/Default/Preferencesの「コンテンツの変更」権限を「Nobody」に変更します

これにより、Chromiumがどのようにシャットダウンされたかに関係なく、2つの変数の状態がロックされます。

  • "exit_type": "通常"
  • "exited_cleanly":true

もちろん、プリファレンスの設定が完了した後でのみそれを行ってください

5
Davide Andrea

5秒以内に解決策/ハッキング( https://askubuntu.com/a/720855 )設定->詳細設定->システム-> [Chromeのときにバックグラウンドアプリの実行を続行する]をオフにします閉まっている

(問題が発生する理由のヒントについては、スレッド全体をお読みください。非常に理にかなっています)

3
ArkosX

Chromiumバージョン39(少なくともUbuntuでは)は、ブラウザーの終了状態を3つの個別のファイルで追跡します。

  • 〜/ .config/chromium/"Profile 1"/Preferences
  • 〜/ .config/chromium/"Profile 1" /。org.chromium.Chromium.XXXXXX
  • 〜/ .config/chromium/"ローカル状態"

「XXXXXX」は6桁のランダムな英数字の文字列です。また、「プロファイル1」の名前は、使用しているブラウザプロファイルに基づいて異なる場合があることに注意してください(別の一般的なプロファイル名は単に「デフォルト」です)。

2つのプロファイルベースのファイルには、メッセージをトリガーできる2つのエントリがあります。「exit_state」(値は引用符付きの「Normal」または「Crashed」)および「exited_cleanly」(値は引用符なしのtrueまたはfalseのいずれか)。

「ローカル状態」ファイルには、「exited_cleanly」エントリのみが含まれています。

問題を引き起こす可能性のある「ロック」ファイルもあります。このファイルは次の場所にあります

  • 〜/ .config/chromium/SingletonLock

Chromiumを起動する前に、sedおよびrmを使用してこれらを修正するスクリプトを作成できます。

#!/bin/bash

#Set CrProfile to the value of your startup profile's config folder
CrProfile="Profile 1"

#Set URL to the URL that you want the browser to start with
URL="http://www.example.com"

#Clean up the randomly-named file(s)
for i in $HOME/.config/chromium/$CrProfile/.org.chromium.Chromium.*; do
    sed -i 's/"exited_cleanly": false/"exited_cleanly": true/' $i
    sed -i 's/"exit_state": "Crashed"/"exit_state": "Normal"/' $i
done

#Clean up Preferences
sed -i 's/"exited_cleanly": false/"exited_cleanly": true/' $HOME/.config/chromium/$CrProfile/Preferences
sed -i 's/"exit_state": "Crashed"/"exit_state": "Normal"/' $HOME/.config/chromium/$CrProfile/Preferences

#Clean up Local State
sed -i 's/"exited_cleanly": false/"exited_cleanly": true/' $HOME/.config/chromium/"Local State"

#Delete SingletonLock
rm -f $HOME/.config/chromium/SingletonLock

/usr/bin/X11/chromium-browser --kiosk $URL

理想的な使用方法では、Chromiumの設定は、特定のURLやセッションの復元ではなく、新しいタブで開始するように設定する必要があります。これにより、指定されたURLで開始することが保証されます。

2
Doktor J

シークレットモードを使用するだけです。

chromium-browser --incognito http://www.example.com
2
Afonso