Jak mogę wyłączyć komunikat „Chromium nie zamknęło się poprawnie” po otwarciu przeglądarki?


16

Używam Chromium 39 na Ubuntu 14.04, na komputerze jednopłytkowym (ODROID U3, choć uważam, że pytanie dotyczy Chromium na dowolnym systemie Ubuntu i ewentualnie innych dystrybucjach Linuksa).

Komputer jest używany z Chromium w trybie kiosku do zasilania dużego wyświetlacza ściennego; jednak jeśli system traci moc, po ponownym uruchomieniu Chromium ma duży pasek nag, narzekający, że „Chromium nie zamknął się poprawnie”. Ponieważ system został zaprojektowany w taki sposób, aby był zautomatyzowany, a my zamierzamy uruchomić wiele systemów, ręczne zdalne przesuwanie do maszyny (lub, co gorsza, bieganie po podłączaniu i odłączaniu myszy USB) nie jest akceptowalnym rozwiązaniem.

Jak mogę zapobiec wyświetlaniu tego ostrzeżenia przez Chromium, jeśli zostanie nieprawidłowo zamknięty?

Odpowiedzi:


21

Znacznie łatwiejsze rozwiązanie, uruchom Chromium z flagą --disable-infobars. Próbowałem wszystkich powyższych, zanim to znalazłem, i robi dokładnie to, czego chciałem. Możesz zostawić wszystkie inne rzeczy w spokoju.

Mój konkretny wiersz poleceń to:

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

Dzięki za opublikowanie tego. Działa świetnie z --kioskprzełącznikiem.
Dan McDougall

Nie sądzę, że --start-fullscreenjest to potrzebne podczas korzystania --kiosk.
emc

--disable-session- crash-crash -bubble nie działa od jakiegoś momentu w Chrome 58 ... dodaj swoje dwa bity do bugs.chromium.org/p/chromium/issues/detail?id=445256#c17 (co wydaje się być nadal brane pod uwagę), aby poinformować zespół Chromium, że to się liczy, i mam nadzieję, że ta funkcja zostanie ponownie dodana w ...
Ben Roberts

16

Ponadto, najwyraźniej domyślnie uruchomiony w trybie incognito zapobiegnie również błędowi, ponieważ z sesji nic nie jest zapisywane, aby sprawdzić, czy nie ma awarii.

przykład: chromium-browser --kiosk --start-maximized --incognito kiosk.html


--incognito działa, ale zabija ciasteczka, które (w moim przypadku) są wymagane
Davide Andrea

To działało dla mnie dobrze. Nie mogłem uzyskać powyższego - deisable-infobars lub --disable-crash-session powyżej rozwiązania do pracy dla mnie.
Nate Dudek

5

To w końcu zadziałało i jest całkiem proste:

  1. Zamknij z wdziękiem Chromium
  2. Zmień uprawnienia „Zmień zawartość” ~ / .config / chromium / Default / Preferences na „Nobody”

Spowoduje to zablokowanie stanu dwóch zmiennych, niezależnie od tego, w jaki sposób Chromium został zamknięty:

  • „exit_type”: „Normal”
  • „exited_cleanly”: true

Oczywiście rób to tylko po zakończeniu ustawiania preferencji


Dzięki za złapanie tego. Umieściłem go w niewłaściwym miejscu. Wytnąłem go stamtąd, tutaj skopiowałem. Naprawiony.
Davide Andrea

Tak, napisałem to. Napisałem w niewłaściwej zakładce przeglądarki (inne pytanie). Kiedy zauważyłem, wyciąłem go stamtąd (więc oryginał już nie istnieje) i wkleiłem go w zakładce z tym pytaniem, właściwe miejsce. Naprawdę przepraszam, że spowodowałem całe to zamieszanie i dziękuję, że złapaliście mój błąd wklejania.
Davide Andrea

OK, więc wszystko w porządku.
Scott

2
Nie zamieszczaj tej samej odpowiedzi na wiele pytań. Jeśli te same informacje naprawdę odpowiadają na oba pytania, to jedno pytanie (zwykle nowsze) powinno zostać zamknięte jako duplikat drugiego. Możesz to wskazać, głosując, aby zamknąć go jako duplikat lub, jeśli nie masz wystarczającej reputacji, podnieść flagę wskazującą, że jest to duplikat. W przeciwnym razie dostosuj swoją odpowiedź do tego pytania i nie wklejaj tej samej odpowiedzi w wielu miejscach.
DavidPostill

3

Rozwiązanie / włam się w 5 sekund ( /ubuntu//a/720855 ) Ustawienia-> Ustawienia zaawansowane-> System-> odznacz Kontynuuj uruchamianie aplikacji w tle po zamknięciu Chrome

(przeczytaj cały wątek, aby uzyskać wskazówki, dlaczego problem się zdarza. Ma sens)


2
Podaj zasadnicze części odpowiedzi z linków referencyjnych, ponieważ odpowiedź może stać się nieważna, jeśli połączona strona (strony) ulegną zmianie.
DavidPostill

Dziękuję Ci . To jest o wiele prostsze rozwiązanie i zadziałało w moim przypadku.
Plazgoth,

2

Wersja Chromium 39 (przynajmniej na Ubuntu) śledzi stan wyjścia przeglądarki w trzech osobnych plikach:

  • ~ / .config / chromium / "Profile 1" / Preferences
  • ~ / .config / chromium / "Profile 1" /. org.chromium.Chromium.XXXXXX
  • ~ / .config / chromium / "Local State"

Gdzie „XXXXXX” to sześciocyfrowy losowy ciąg alfanumeryczny. Pamiętaj też, że „Profil 1” może mieć inną nazwę w zależności od używanego profilu przeglądarki (inna popularna nazwa profilu to po prostu „Domyślna”)

Dwa pliki oparte na profilu mają dwa wpisy, które mogą wywołać komunikat: „exit_state” (wartości to „Normal” lub „Crashed”, z cudzysłowami) i „exited_cleanly” (wartości są prawdziwe lub fałszywe, bez cudzysłowów).

Plik „Local State” zawiera tylko wpis „exited_cleanly”.

Istnieje również plik „blokady”, który może powodować problemy; ten plik znajduje się na

  • ~ / .config / chromium / SingletonLock

Możesz napisać skrypt, który używa sedi rmaby je poprawić przed uruchomieniem Chromium

#!/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

Pamiętaj, że w celu idealnego użycia preferencje Chromium powinny być ustawione tak, aby zaczynały się od nowej karty, a nie określonego adresu URL lub przywracania sesji; zapewni to, że zaczyna się od określonego adresu URL i nic więcej.


Pamiętaj, że przepisałem skrypt z pamięci (za pomocą notatek przypominających mi, gdzie znajdują się pliki); jeśli ktoś zauważy jakiekolwiek rażące błędy składniowe lub tym podobne, prosimy o ich edycję lub wskazanie w komentarzach.
Doktor J

Wygląda na to, że nie mam plików o losowych nazwach, ale poza tym pomogło mi to.
Roger Lipscombe,

Wydaje się, że to już nie działa; Nadal (czasami) otrzymuję komunikat „Przywrócić strony?” ostrzeżenie. Jakieś pomysły?
Roger Lipscombe,

@RogerLipscombe, jeśli nadal masz ten problem, zobacz odpowiedź Steve'a powyżej (którą oznaczyłem jako zaakceptowaną, ponieważ wydaje się, że rozwiązuje to problem na mojej jednostce testowej). Mam nadzieję, że to pomoże!
Doktor J

2

Wystarczy użyć trybu incognito:

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

@Toto, jak to jest odpowiedź tylko link? Mam na myśli to, że można użyć wyjaśnienia, ale URL jest tam jako przykład.
bertieb

@bertieb: Bez wyjaśnienia traktuję to jako link tylko dlatego, że jedyne, co widzę, to link, ale po ponownym przeczytaniu wydaje się postem bardzo niskiej jakości. Pozostaję tylko ostatnią część mojego komentarza: czy możesz rozwinąć to nieco bardziej?
Toto

To świetny post - jedyny, który dla mnie zadziałał.
Marc
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.