Как скрыть хромовое предупреждение после сбоя?

29

После сбоя Chrome при перезагрузке отображается предупреждение (под адресной строкой), предлагающее восстановить вкладки. Я запускаю Chrome в режиме киоска и не хочу, чтобы эти предупреждения отображались.

Есть ли способ сделать это ?

Оливье
источник
Это вероятный дубликат superuser.com/questions/461035/… . Хотя этот вопрос старше, он имеет в 10 раз меньше просмотров и в 3 раза меньше голосов.
nc4pk

Ответы:

17

Вы должны запустить Chrome в режиме инкогнито с помощью этой команды:

chrome --incognito --kiosk http://127.0.0.1

Здесь они говорят о запуске этой команды перед запуском Chrome, чтобы остановить появление панели восстановления:

sed -i 's/"exited_cleanly": false/"exited_cleanly": true/' \
    ~/.config/google-chrome/Default/Preferences
jowido
источник
Инкогнито помогает мне.
Оливье
8
Да, инкогнито работает, но он отключает куки и кеш, и (в моем случае) они требуются.
Давиде Андреа
Я добавил строку sed в файл cron после @reboot
Арье
Для меня в Chrome 74 кажется, что он переместился в другой файл и больше не имеет пробелов, но это сработало:sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' "$HOME/.config/google-chrome/Local State"
Грег Брей
22

Основываясь на ответе @ MiQUEL на этот дублирующий вопрос :

Есть несколько подходов.

Режим инкогнито ( --incognito) помогает, но имеет ряд недостатков, таких как отключение кеша.

Passing --disable-infobars --disable-session-crashed-bubbleработает в некоторых версиях Chrome, но, начиная с Chrome 58, он больше не работает. (Удаление --disable-session-crashed-bubbleбыло сделано как часть этой проблемы ; комментарии там предполагают, что флаг был предназначен для тестирования функции пузыря, а не как функция конечного пользователя, чтобы скрыть предупреждение Chrome).

Самый надежный подход, который я нашел, - это ручное редактирование настроек Chrome на диске. Вот как вы делаете это в Linux. (Обратите внимание, что эти инструкции относятся к браузеру Chromium; ~/.config/google-chromeвместо него используется сам Google Chrome ~/.config/chromium.)

sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' ~/.config/chromium/'Local State'
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/; s/"exit_type":"[^"]\+"/"exit_type":"Normal"/' ~/.config/chromium/Default/Preferences

Собираем все это вместе с парой дополнительных флагов, которые были полезны для режима киоска в одной или другой версии Chrome:

#!/bin/sh
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' ~/.config/chromium/'Local State'
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/; s/"exit_type":"[^"]\+"/"exit_type":"Normal"/' ~/.config/chromium/Default/Preferences
chromium-browser --kiosk --no-default-browser-check --no-first-run --disable-infobars --disable-session-crashed-bubble "http://some_url/"
Джош Келли
источник
По некоторым причинам тильда не была разрешена для меня, мне пришлось использовать $ HOME, когда я использую автозапуск lxsession.
mark.sagikazar
11

--disable-infobars --disable-session-crashed-bubble

while true; do
   chromium-browser --kiosk http://fotolia.com/ --no-first-run --touch-events=enabled --fast --fast-start --disable-popup-blocking --disable-infobars --disable-session-crashed-bubble --disable-tab-switcher --disable-translate --enable-low-res-tiling
   sleep 10s;
done
frekele
источник
1
Подтверждено, что это работает для меня на Chromium 47 на Linux.
Фруктовое
1
Сделал трюк для меня. Мой Chromium игнорировал настройки "exited_cleanly".
cljk
больше не работает (Chromium 65 на RaspberryPi)
david114
7

Это, наконец, сработало для меня, и это довольно просто:

  1. Отключить Хром изящно
  2. Измените разрешения «Изменить содержимое» для ~ / .config / chromium / Default / Preferences на «Никто»

Это заблокирует состояние двух переменных, независимо от того, как был отключен Chromium:

  • "exit_type": "Normal"
  • "exited_cleanly": правда

Конечно, делать это можно только после того, как вы настроили настройки

Давиде Андреа
источник
1
Пожалуйста, не размещайте один и тот же ответ на несколько вопросов. Если одна и та же информация действительно отвечает на оба вопроса, то один вопрос (обычно более новый) следует закрыть как дубликат другого. Вы можете указать это, проголосовав, чтобы закрыть его как дубликат, или, если у вас недостаточно репутации, поднять флаг, чтобы указать, что это дубликат. В противном случае настройте свой ответ на этот вопрос, а не просто вставляйте один и тот же ответ в нескольких местах.
DavidPostill
3
Неоднократные предостережения от модератора, в отличие от любого другого предложенного решения этой проблемы, этот на самом деле работал для меня. Так что спасибо, что поделились этим.
Джастин Форс
2
На первый взгляд это казалось отличным решением. Основная проблема заключается в том, что при использовании этого с WebDriver в Selenium, chromedriver жалуется (по крайней мере, на узле Windows), что он не может записать в файл prefs при запуске, поэтому он не позволит вам запустить сеанс, когда файл prefs только для чтения.
Скотт Дадли
2
+1 спасибо за это. Команда, которую я использовал для блокировки файла:sudo chattr +i ~/.config/google-chrome/Default/Preferences
Харрисон Пауэрс
3

Я пытался решить эту проблему в течение нескольких дней. Режим инкогнито поставляется без кеша, и изменение файла настроек не работает для меня.

Наконец я смог решить следующие шаги:

  1. Перейти к chrome://flagsURL. Найдите «Включить пузырьковый интерфейс восстановления сеанса» и установите для него значение «Отключено».
  2. открыть хром с --kiosk --disable-infobarsопциями.
yjcxy12
источник
1
Похоже, этого флага больше не существует
AJ Richardson
0

--restore-last-session аргумент при запуске Chrome.

Matt
источник