Linux信息亭 | Ubuntu Kiosk

2019-08-08 作者:

This article is written for those who need a Linux based kiosk with both touch input (virtual keyboard) and remote desktop (VNC) capability that provides a web application to serve pages and user interactions for customers.

↑ English video tutorial / 英文版视频教程

简而言之,既然任务是做一台单用途信息屏,依然不喜Windows的复杂和玄学(外加版权问题),小目标就是尽量用Linux达到。从用户基数比较大的发行版里挑,UI比较良心的就是Ubuntu了,而Ubuntu里比较可靠的就是一直以来的LTS版本了,然后LTS里最新的就是18.04 LTS —— 得嘞,就是它了。

鉴于Linux权倾朝野,无人不知无人不晓,部署Ubuntu的过程就此略去不提,填入非root用户名叫kiosk。装完后登进去,先整体更新系统。

然后装必要的几个关键包。

用途如下

  • vim-nox,非必须,常用nano替代,之所以装这个纯属笔者更习惯vim。因为debian/ubuntu默认vim操作起来有乱码,装了vim-nox之后会正常。
  • openssh-server,推荐装。Kiosk一旦配好之后,桌面不见,没有ssh就只能用键盘Ctrl+Alt+F2~6来切tty,操作极其不便。
  • chromium-browser,必装,只要不是内存吃紧,用chrome/chromium浏览器,前端工程师一定会感谢你的。产品出去见了客户,用久了不掉坑,你也会感谢自己的。替代品是Ubuntu自带的firefox,但建议是chromium。
  • x11vnc,让kiosk可以提供远程桌面服务,需要的话那就是必装。kiosk装出去,看不见摸不着,现场工程师也没个键盘鼠标,难以电话遥控解决。如果客户反馈问题,只有个ssh命令行还是差点意思。但如果能远程桌面,接上网线/WiFi就如研发亲临,没说的,不是吗?
  • slick-greeter,这货一眼看上去,无比陌生,为啥要装这个。实际上她是Ubuntu 16时代的默认display manager,名叫lightdm。而Ubuntu 18的默认DM是GDM3,之所以切换回lightdm,是为了更方便配置auto-login和vnc。切换起来也是非常容易,命令行装这个包的时候会弹出界面,按↓选择lightdm确定就好。

   

接下来把chromium一些恼人的设置禁用掉,比如提示存储密码,比如提示翻译页面内容、拼写检查等等,不一而足。

接下来要设定几个关键的配置文件。

首先  sudo nano /etc/lightdm/lightdm.conf (也可使用前边装好的vi)

允许用户kiosk自动登录,并设置了欢迎界面。内容如下:

接下来  sudo nano /etc/lightdm/lightdm.conf.d/50-myconfig.conf

同样是自动登录相关配置。配置内容:

第三个是  sudo mkdir /home/kiosk/.config/autostart && sudo nano /home/kiosk/.config/autostart/kiosk.desktop

这个配置定义了当用户通过自动登录登进系统后,会自动触发什么程序执行。

细心的小伙伴会发现,登录后上一个脚本触发的是这个kiosk.sh,那么最后一个配置文件要把这个搞出来。

nano /home/kiosk/kiosk.sh 这次内容长一点

细心的小伙伴再次发现,x11vnc一行有个密码存储文件叫做  /home/kiosk/.x11vnc.pass 因此我们要把他准备好。

命令  x11vnc -storepasswd kiosk#2019 .x11vnc.pass 其中kiosk#2019就是vnc连接密码(可以不同于kiosk用户密码)。

现在可以整机重启,接下来就是见证奇迹的时刻。

自动登录成功了,但系统弹出了一个黑框要求login keyring,并且软键盘还没有开启。

【注】以下步骤如果提前完成,则可一次重启成功;如此讲解仅为配合视频的操作顺序。

 

没关系,先用ssh(截图里前边的命令行窗口)登进机器,杀掉chromium进程(使用kill或者pkill),得到lightdm桌面。

在系统程序中搜索password,会得到小钥匙图标,叫做passwords and keys,打开,接下来按图索骥。

最后解决软键盘的问题,这个就容易多了,打开系统settings,找到Universal Access,打开Screen Keyboard即可。

再次重启机器,我们甚至可以用触摸屏和软键盘测试输入速度了……

至此kiosk和触屏输入功能全面完成,还剩下一项就是vnc的测试。

鉴于我们在kiosk.sh脚本里选用的端口是5905,那么从Windows/mac采用vnc viewer连接时的地址应该是<kiosk ip>:5。

连接地址是192.168.1.26:5,实际vnc viewer请求的端口就是5905,如果只填IP,就会请求kiosk机器的5900端口。

Win10上的vnc viewer可以很顺畅的操作kiosk的软键盘继续打字游戏,那么,大功告成!

 

以下致谢参考来源:

Ubuntu 18.04 – Bring back Lightdm login manager

Setup a Kiosk with Ubuntu and Chromium

https://askubuntu.com/questions/767752/x11vnc-and-lightdm-on-headless-16-04

https://blog.csdn.net/qyanqing/article/details/9344161

原创文章,转载请注明: 转载自渔人小径

本文链接地址: Linux信息亭 | Ubuntu Kiosk

打赏 PayPal

文章的脚注信息由WordPress的wp-posturl插件自动生成

    分享到:

最近文章

分享

发表评论

电子邮件地址不会被公开。 必填项已用*标注