我正在为公司的四个显示器自动化RPi。我让他们每天重启,因此浏览器将刷新。我无法获得“还原”页面?铬没有正确关闭气泡,气泡没有出现。我尝试了一些在ive网上找到的解决方案,但是没有用。

我添加了许多开关,例如--noerrdialogs --disable-session-crashed-bubble --disable-infobars --disable- restore-session-state --incognito

我还尝试了一些我在网上找到的sed命令。

任何帮助将不胜感激。

评论

您是否考虑过适当关闭镀铬?

我建议这是因为它正在治疗疾病,而不是副作用。

我正在考虑在重新启动运行前10分钟关闭铬的cronjob。那就是下一步,有什么建议吗?

如果通过GUI编写脚本并在重新启动之前添加了检查,这可能会特别有用。您也许还可以完全避免重新启动。如果他们只显示一个页面,则可能需要查看fullpageOS。

您可以在一定时间后使用javascript进行刷新stackoverflow.com/questions/2787679/…您可能不需要每5秒钟刷新一次,但是理论是相同的。

#1 楼

我懂了!使用--app=your.url

例如:

chromium-browser --kiosk --app=http://your.url.here


评论


唯一适用于我的Pi Zero的东西!谢谢

– DarkCygnus
18-10-10在16:15

一年前你在哪里:)

–uchuugaka
18/12/30在15:37

严重地,这避免了我对铬的烦恼。谢谢

–uchuugaka
18/12/30在15:37

如果您与服务工作者一起使用脱机模式,则--app将断开它。

–大卫
20-09-30在11:19

#2 楼

1)我不知道为什么--disable-infobars对您不起作用。

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


2)刷新浏览器(内容)的更好方法是将其发送给Control-R?
例如在浏览器启动脚本中,执行以下操作:

(while sleep 200; do xdotool key ctrl+R; done) &


(我还发送ctrl + Tab循环浏览我的多个浏览器选项卡

评论


--disable-infobars也对您不起作用,除非您仍使用旧版本的chrome。

– run_the_race
20-10-29在20:18

#3 楼

对于从Google到达这里的用户:
现在无需使用隐身模式即可执行此任务的最佳方法是在Chromium首选项中调整两个设置。它们是:

exited_cleanly
exit_type

从我从个人测试中收集到的信息来看,仅更改“ exited_cleanly”设置可能并不总是可以防止Chromium提示在启动时。其他标志(例如“ -disable-infobars”)也将不起作用。
要调整这些设置,请在启动Chromium之前在启动文件中添加以下内容(取决于您如何设置Chromium以在信息亭中自动运行)模式,此文件可以位于“ /etc/xdg/lxsession/LXDE-pi/autostart”、“/etc/xdg/openbox/autostart”、“~/.Xsession”或其他文件,具体取决于您已经安装)。

sed -i's /“ exited_cleanly”:false /“ exited_cleanly”:true /'〜/ .config / chromium / Default / Preferences

例如,使用我的设置(使用Xsession)将如下所示:

在控制台中输入“ sudo〜/ .Xsession”
在运行Chromium之前,将以上两行插入文件中(您应该看到以“铬浏览器”,因此将其插入到此上方)
按ctrl + X退出文件
键入“ Y”
按enter 重新启动计算机

同样,用于启动Chromium的文件可能位于不同的位置,具体取决于您如何设置pi,但是更改了这两个设置后,Chromium应该启动而不显示崩溃提示。

评论


我想使用jq实现相同的目标:jq'.profile.exit_type =“ Normal” | .profile.exited_cleanly = true'〜pi / .config / chromium / Default / Preferences>〜pi / .config / chromium / Default / Preferences

–欢
20年9月2日在17:40

#4 楼

我知道这并不能真正解决问题-但作为变通方法-它为我解决了问题。

我确保Chrome干净关闭了...
打开的终端

cd .config/chromium/Default
chattr +i Preferences


这使文件不可变...严格只读,Chrome可能会崩溃并不会显示任何内容-由于无法更改首选项文件,因此不会显示弹出窗口。

此设置对我有用,因为Pi配置不会更改-它只是在信息亭模式下显示基于Web的应用程序。

评论


在Linux发行版中也可以使用...请注意,Windows / WebDriver / Selenium中可能存在其他地方报告的问题

– MarcoZen
18年8月21日在13:42

#5 楼

我想出了一种解决方法,实际上可以一次处理多个项目。

vi restartscript.sh

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


使脚本可执行:chmod +x restartscript.sh

编辑cron: chrontab -e

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


即时消息显示的网页已刷新,并且pi保持最新。

#6 楼

此页面给了我答案。添加选项

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


为我解决了此问题(在非kiosk应用程序中)。

原来,这只是问题的一部分。整个情况似乎变化很大。我还添加了以下内容:

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


试图重现错误以证明这是解决方法,但我现在无法将其与弹出窗口一起返回(甚至没有此代码)。 YMMV,顺便说一句,这正在运行版本72的Chrome。在启动浏览器之前,我看到过其他文章主张用sed之类的方法来更改Preferences文件。

#7 楼

要禁用“还原页面”气泡,我在自动启动文件中两次打开铬,如下所示:

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


第一个出现弹出气泡,但您没有看到它,然后第二个打开,好像浏览器已成功关闭。可能不是最干净的方法,但是它对我有用。

评论


这种方法虽然比较钝,但却是此页面上唯一对我有用的答案。我正在从Selenium加载Chromium,我需要使用特定的用户配置文件。通过Selenium退出并重新加载浏览器就成功了!

–亨利·库克(Henry Cooke)
20年8月4日在20:57

#8 楼

我的解决方案非常简单。我仅从先前Chromium的明确关机中复制了Preferences文件到当前文件~/.config/chromium/Default/Preferences上。

#9 楼

对我有用的唯一方法是在启动Chromium之前修改配置:

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


评论


自互联网上的大多数帖子以来,Chrome改变了自己的旗帜。尝试了所有方法后,我采取了这种方法。您还需要sed:'s /“ exit_type”:“崩溃” /“ exit_type”:“普通” /'

– run_the_race
20-10-29在20:39