我是一个剪线族——许多人已经取消了昂贵的有线电视频道订阅,转而使用更便宜、合法的替代方法来获得电视娱乐。在我归还了有线电视机顶盒几个小时后,我清楚地意识到我需要填补一个空白。作为我的有线电视盒一部分的时钟,放在我的电视机下面,不见了,我从未意识到我使用了它这么多,直到现在!
当然,我可以从某个地方订购一个廉价的时钟,但使用树莓派创建自己的时钟不是更有趣吗?我也是这么想的!这项努力不一定是关于省钱;更多的是关于玩 Linux 和树莓派来解决家里的一个小问题。
几年前,我用树莓派 2 和触摸屏 LCD 创建了一个便携式流媒体摄像头。我仍然拥有硬件,但没有用它做任何事情,所以我决定将它重新用于我的娱乐中心的时钟。
我首先要做出另一个决定:我应该使用什么时钟应用程序?我应该自己编写吗?还是找到已经存在的?即使我确信编写应用程序会非常简单,但我还是决定使用 Clock Tab。我决定选择 Clock Tab 的两个主要原因是:1) 我可以在运行时更改其外观,2) 它已经完成了。我(有时)很懒!但请注意,此选择需要持续连接到互联网。
接下来,我必须想办法让浏览器以 kiosk(展示)模式启动,以便 Clock Tab 可以接管整个屏幕,看起来像一个专用的时钟。经过一番研究,我决定使用 Firefox 的 mFull 插件。(注意:Raspbian/Debian 版本的 Firefox 称为 Iceweasel)。

opensource.com
现在我已经准备好时钟了,我还有两个问题需要解决。首先,我希望我的树莓派在启动时自动启动时钟。为此,我必须更新 .config/lxsession/LXDE-pi/autostart 文件,并调用我编写的以下非常简单的 shell 脚本来启动时钟。
#!/bin/bash
pkill -9 iceweasel
export DISPLAY=:0
/usr/bin/iceweasel http://clocktab.com
我把这个脚本叫做 START-CLOCK.sh,所以我必须把 @/home/pi/Desktop/START-CLOCK.sh 添加到 .config/lxsession/LXDE-pi/autostart 文件中,使其自动启动。
第二个问题是,运行几天后,Firefox 会退出(内存泄漏?),我必须手动重启时钟。我没有调查问题的原因,但我继续创建了一个 Cron job,每天运行 START-CLOCK.sh。我在上面的 Bash 脚本中包含了 pkill -9 iceweasel 命令,以终止 Iceweasel 的旧实例并启动一个全新的副本。
要配置 Cron job,请确保您以用户“pi”身份登录并运行
$ crontab -e
20 0 * * * /home/pi/Desktop/START-CLOCK.sh
默认情况下,树莓派会在启动后自动以用户“pi”身份登录。如果您想以其他用户身份运行此程序或已禁用自动登录,则可以在 /etc/lightdm/lightdm.conf 文件中更改 autologin-user 设置。

opensource.com
差不多就是这样了。只需一个 LCD 屏幕、互联网连接、一个 Firefox 插件和一个自动启动应用程序的脚本,我就解决了将有线电视机顶盒退还给提供商所造成的主要空白。现在,当我坐在电视机旁享受更便宜的娱乐服务时,我总是知道现在几点。
1 条评论