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

我已经完成了Ubuntu 14.04 LTS桌面的全新安装,现在希望将其转换为带有全屏webbrowser的自助服务终端。

这是以前在10.04完成的并且工作得很完美,但由于硬件更改(图形),我们不得不使用版本14.04。

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

但现在我被卡住了。 我想在kiosk用户会话启动时运行kiosk.sh

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

我已将50-ubuntu.conf更改为"user-session=kiosk"但它无法启动。 找不到“登录屏幕设置”工具。 它是否已被14.04中的另一个实用程序取代?

~/kiosk/.config/autostart works放置kiosk.sh.desktop ~/kiosk/.config/autostart works ,但是在firefox以全屏模式启动之前会显示gnome-desktop,这样用户就可以与桌面进行交互。

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

谢谢

托马斯

我亲自支持所有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 -- 

显然,将用户名更改为您想要运行的任何用户,但这就是它。 保存为/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  password  

这应该添加到系统的连接和连接(以及将来自动连接),但我还没有测试它。 它甚至可能不需要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 

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