如何在最小的 Windows 管理器环境(如 openbox / jwm)中以全屏信息亭模式打开 Chromium

Vil*_*ila 13 window-manager chromium 14.04

我正在尝试设置一个简单的 Ubuntu kiosk 框 (14.04),在非常小的 Windows 管理器环境中仅运行 Chromium。我已经成功完成的步骤:

  • 自动登录:exec /bin/login -f kiosk_user < /dev/tty1 > /dev/tty1 2>&1/etc/init/tty1.conf
  • 启动 X 环境 ( startxin .profile)
  • 在 X 环境中启动 Chromium .xinitrc
  • 启动窗口管理器(试过fluxboxjwmopenbox到目前为止)在.xinitrc

我目前拥有的是 Chromium 正常启动但处于半正常模式。我需要在键盘上明确按 F11 才能让 Chromium 切换到全屏和自助服务终端模式。

来自邮件列表的一位 Chromium 用户表示,这在完整的 GNOME 环境中可以正常工作,无需任何技巧(甚至xdotool) - 所以这可能与这些最小的窗口管理器有某种关系。

我什至尝试在没有任何窗口管理器的情况下启动 Chromium 本身(Chromium 有一个叫做 Aura 的东西,它自己的 ChromiumOS WM?)。在这种模式下,我无法让 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
Run Code Online (Sandbox Code Playgroud)

start_chromium.sh

#!/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
Run Code Online (Sandbox Code Playgroud)

Gib*_*bbs 4

关闭浏览器并编辑/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
}

...
Run Code Online (Sandbox Code Playgroud)

我永远找不到在启动时指定它的方法,如果您打开新的浏览器窗口,它可能会改变。


小智 3

由于我研究了这个主题,我想分享一个解决方案的链接,但它可能无法在最小的窗口管理器中工作。因此,如果使用最小窗口管理器的原因是内存或其他资源使用,可能会有更好的解决方案。

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 --kiosk http://www.page-to.display