您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關Raspberry Pi上的如何自定義動態開機畫面,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
互聯網上有許多指南在Linux上創建自定義啟動屏幕,但大多數Raspbian都基于SysV init,并且不能與Raspbian現在使用的systemd接口良好。因此,我已經寫了這個指南,直接將簡單的init風格的splash屏幕移植到systemd,以便快速簡便的解決方案來覆蓋Raspberry Pi上的開機畫面。
靜態
首先,我們要從啟動過程中刪除盡可能多的文本,以允許干凈的轉換。
通過將行添加
disable_splash=1
到/boot/config.txt來禁用Raspberry Pi'顏色測試' 。
通過添加
logo.nologo
到/boot/cmdline.txt來禁用屏幕角落的Raspberry Pi標志。
通過添加
consoleblank=0 loglevel=1 quiet
到/boot/cmdline.txt來禁用內核等各種輸出位。
通過
systemctl disable getty@tty1
以root 身份運行來禁用登錄提示。
設置啟動屏幕
設計您的閃屏圖像并將其放置在易于閱讀的位置。
安裝fbi,framebuffer圖像查看器,以root身份運行。
sudo apt-get install fbi
創建具有以下內容的文件/etc/systemd/system/splashscreen.service:
[Unit] Description=Splash screenDefaultDependencies=no After=local-fs.target [Service] ExecStart=/usr/bin/fbi -d /dev/fb0 --noverbose -a /opt/splash.png StandardInput=tty StandardOutput=tty [Install] WantedBy=sysinit.target
根據需要,更換/opt/splash.png靜態開機畫面圖像的存儲路徑。
-d /dev/fb0
選項將告訴fbi哪個幀緩沖區顯示圖像。
--noverbose
將屏幕底部的fbi'狀態欄'。-a將允許fbi自動選擇圖像的正確縮放級別。如果您的圖像已經處于正確的顯示分辨率,則可以省略此選項。FBI希望獲得一個TTY,所以StandardInput和StandardOutput選項將允許這一點。您也可以省略這些選項,并將-T標志傳遞給fbi,指定要使用的tty的編號。
該DefaultDependencies選項將覆蓋systemd在啟動過程中延遲啟動服務的默認行為(因為大多數普通服務需要訪問資源),并且該WantedBy選項將導致fbi在引導過程的早期加載,已經準備好了,通過
通過以root用戶身份運行
systemctl enable splashscreen,使服務在引導時運行。
您現在可以通過
systemctl start splashscreen
以root用戶身份運行,或只需重新啟動Pi 即可測試。
刪除黑色邊框
您可能會碰到這樣一個問題,那里似乎是一個黑色的邊框畫在閃屏旁邊。這實際上是整個幀緩沖區周圍的硬件級黑色邊框,可以通過添加
disable_overscan=1
到/boot/config.txt來禁用。
動態開機畫面
在我的情況下,上述過程工作正常,但是由于我已經將系統設置為自動啟動到Kodi,并且Kodi在重新顯示啟動屏幕本身之前將屏幕黑白地短暫顯示,這樣會產生刺耳的效果。我的解決方案是用黑色背景上的簡單加載屏幕替換第一個閃屏,從而為轉換創造更平滑,更真實的感覺。但靜態加載屏幕中的樂趣在哪里?
fbi不支持動畫,我們將利用專門的,被低估的工具bannerd,不幸的是在存儲庫中不可用,因此必須從源代碼編譯。幸運的是,這似乎是很直截了當的:
git clone https://github.com/alukichev/bannerd.gitcd bannerd
然后將新創建的bannerd二進制文件復制到易于閱讀的位置,如/ usr / local / bin / bannerd,并確保它是可執行的。
現在,我們需要將動畫轉換成一系列BMP文件。用GIF動畫編輯器將視頻生成GIF
然后用GIF分離器將動態圖分離出許多的bmp文件。這些文件放在一個文件夾里上傳到樹莓派。
將BMP文件復制到易于訪問的位置。
現在,可以通過更改ExecStart行來輕松調整來自較早版本的systemd服務:
ExecStart=/bin/sh -c '/usr/local/bin/bannerd/bannerd -vD /path/to/frames/*.bmp'
調用sh是擴展glob的必要條件。
如前所述,您可以通過運行
systemctl start splashscreen
或重新啟動來測試啟動屏幕。啟動的演示視頻可以到主頁的視頻里找到。
以上就是Raspberry Pi上的如何自定義動態開機畫面,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。