深入剖析linux psplash的工作原理 (linux psplash原理)

随着信息技术的不断发展和IT领域的不断扩大, Linux作为一种开源的操作系统,与其它操作系统相比,更具有优越的性能和稳定性。然而, 尽管 Linux 非常优秀,但其启动时的提示信息却让人感到十分单调和缺乏吸引力。为了解决这一问题, 开发者们设计了 psplash。那么, psplash 是什么呢?它是如何工作的呢?

一、什么是psplash

psplash 是一种用户空间启动程序,即用户根据自己的需要,自己开发的一个系统启动程序。相比之下,与内核启动的 Dmesg 混合在一起的启动信息相对来说,不仅显得冗长,且呈现出来的信息也不够突出,不易引起用户的关注。

该启动程序的主要功能是以图像的形式,展现出一张鲜明的启动图片、提示信息以及背景颜色等信息。它可以帮助用户区分两个不同版本的Linux系统,因此在大规模应用部署和企业级解决方案中, psplash 被广泛应用。

psplash 启动程序通过在启动时显示启动图片,不仅提高了 Linux 启动的美观度,同时也可以使用户有一个清晰、明了的基本认识,而不是一堆密密麻麻的信息。因此,psplash是Linux下一个被广泛使用的工具。

二、psplash的实现原理

在 psplash 的实现中,主要依赖于两个核心组件 ————形状动画(Component Animation)和用户界面( Graphical User Interface )。

1. 形状动画

在 psplash 中,动画根据它的形状分为两类:圆形、矩形。这些形状都是由动态变化的小球或正方形组成的,通过动态变化的方式呈现出各种不同的形状。通过不断地增加或减少动画中的数量和方向,可以实现各种不同的动态效果。

2. 用户界面

用户界面是 psplas 的闪屏界面,它是启动的之一个面向用户的可见界面。psplash 通过在用户界面上显示不同的提示信息,来吸引用户的注意力,例如:显示启动器的版本号、显示操作系统的名称等等。这些信息都是由一个独立的文本输出程序来执行的。

三、psplash 在启动过程中的应用

psplash 是在内核初始化完成之后运行的。具体而言,它在 rootfs 挂载之前运行,这意味着系统会在boot loading的时候显示psplash界面。

启动pspash 不需要任何外部的输入设备,该程序是直接集成到系统中的用户空间程序的。因此,在系统启动时,psplash 内联进内核中启动,而不是通过命令行启动的。在运行时,psplash 将显示某个图形和一些提示信息,但这些信息显然不能覆盖操作系统的内核信息和 debug 信息。因此,psplash是在 dmesg 的基础上,提供了一种更加美观的启动方式。

四、psplash 的优势和缺点

优势:

1. 美化启动界面,提升启动体验。

2. 根据需要可以自行编译安装,所以能够更好的适应用户的需求。

3. 支持自定义启动画面和提示信息,方便用户进行更换操作。

4. 支持屏幕旋转,能够在移动设备等多种场景下,满足不同的启动需求。

缺点:

1. 系统资源占用较多,对启动速度有一定影响。

2. psplash 在内核启动之前启动,使得系统的 debug 模式等信息无法在 psplash 中展示。

五、

psplash 是一个用于给 Linux 系统提供一个美观的、清洁的启动方式的用户空间程序。该程序作为系统启动时的之一个界面, 为用户提供了一个简明扼要的提示信息,并提高了整个系统的美观度。然而,它也有部分缺陷,例如可能会影响系统启动速度,且无法展示调试信息。所以在使用 psplash 时,需要根据自己的实际情况进行评估和选择。

相关问题拓展阅读:

Linux 开发板常规测试

LED 测试

蜂鸣器测试

执行lsinput查看按键所对应的输入事件

从lsinput的输出信息,得知按键KEY0 对应的输入事件是 /dev/input/event2 ,因此使用

od

或者

hexdump

命令读取 /dev/input/event2 文件,按下按键后会打印出事件内容:

接执行下面的指令可退出桌面程序。 psplash.sh 这个脚本会关闭以 Q 开头的 Qt 程序。

执行 ts_test 点击 Draw,就可以开始画图。

注意

: ts_calibrate 一般是针对电阻屏校准的。 使用 ts_calibrate

后会在 /etc 目录下生成一个坐标参考文件 pointercal。 如果你是电容屏,并且 /etc 目录下有 pointercal 这个坐标参考文件,请把它删除。否则可能影响触摸坐标上报的数据值。

进入睡眠/熄屏模式:

退出睡眠/亮屏模式:

这样可以像调试串口一样输入登录用户名 root,即可进入系统。这样能输入指令并返回结

果,表明 RS232 串口正常

Memtester

简单介绍

参数说明:

使用文件系统自带的 Memtester 测试工具申请 8MB 内存数量测试做 1 次 DDR 测顷扮帆试。

执行如下指令。

SD 卡写速度测试

SD 卡读速度测试

网速测试

默认开发板的 can 设备是还没有打开的,使用下面的指令打开 can 设备。

服务端:

同理, 客户端也是这样设置:

服务端使用 candump 指令接收来自 can0 的数据

将 SD 卡的之一个分区模拟成 U 盘

说明:使用含 Qt5 的文件系统,启动时插上 RGB 屏幕。

开发板进入系统后,插上鼠标会打印如下信息

ALSA(高级 Linux 声音架构)在 Linux 操作系统上提供了音频和 MIDI(Musical Instrument

Digital Interface,音乐设备数字化接口)的支持。

amixer 的使用:

alsamixer 则提供一套

图形界面来控制雀雹音频设备,可以用键盘方向键来控制增减音量,打开或者关闭等

开发板系统音频输出功能默认是打开的,下面两条指令可不执行。

设置播放音量,执行如下命令,音量的单位是 dB,音量最小缺好为 0,更大为 127。

播放音频文件,执行下面指令

关于linux psplash原理的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 深入剖析linux psplash的工作原理 (linux psplash原理)