如何将 ubuntu 14.04 变成信息亭

如何将 ubuntu 14.04 变成信息亭

我已经全新安装了 Ubuntu 14.04 LTS 桌面,现在想要将其转换为带有全屏网络浏览器的信息亭。

这之前是在 10.04 中完成的并且运行良好,但由于硬件变化(图形),我们被迫使用版本 14.04。

我在 中创建了 kiosk.desktop/usr/share/xsessions和一个名为的 shell 脚本kiosk.sh,用于启动r-kiosk已安装的 Firefox。该 shell 脚本是可执行的。名为“kiosk”的用户设置为自动登录(在 中/etc/lightdm/lightdm.conf)。

但现在我陷入了困境。我希望kiosk.sh在信息亭用户会话启动时运行。

在以前的版本中,这可以在 GUI 工具“登录屏幕设置”或在中完成/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf

我已经改为了50-ubuntu.conf"user-session=kiosk"但是无法启动。找不到“登录屏幕设置”工具。它在 14.04 中被其他实用程序取代了吗?

kiosk.sh.desktop放置一个~/kiosk/.config/autostart works,但在 Firefox 以全屏模式启动之前会显示 gnome-desktop,从而使用户可以与桌面进行交互。

用户自动登录后,以全屏方式启动 Firefox 的正确/最佳方法是什么?

谢谢

托马斯

答案1

我个人会避开所有这些lightdm事情Xsession,只需启动我自己的 X 实例,然后启动 Firefox。听起来很可怕,但真的 使用一些 Upstart 脚本即可

start on (filesystem and stopped udevtrigger)
stop on runlevel [06]

console output
emits starting-x

respawn

exec sudo -u thomas startx /etc/X11/Xsession /path/to/kiosk.sh --

显然,将用户名更改为您想要以何种用户身份运行此程序,但基本就是这样。将其另存为/etc/init/x.conf,然后您就可以sudo start x离开了(它将在启动时加载)。如果 Firefox 崩溃,它将使用新实例重新加载 X。

如果你已经安装了完整的 Ubuntu,你可能必须先禁用 LightDM:

sudo stop lightdm
echo manual | sudo tee /etc/init/lightdm.override

您的 Firefox 配置文件完全由您决定。您甚至可能希望编写一些配置文件恢复脚本,这样如果有人破坏了您的配置文件,您只需重新启动服务,x它就会再次使用干净的副本。只是一个想法。

我后来写了一篇博客文章使用 14.04 和 Chrome 从头创建 Kiosk


对于您的无线配置问题,我建议尽量避免让普通用户接触。您可以相当简单地使用 TTY 建立连接:

sudo nmcli dev wifi con <SSID> password <password>

这应该会将连接添加到系统并连接(将来会自动连接),但我还没有测试过。它甚至可能不需要,sudo但这一切都取决于您的主用户拥有哪些权限。

与在后台加载其他内容相比,这里唯一的好处是,某些路人不可能访问图形网络设置对话框。它确实需要操作员能够遵循说明。

如果他们不能解决这个问题,你可以相当轻松修改您的kiosk.sh以查找现有连接并询问一些zenity输入到上一个nmcli命令中的问题:

if [[ $(nmcli con | wc -l) == 1 ]]; then
    SSID=$(zenity ...)
    PASS=$(zenity ...)
    nmcli dev wifi con $SSID password $PASS
fi

这只是一个粗略的想法。你需要努力实现它。也许有更好的独立图形网络管理器配置应用程序。

相关内容