把树莓派改为“ Kiosk ”
(译者:Kiosk,一种面对系统管理员的全屏模式,是一种功能受限的浏览器模式,比如图书馆的电脑浏览器经常如此)
让一个镜子显示树莓派的桌面不太合适。有好几种方法可以让树莓派工作起来像是“ Kiosk ”,不过我的做法如下。
安装谷歌浏览器
如果 Raspblian 版本不对,那你可能会遇到麻烦,反正我是遇到了。这镜子后面的树莓派运行的是 Jessie 版 Raspblian 系统。很明显它 对原始的 Raspblian 版本进行了一些改动,包括移除谷歌浏览器,用它可以很容易设置为 Kiosk 模式。
你可以自己谷歌一下,不过我通过以下命令成功安装了它:
wget http://ftp.us.debian.org/debian/pool/main/libg/libgcrypt11/libgcrypt11_1.5.0-5+deb7u3_armhf.deb
wget http://launchpadlibrarian.net/218525709/chromium-browser_45.0.2454.85-0ubuntu0.14.04.1.1097_armhf.deb
wget http://launchpadlibrarian.net/218525711/chromium-codecs-ffmpeg-extra_45.0.2454.85-0ubuntu0.14.04.1.1097_armhf.deb
sudo dpkg -i libgcrypt11_1.5.0-5+deb7u3_armhf.deb
sudo dpkg -i chromium-codecs-ffmpeg-extra_45.0.2454.85-0ubuntu0.14.04.1.1097_armhf.deb
sudo dpkg -i chromium-browser_45.0.2454.85-0ubuntu0.14.04.1.1097_armhf.deb
开机运行谷歌浏览器
现在谷歌浏览器安装好了,你可以把它设置为开机启动并全屏:
打开开机启动设置:
sudo nano /etc/xdg/lxsession/LXDE-pi/autostart
注释掉下面这行以关闭屏保:
@xscreensaver -no-splash
增加以下这几行:
@xset s off @xset -dpms @xset s noblank /usr/bin/chromium --noerrdialogs --kiosk --incognito "http://localhost"
退出并保存。现在你关闭了屏保,关闭了电源管理设置,并且把谷歌浏览器设置为了开机启动的本地 Kiosk 模式。
使用无线网络
有很多教程教你怎么让树莓派连上无线网。这就像编辑你的 wpa_supplicant 文件一样简单:
sudo nano /etc/network/interfaces
然后编辑网络设置:
network={ ssid="Network name here" psk="password" }
我确信你很聪明,也没有使用古老又不安全的 WEP 路由协议。
现在用以下两个命令重启你的wifi:
ifdown wlan0 ifup wlan0
如果看到奇怪的报错,别担心,我也遇到过。你可以试试以下命令判断你跑成功了没:
ifconfig
如果你的 wlan0 设备分配到了一个 IP 地址,那你就可以断开以太网链接并安装镜子背面了。我仅仅用了一些便宜的面板,用四根螺丝固定住而已。
设置网页
现在我们有了个多功能 Kiosk 啦。就缺个真实的网页了。我自己写了个应用,你可以随便修改或者直接用它。
我决定使用 PHP 的微架构 Lumen 以及一些 jQuery 和 MomentJs。
安装网页服务
要操作网页你首先得安装网页服务,要跑 Lumen 你首先得安装 php :
sudo apt-get update sudo apt-get install nginx php5-fpm php5-cli php5-mcrypt git
这需要一点时间,不过你需要知道 MirrorMirror 网页安装在哪里,以便配置 nginx :
sudo nano /etc/nginx/sites-available/mirror.conf
把以上配置复制到配置文件中:
server { listen 80; server_name localhost; root /home/pi/projects/MirrorMirror/public;
index index.html index.htm index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
access_log off;
error_log /var/log/nginx/myapp-error.log error;
sendfile off;
client_max_body_size 100m;
location ~ .php$ {
fastcgi_split_path_info ^(.+.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors off;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
}
location ~ /.ht {
deny all;
} }
然后激活这些配置:
sudo ln -s /etc/nginx/sites-available/mirror.conf /etc/nginx/sites-enabled/mirror.conf sudo service nginx reload
现在你的派里有了适用php的网页服务了!
安装 MirrorMirror
这是最后一步了,安装真实的网页。在 /home/pi 里建一个文件夹并进入:
mkdir /home/pi/projects cd /home/pi/projects
用下面的命令克隆 MirrorMirror 网页应用:
git clone https://github.com/ctrlaltdylan/MirrorMirror.git
安装配置器以便安装 Lumen 的相关依赖:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
使用配置器安装 Lumen 的依赖,启动 MirrorMirror 并运行:
cd MirrorMirror composer install
进入 http://localhost 就可以看到你的 MirrorMirror 的版本以及运行结果啦!
目前的功能:
当然为了更简单的安装和定制化还需要更多的工作,不过我已经在思考怎么改善它了。希望你像我一样享受建造和使用你自己的魔镜。
非常感谢 Michael Teeuw 为我提供的初始灵感以及纪录项目文档。
更新
我建了个论坛 mirrormirror.tech,用于讨论并提供帮助。这篇教程的任何更新都会放在上面。谢谢!
转自微信公众号:极客范