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?

Doktor J
źródło

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
Steve
źródło
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

użytkownik2961555
źródło
--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

Davide Andrea
źródło
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)

ArkosX
źródło
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.

Doktor J
źródło
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
Afonso
źródło
@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