我正在尝试设置一个简单的 Ubuntu 信息亭盒 (14.04),在非常小的窗口管理器环境中仅运行 Chromium。我已成功完成的步骤:
- 自动登录:
exec /bin/login -f kiosk_user < /dev/tty1 > /dev/tty1 2>&1
在/etc/init/tty1.conf
- 启动 X 环境(
startx
在.profile
) - 在 X 环境中启动 Chromium
.xinitrc
- 启动窗口管理器(已尝试
fluxbox
,jwm
到目前为止openbox
).xinitrc
我目前的情况是 Chromium 正常启动,但处于半正常模式。我需要从键盘上按下 F11 键才能让 Chromium 切换到全屏和信息亭模式。
邮件列表中的一位 chromium 用户表示,这可以在完整的 GNOME 环境中正常工作,无需任何技巧(甚至xdotool
) - 所以这可能与这些最小的窗口管理器有某种关系。
我甚至尝试过在没有任何窗口管理器的情况下启动 Chromium 本身(Chromium 有一种名为 Aura 的东西,是 ChromiumOS 自己的窗口管理器?)。在这种模式下,我无法让 Chromium 填满整个屏幕。这种方法也不可取,因为无法轻松打开其他应用程序(例如用于故障排除目的)。
.xinitrc
#!/bin/sh
rm ~/tmp/ -Rf
xset s off
xset dpms 600 60 60
xset +fp "$X_FONTPATH"
xset fp rehash
env > ~/.xenv
# Run chromium start
~/start_chromium.sh &
# Run window manager
exec openbox
启动_chromium
#!/bin/sh
set -e
CHROMIUM_TEMP=~/tmp/chromium
rm -Rf ~/.config/chromium/
rm -Rf $CHROMIUM_TEMP
mkdir -p $CHROMIUM_TEMP
chromium-browser \
--disable \
--disable-translate \
--disable-infobars \
--disable-suggestions-service \
--disable-save-password-bubble \
--disk-cache-dir=$CHROMIUM_TEMP/cache/ \
--user-data-dir=$CHROMIUM_TEMP/user_data/ \
--start-maximized \
--kiosk "file:///home/kioskuser/kiosk.html" &
sleep 5
xdotool search --sync --onlyvisible --class "chromium" key F11
答案1
关闭浏览器并编辑/home/user/.config/chromium/Default/Preferences
。其中会有一个关于的部分window_placement
。
例如,对于 1920x1080 的分辨率:
...
"window_placement": {
"bottom": 1080,
"left": 0,
"maximized": true,
"right": 1920,
"top": 0,
"work_area_bottom": 1080,
"work_area_left": 0,
"work_area_right": 1920,
"work_area_top": 0
}
...
我从来没有找到在启动时指定这一点的方法,并且如果你打开新的浏览器窗口它就会改变。
答案2
由于我已经研究过这个主题,我想分享一个解决方案的链接,但它可能在最小窗口管理器中不起作用。因此,如果使用最小窗口管理器的原因是内存或其他资源使用,那么可能会有更好的解决方案。
http://www.danpurdy.co.uk/web-development/raspberry-pi-kiosk-screen-tutorial/
sudo nano /etc/xdg/lxsession/LXDE/autostart
您可能已经猜到了,这是 pi 启动时运行的文件。要禁用屏幕保护程序,请在行首添加 #,这会注释掉该行。
@xscreensaver-无飞溅
接下来在屏幕保护程序行下面添加以下几行
@xset s off @xset -dpms @xset s noblank
这将禁用电源管理设置,并在一段时间不活动后停止屏幕消隐。
现在,我们应该防止在有人不小心关闭 pi 而不执行关机程序的情况下在屏幕上显示任何错误消息。为此,我们在刚刚添加的行下面添加以下行。
@sed -i 's/“exited_cleanly”:false/“exited_cleanly”:true/' ~/.config/chromium/Default/Preferences
最后,我们需要告诉 Chromium 启动,以及在启动时加载哪个页面,并且不会出现错误对话框,并且处于 Kiosk 模式。为此,请将以下行添加到此自动启动文件的底部。
@chromium--noerrdialogs--kioskhttp://www.page-to.display
答案3
复制该文件(另存为old.filename)删除自动启动的内容并替换它
sudo nano ~/.confg/lxsession/LXDE/autostart @xset s off @xset -dpms @xset s noblank @chromium-browser --noerrdialogs --incognito --kiosk https://yoursite.html