2021-06-06|閱讀時間 ‧ 約 7 分鐘

[筆記] Kiosk 網頁展示 | Raspberry Pi 應用筆記

文前碎碎唸
應該很多人會將 Raspberry pi 用作網頁資訊展示或類似Kiosk機台之類的用途,但要成功的設定,其中的毛真的多到會讓人起笑,所以我就先將我在網路上四處蒐集並實測成功的流程整理一份在此,以防不時之需。

正文開始

硬體及作業系統
硬體部分使用的是Raspberry pi B+ 的型號,安裝的作業系統是Raspios Buster Lite (2020-12-02版本,原名Raspbian,Lite版本為不含圖形化桌面,純文字介面的版本)
系統安裝好以後,記得先到 raspi-config 做好基礎設定以及 apt-get 的更新。

安裝最基礎圖形化環境
雖說選擇的系統本身不帶圖型化的操作介面,但為了執行Chromium,還是必須要有最基礎的一些依賴程式,執行下面這行來做基本的程式(xserver)安裝
sudo apt-get install --no-install-recommends xserver-xorg x11-xserver-utils xinit openbox

安裝Chromium
原因就不用說了吧,有了他你才能展示你的網頁
sudo apt-get install --no-install-recommends chromium-browser

【設定 xserver 啟動以後要做的事情】 這裡要做的,就是在告訴圖形介面啟動以後,應該駔哪些事情 請打開並編輯[ /etc/xdg/openbox/autostart ] 檔案,將下面的設定內容貼進去 # (PT1)  Disable any form of screen saver / screen blanking / power management xset s off xset s noblank xset -dpms # (PT2)  Allow quitting the X server with CTRL-ATL-Backspace setxkbmap -option terminate:ctrl_alt_bksp # (PT3)  Start Chromium in kiosk mode sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' ~/.config/chromium/'Local State' sed -i 's/"exited_cleanly":false/"exited_cleanly":true/; s/"exit_type":"[^"]\+"/"exit_type":"Normal"/' ~/.config/chromium/Default/Preferences chromium-browser --disable-infobars --kiosk 'http://your-url-here' (PT1) 關閉所有電源管理的選項,包含螢幕關閉或是螢幕保護程式等控制 (PT2) 允許使用鍵盤的CTRL-ATL-Backspace組合將圖形介面關閉 (PT3) 設定Chromium,並讓他以Kiosk模式開啟,最後一行--kiosk參數後,'http://your-url-here' 請換成你想展示的網頁網址 【開機自動執行Xserver】 執行下面的指令,編輯 .profile 檔案 sudo nano .profile 把這一句家到檔案最後面 [[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && startx -- -nocursor 然後按ctrl+x,再按y儲存檔案 到這裡基本的Kiosk設定就完成了,但弔詭的地方來了,這些設定是要在登入使用者的帳密以後才會執行的,但我就是不想在每次開機的時候都輸入一次密碼,而在一開始 raspi-config 設定裡面,雖然有一個auto-login的選項,我就是沒辦法讓她起作用,最後我是用下面的方法來解決的,因為原文的說明較長,因此我只節錄程式修改的部分,有興趣請移駕至原文做參考。 參考資料:How to automatically login to the Raspberry Pi without entering username and password. 首先開啟 /etc/inittab 設定檔 sudo nano /etc/inittab 在內容中找到 "1:2345:respawn:/sbin/getty 115200 tty1" 這一行 (裡面 115200 的數字可能會不一樣),然後在最前面加上 "#" 把它註解掉 # 1:2345:respawn:/sbin/getty 115200 tty1 在這行底下新增一行,並把下面的指令貼上去 1:2345:respawn:/bin/login -f pi tty1 </dev/tty1 >/dev/tty1 2>&1 這裡要注意一下,裡面 -f 後面的 pi 請換成你想登入的使用者名稱 最後用 sudo reboot 重新啟動以後,應該就可以了。 當初設定的時候真的傷透腦筋,尤其是最後卡在沒辦法自動登入的部分,真的處理到快吐血,不過也有可能是在下資質比較差,最後祝福大家都能順利設定成功~ 設定指令部分參考資料 Setup a Raspberry Pi to run a Web Browser in Kiosk Mode Setup a Raspberry Pi Zero W to run a Web Browser in Kiosk Mode with Dakboard 【實際效果】 【同場加映筆記】 如果長時間沒開機,時間跑掉,而且沒辦法自動調回來的話 首先,先打開系統的 "/etc/rc.local" sudo nano /etc/rc.local 加上這一行: sudo date -s "$(wget -qSO- --max-redirect=0 www.google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z" 這樣系統就會在每次開機,自動從 Google 抓新的時間,並設成現在的系統時間。 參考文獻:Raspberry Pi won't update time 《全文。終了》

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.