Pytanie:
Jak wyłączyć strony przywracania? Chromium nie zamknął się poprawnie. Skłonić?
Paul Karvetski
2017-06-20 18:54:31 UTC
view on stackexchange narkive permalink

Automatyzuję RPi dla czterech wyświetlaczy w mojej firmie. Każdego dnia uruchamiam je ponownie, aby przeglądarka się odświeżyła. Nie mogę uzyskać stron przywracania? Chromium nie zamknęło się poprawnie, aby bańka nie pojawiła się. Wypróbowałem kilka rozwiązań, które znalazłem online, ale nic nie działa.

Dodałem wiele przełączników, takich jak --noerrdialogs --disable-session-crashed-bubble --disable-infobars --disable-restore -session-state --incognito

Wypróbowałem też kilka poleceń seda, które znalazłem w Internecie.

Każda pomoc byłaby bardzo mile widziana.

Czy zastanawiałeś się, jak prawidłowo wyłączyć Chrome?
powodem, dla którego sugeruję, jest to, że leczy chorobę, a nie skutki uboczne.
Myślałem o cronjob, aby wyłączyć chrom 10 minut przed ponownym uruchomieniem. To kolejny krok, jakieś sugestie?
Może to zadziałać, zwłaszcza jeśli jest skryptowane przez GUI i przed ponownym uruchomieniem zostanie dodane sprawdzenie. Możesz także całkowicie uniknąć ponownego uruchamiania. Jeśli wyświetlają tylko jedną stronę, możesz zajrzeć na fullpageOS.
Jedynym powodem ponownego uruchomienia jest to, że nie znalazłem automatycznego sposobu na odświeżenie stron. Jeśli istnieje sposób na odświeżenie strony w trybie kiosku, nie potrzebowałbym ponownego uruchomienia.
możesz użyć javascript do odświeżenia po pewnym czasie https://stackoverflow.com/questions/2787679/how-to-reload-page-every-5-second, prawdopodobnie nie musisz odświeżać co 5 sekund, ale teoria jest taka sama.
To wykracza poza moje umiejętności.
W takim przypadku sugeruję edycję pytania tak, aby opisywało problem, a nie symptomy i zawierało pytanie o metody rozwiązania problemu. Alternatywnie możesz usunąć to pytanie i zadać nowe. Jedną z ważnych kwestii jest to, czy kontrolujesz strony internetowe?
Jedyne, co chciałbym do tego dodać, to to, że istnieje wiele sposobów rozwiązania problemu z Linuksem. Mój problem polega na tym, że chcę się pozbyć tego powiadomienia. Potrzebuję tylko prostszego sposobu, aby to zrobić, niż wiedza, którą się podzieliłeś, za co bardzo doceniam Twoje szybkie odpowiedzi.
Wygląda na to, że patrzysz na klasyczny [problem XY] (https://meta.stackexchange.com/a/66378/297473). Skutecznie poprosiłeś nas * POMOCY! Nie wiem, jak używać pedału hamulca, więc zatrzymuję samochód, rozbijając samochód. Jak wyłączyć poduszkę powietrzną? * Musisz skupić się na napisaniu strony internetowej, która robi to, czego potrzebujesz.
Miałem ten sam problem z pudełkiem Windows 7, na którym potrzebowałem uruchomić stronę kiosku. Skonfigurowałem zależne od czasu zadanie zabicia, a następnie zadanie uruchomienia, ale po zadaniu uruchamiania otrzymywałem wyskakujące okienko „Chrome nie zamknął się poprawnie”. Samo dodanie „--incognito” po --kiosk zadziałało.
Dziewięć odpowiedzi:
#1
+28
Fabiano Cores
2018-07-10 10:36:55 UTC
view on stackexchange narkive permalink

Rozumiem! Użyj --app = your.url

Na przykład:

  chromium-browser --kiosk --app = http: // twoja .url.here  
jedyna rzecz, która działała na moim Pi Zero! Dziękuję Ci
Gdzie byłeś rok temu :)
Poważnie, to uratowało mi irytację przez pękający chrom. dzięki
#2
+6
Nigel Pearson
2017-09-21 05:10:43 UTC
view on stackexchange narkive permalink

1) Nie wiem, dlaczego --disable-infobars nie działa dla ciebie. U mnie to działa dobrze:

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

2) Lepszym sposobem na odświeżenie przeglądarki (zawartości) byłoby wysłanie jej Control-R? np. w skrypcie startowym przeglądarki, zrób:

  (podczas snu 200; do xdotool key ctrl + R; done) &  

(wysyłam również ctrl + Tab, aby przełączać się między wieloma kartami przeglądarki

#3
+5
Wincruzer
2018-10-07 01:25:51 UTC
view on stackexchange narkive permalink

Dla osób przybywających tu z Google:

Najlepszym sposobem wykonania tego zadania bez konieczności używania trybu incognito jest dostosowanie dwóch ustawień w preferencjach Chromium. Są to:

  • exited_cleanly
  • exit_type

Z tego, co zebrałem z osobistych testów, wystarczy zmienić ustawienie „exited_cleanly” nie zawsze zapobiega wyświetlaniu monitu Chromium podczas uruchamiania. Inne flagi, takie jak „-disable-infobars”, również nie będą działać.

Aby dostosować te ustawienia, dodaj następujące elementy w pliku startowym przed uruchomieniem Chromium (w zależności od tego, jak skonfigurowałeś Chromium do automatycznego działa w trybie kiosku, ten plik może znajdować się w „/ etc / xdg / lxsession / LXDE-pi / autostart”, „/ etc / xdg / openbox / autostart”, „~ / .Xsession” lub w innym, w zależności od na tym, co już zainstalowałeś).

  • 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

Na przykład , z moją konfiguracją (używając Xsession), procedura wyglądałaby następująco:

  1. Wpisz "sudo ~ / .Xsession" do konsoli
  2. Wstaw powyższe 2 linie do plik, przed uruchomieniem Chromium (powinieneś zobaczyć linię zaczynającą się od „chromium-browser”, więc wstaw je nad tym)
  3. Naciśnij ctrl + X, aby wyjść z pliku
  4. Wpisz „Y”
  5. Naciśnij Enter
  6. Uruchom ponownie komputer

Ponownie plik używany do uruchomienia Chromium może znajdować się w innej lokalizacji, w zależności od tego, jak skonfigurowałeś pi, ale po zmianie tych dwóch ustawień Chromium powinien uruchomić się bez wyświetlania monitu o awarię.

Chciałbym użyć „jq”, aby osiągnąć ten sam cel: „jq” .profile.exit_type = „Normal” | .profile.exited_cleanly = true '~ pi / .config / chromium / Default / Preferences> ~ pi / .config / chromium / Default / Preferences`
#4
+4
Tremayne Sargeant
2018-05-23 16:45:26 UTC
view on stackexchange narkive permalink

Wiem, że to tak naprawdę nie rozwiązuje problemu - ale jako obejście - załatwiło sprawę.

Upewniłem się, że Chrome został poprawnie zamknięty ... Otwarty terminal

  cd .config / chromium / Defaultchattr + i Preferences  

To sprawia, że ​​plik jest niezmienny ... tylko do odczytu, Chrome może ulec awarii tak często, jak chce - nie wyświetli wyskakującego okienka, ponieważ nie można już zmienić pliku Preferencji.

Ta konfiguracja działa dla mnie, ponieważ konfiguracja Pi się nie zmieni - po prostu wyświetla aplikację internetową w trybie kiosku.

Działa również w dystrybucjach Linuksa ... Pamiętaj, że mogą wystąpić problemy w Windows / WebDriver / Selenium, jak zgłoszono w innym miejscu
#5
+2
Paul Karvetski
2017-09-21 18:46:46 UTC
view on stackexchange narkive permalink

Wymyśliłem obejście, które faktycznie rozwiązało problem kilku elementów naraz.

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

Spraw, aby skrypt był wykonywalny: chmod + x restartscript.sh

Edytuj cron: chrontab -e

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

Strona internetowa, którą wyświetlam, zostaje odświeżona, a liczba pi pozostaje aktualna.

#6
+2
Bryan
2019-03-01 00:52:07 UTC
view on stackexchange narkive permalink

Ta strona dała mi odpowiedź. Dodanie opcji

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

rozwiązało problem za mnie (w aplikacji innej niż kiosk) .

Okazuje się, że to tylko część problemu. Cała sytuacja wydaje się bardzo zmienna. Dodatkowo dodałem:

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

Próbując odtworzyć błąd, aby udowodnić, że to była poprawka, nie mogę teraz powrócić z wyskakującym okienkiem (nawet bez tego kodu). YMMV, przy okazji to jest uruchomiona wersja 72 Chrome. Widziałem inne posty, które zalecały zmianę pliku preferencji na coś takiego jak sed przed uruchomieniem przeglądarki.

#7
+1
Shane Loucks
2018-06-19 22:10:53 UTC
view on stackexchange narkive permalink

Aby wyłączyć dymek przywracania stron, dwukrotnie otwieram chromium w pliku autostartu w następujący sposób:

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

Pierwsza z nich otrzymuje okienko wyskakujące, ale jej nie widać, a następnie druga otwiera się tak, jakby przeglądarka została pomyślnie zamknięta. Prawdopodobnie nie jest to najczystszy sposób, aby to zrobić, ale zadziałał dla mnie.

Ta metoda, choć tępa, jest jedyną odpowiedzią na tej stronie, która działa dla mnie. Ładuję Chromium z Selenium i muszę używać z nim określonego profilu użytkownika. Zamknięcie i ponowne załadowanie przeglądarki przez Selenium załatwiło sprawę!
#8
+1
Frank Reeth
2018-08-05 14:39:19 UTC
view on stackexchange narkive permalink

Moje rozwiązanie jest bardzo łatwe. Kopiuję tylko plik Preferencji z poprzedniego, wyraźnego zamknięcia Chromium do bieżącego pliku ~ / .config / chromium / Default / Preferences .

#9
  0
Mikey
2018-10-01 00:02:22 UTC
view on stackexchange narkive permalink

Jedynym sposobem, który działał w moim przypadku, była modyfikacja konfiguracji przed uruchomieniem Chromium:

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


To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 3.0, w ramach której jest rozpowszechniana.
Loading...