如何使 ubuntu 14.04 成为自助服务终端

Tho*_*mas 9 firefox login lightdm kiosk 14.04

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

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

我在其中创建了一个 kiosk.desktop/usr/share/xsessions和一个名为kiosk.sh启动 firefox的 shell 脚本r-kiosk。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.desktopin ~/kiosk/.config/autostart works,但 gnome-desktop 在 Firefox 以全屏模式启动之前显示,使用户可以与桌面交互。

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

谢谢

托马斯

Oli*_*Oli 7

我个人侧步所有lightdmXsession东西,只要启动刚刚开始的Firefox X的我自己的实例。听起来像噩梦,但它真的很 简单,只需一个小 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 --
Run Code Online (Sandbox Code Playgroud)

显然,将用户名更改为您想要运行它的任何用户,但仅此而已。将其另存为/etc/init/x.conf,然后您应该可以sudo start x离开(它将在启动时加载)。如果 Firefox 崩溃,它将使用新实例重新加载 X。

如果你有一个完整的 Ubuntu 安装,你可能需要先禁用 LightDM:

sudo stop lightdm
echo manual | sudo tee /etc/init/lightdm.override
Run Code Online (Sandbox Code Playgroud)

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

从那以后,我写了一篇关于使用 14.04 和 Chrome 从头开始​​创建 Kiosk的博客文章。


对于您的无线配置问题,我建议您尽量远离临时用户。您可以相当简单地使用 TTY 建立连接:

sudo nmcli dev wifi con <SSID> password <password>
Run Code Online (Sandbox Code Playgroud)

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

在后台加载其他内容的简单好处是,某些路人没有机会访问图形网络设置对话框。它确实要求操作员能够按照说明进行操作。

如果他们不能处理,你可以轻松地修改您kiosk.sh寻找现有的连接,并要求一些zenity-questions饲料到前面的nmcli命令:

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

这只是一个粗略的想法。你需要为此努力。可能有更好的独立图形网络管理器配置应用程序。