启动界面美化 - Splashy

What's Splashy?
Splashy是什么?
Splashy is a next generation bootsplash for linux systems. It needs not patches and it's installed like a normal package,make your boot process eye-candy with Splashy!
Splashy是基于Linux系统的下一代的Boot Splash。它不需要打补丁而且就象正常的包一样安装。用Splashy能使你的启动过程变得赏心悦目。
News
新闻
* 13/04 : Splashy 0.1 relased!
* 13/04 : Splashy 0.1 发布
* 12/04 : Team announce that Splashy-0.1 will be relased tomorrow.
* 12/04 : 项目组宣布Splashy-0.1将于明天发布
* 11/04 : Changed name to Splashy instead of Usplash because we don't match ubuntu specification about Usplash architetture.
* 11/04 : 将Usplash改名为Splashy,因为我们不能符合ubuntu对Usplash体系结构的说明
* 31/03 : wrote xml_parser for the xml configuration file
* 31/03 : 为xml配置文件编写xml_parser
* 26/03 : Fixed a little dependence bug with lib++dfb
* 26/03 : 修复关于lib++dfb依赖关系的小Bug
* 24/03 : Shutdown boot process available ( usplash bootup | usplash bootdown )
* 24/03 : 完成关闭引导进程( usplash bootup | usplash bootdown )
* 21/03 : Officially relased usplash-0.1preview package
* 21/03 : 官方usplash-0.1预览包发布
* 16/03 : Succesfully implemented F2 exit feature: just press F2 to exit and switch to verbose mode.
* 16/03 : 成功应用F2退出功能:按F2退出并切换到详细模式
* 13/03 : Done a test package using libdirectfb and lib++dfb. It should work on any graphic card.
* 13/03 : 完成使用libdirectfb和lib++dfb测试包,它能工作在任何显卡上。
* 8/03 : Developers feels themselves narrow inside the magick++ image library... looking for a library designed for framebuffers
* 8/03 : 开发者感觉自己使用magick++图形库过于狭隘,开始寻找为帧缓冲设计的库
* 8/03 : Usplash 0.1 alpha2 relased!
* 8/03 : Usplash 0.1 alpha2 发布
* 7/03 : Thanks for people at #ubuntu-devel a big hole was found and fixed,it will be included on alpha2 relase soon.
* 7/03 : 感谢 #ubuntu-devel的朋友找到并修复了一个大的漏洞,它将包含在alpha2版本中
* 5/03 : Usplash 0.1-alpha relased,tested successfully on ubuntu hoary 1024*768.
* 5/03 : Usplash 0.1-alpha 发布,在ubuntu hoary1024*768测试成功
* 28/02 : Implemented bars.
* 28/02 : 进度条被应用.
* 18/02 : New object oriented approach and first image draw.
* 18/02 : 新的面向对象研究并显示了第一张图片
[/Edit]
Download Splashy-0.1
下载Splashy-0.1
Splashy-01 have been relased! read the announce at this page
Splashy-01已经发布!请阅读本页公告
(http://kalatlug.nanofreesoft.org/Projects/splashy/relases/splashy-0.1-announce.txt)
NOTE: You must remove the bad packaged lib++dfb and libdirectfb,also usplash should be removed.
注意:您必须删除糟糕的lib++dfb和libdirectfb包, usplash也将被删除
You need to follow these steps to install Splashy:
您需要通过下列步骤安装Splashy:
For ubuntu hoary/warty or debian Sid:
对于ubuntu hoary/warty或debian Sid而言:
* download Splashy (http://kalatlug.nanofreesoft.org/Projects/splashy/relases/splashy_0.1-5_i386.deb),then download the libraries: libsirectfb-0.9-22 (http://kalatlug.nanofreesoft.org/Projects/splashy/libraries/libdirectfb/libdirectfb-0.9-22_0.9.22-1_i386.deb) and lib++dfb-0.9-22 (http://kalatlug.nanofreesoft.org/Projects/splashy/libraries/lib++dfb/lib++dfb-0.9-22_0.9.22-1_i386.deb). You have downloaded 3 packages now.
* 下载Splashy (http://kalatlug.nanofreesoft.org/Projects/splashy/relases/splashy_0.1-5_i386.deb),然后下载libsirectfb-0.9-22库文件包(http: //kalatlug.nanofreesoft.org/Projects/splashy/libraries/libdirectfb/libdirectfb-0.9-22_0.9.22-1_i386.deb) 和lib++dfb-0.9-22库文件包
(http://kalatlug.nanofreesoft.org/Projects/splashy/libraries/lib++dfb/lib++dfb-0.9-22_0.9.22-1_i386.deb). 现在您已经下载了三个包了。
* put them in a directory and do: sudo dpkg -i *.deb
把它们放在一个目录下,并运行:sudo dpkg -i *.deb
Next time you will boot (or shutdow) the computer you will see a nice splash screen.
在您下一次启动或关闭计算机时,您就能看到非常漂亮的splash界面了
nb: in some cases Splashy will start to work after the second or third reboot,it's normal,don't worry.
nb:在一些情况下Splashy可能要到第二次或第三次重启时才开始工作,别担心,这是正常现象。
For debian sarge: To install splashy on sarge do this:
对于debian sarge而言:在Sarge上安装Splashy要进行如下操作:
add these lines to ypur sources.list
将下列源添加到您的sources.list文件中
deb http://www.kiskeyix.org/downloads/debian local main
deb-src http://www.kiskeyix.org/downloads/debian local main
And follow the mantra:
并运行下列指令:
apt-get update
apt-get install splashy
A forum is available here (http://kalatlug.nanofreesoft.org/index.php?name=PNphpBB2&file=viewforum&f=7),you can also go to irc.freenode.net at channel #splashy if you need help. Before ask in irc channel please read the faq on this page.
如果您需要帮助可以到论坛(http://kalatlug.nanofreesoft.org/index.php?name= PNphpBB2&file=viewforum&f=7)或到irc.freenode.net的#splashy频道。在IRC频道提问之前请先阅读本页的FAQ。
get the sources (http://kalatlug.nanofreesoft.org/Projects/splashy/) of Splashy-0.1
得到Splashy-0.1的源 (http://kalatlug.nanofreesoft.org/Projects/splashy/)
enjoy!
Please,if you install it and have time send a mail to me at vincenzo.ampolo(at)gmail.com with your informations: CPU,graphic card,kernel version and distribuion name,write also if your /usr partition is in the same partition where / is. It will be added in a white list of supported hardware. thanks
如果您安装了它,麻烦您在有空时发个邮件给我,邮件地址是vincenzo.ampolo(at)gmail.com,并附上您的信息:CPU,显卡,内核版本及发行版名称,也写上您的/usr分区是否与/分区是同一个分区。它将被添加到白皮列表(硬件支持列表)中。谢谢
[edit]
FAQ
[edit]
At about 70-80% of bootin process Splashy goes to verbose mode and shows:
在70-80%的引导进程中,Splashy会进入详细模式,并显示下列信息:
t_kernel_font: Invalid Argument
It's a bug related with the /etc/init.d/console-screen.sh file that does not set the font for framebuffer properly,this bug is unsolved but you can circumnavigate it editing the config.xml at set "autoverboseonerror" to "no"
这是一个Bug,它同/etc/init.d/console-screen.sh脚本文件没有为帧缓冲设置合适的字体有关,该Bug尚未解决,但您可以通过编辑Config.xml文件,将其中的 "autoverboseonerror"设置成"no"来绕过它。
[edit]
I don't see any image at boot time:
我在引导时,没有看到任何图片:
Be sure that you have instaleld libdirectfb-0.9-22 and lib++dfb-0.9-22 and your /usr partition is in / and not on its own. Be sure that your /boot/grub/menu.lst in #nonaltoptions has vga=792,value bigger than 792 is no tested and it could not work. We are working to make Splashy run without any /usr/lib support (compile it statically). This is an unsolved problem.
确认您已经安装了libdirectfb-0.9-22 和 lib++dfb-0.9-22库文件,并且您的/usr分区是在/分区中而非独立分区。确认您的/boot/grub/menu.lst中的 #nonaltoptions项中vga=792,超过792的值并经测试也无法正常运行。我们正在努力使Splashy在没有任何/usr/lib支持(静态编译)的情况下正常运行,该问题尚未解决。
[edit]
when booting i get this error:
当引导时,我得到了这样一个错误:
/lib/lsb/init-functions : file not found
Do
运行
sudo apt-get install lsb-core|lsb
[edit]
Road Map
Splashy-0.2
* Animations
* 动画支持
* initrd-initramfs support
* initrd-initramfs支持
* Handle Fsck running (show progress,surpassing bootsplash)
* Handle Fsck running (显示进度,surpassing bootsplash)
* Fade effect
* 淡入淡出效果
* fsck support
* fsck 支持
Splashy-0.1 ---> relase will exit on 13 April.
Splashy-0.1 ---> 四月十三号发布
* Configuration file in xml greenCheck.gif
* 配置文件使用XML格式 通过测试(greenCheck.gif可能是通过测试的图片文件)
* on i386/amd64,dump available VESA modes and grep for something matching xorg.conf greenCheck.gif
* 在i386/amd64机器上,完成VESA模式转移并能在xorg.conf中匹配搜索 通过测试(这句翻得别扭,主要是对这个不熟,有请高手)
* Verbose mode (with F2 keyword) greenCheck.gif
* 详细模式(通过F2快捷键) 通过测试
* Progressbar support greenCheck.gif
* 进度条支持 通过测试
* Require zero (0) kernel patches greenCheck.gif
* 不要求内核补丁 通过测试
* Fallback to a console in VITURALLY ALL failure cases greenCheck.gif
* VITURALLY ALL失败时回到控制台 通过测试
* Not add more than 10% to boot time (eg. 3 seconds on 30 second boot)greenCheck.gif
* 不超过10%的引导时间延迟(如30秒的引导不会延迟超过3秒) 通过测试
* Cope with 24,16,8 bit framebuffers (surpassing bootsplash) (++dfb should do that automatically)greenCheck.gif
*处理24,8比特的帧缓冲(surpassing bootsplash)(++dfb会自动进行处理) 通过测试
* Cope with any video-mode size (640x480 .... 1600x900 weird widescreen) (++dfb should do that automatically) greenCheck.gif
* 处理任何尺寸的视频模式(640x480 .... 1600x900超宽屏)(++dfb会自动进行处理) 通过测试
[edit]
How i think about bootsplash (debsplash group idea about usplash)
我是怎样考虑boot splash的(debsplash小组开发usplash的思路)
Second me,a bootsplash different from other should be a bootsplash that works in user mode so i try to develop something that doesn't need to change something in lilo or grub bootloaders and will be 100% init compatible (not touch rc or rcS files as Usplash specification on ubuntu wiki says) As my test confirm it is possible (the main idea,we need still change something to the bootloader). Let me explain how does it work:
boot splash与其他的不同在于它是工作在用户模式下的,我试着去开发一个不需要对lilo或grub引导器进行修改的软件,并且保持对init的100% 兼容(象ubuntu的wiki中对Usplash说明所说的那样不涉及rc或rcS文件)。我的测试验证了它是可行性(主要思路,我们仍然需要修改引导器),让我来说明它是怎样工作的:
* Bootloader starts as normal startup,it sets the framebuffer with the vga=value argument and calls init. Thanks to a smart postinst script the best value to set the framebuffer is done at install time and removed in the unistall sequence.
* 引导器开始正常引导,它设置帧缓冲(vga=值)并调用init。感谢智能postinst脚本能在安装时为帧缓冲自动设置最恰当的值并在卸载工序中删除它。
* Init is called as default (no inittab modification and/or /etc/init.d/rc patch!) the first script that is executed is the S01splashy,that script starts /sbin/splashy in background (that is mounted for first before init).
* init被缺省调用(这里没有修改inittab也没有打/或/etc/init.d/rc补丁)第一个被执行的脚本是S01 splashy,该脚本使得/sbin/splashy在后台运行(在init前被首先挂载)
* Splashy draw a image (that is set by the cml configuration file) fast as possible and read the terminal as a human eye does (Note that is one of the best issue of that approach).
* Splashy尽可能快的显示图片(该图片在cml配置文件中设置)并象人眼所做的那样阅读终端(注意研究显示这是一种最佳方式)(这里也觉得有点别扭,有请高手) * Splashy upgrades the framebuffer progressbar and makes animations until gdm/xdm is called. * Splashy 动态更新帧缓冲进度条,直到gdm/xdm被调用。 * When X is called the /dev/tty7 is initialized and the console is switched to it. Splashy,not linked to any console (you are switched to tty7) died 7 seconds after. * 当X被调用,/dev/tty7初始完成并从控制台切换过来时,Splashy不再链接任何控制台(你已经切换到tty7了),七秒后关闭自身。 So the boot process is completed. 引导过程完成 At shutdown time the process is quite the same: 关闭过程也是一样: * Splashy is called soon as possbile and it draws a image that replace the text based shutdown process * Splashy被尽可能快的调用,然后显示图片以替代基于文本的关闭过程 [edit] Considerations 论述 As You could say,this approach permits to be 100% init compatible and usermode (no ugly initrd/initramfs or patches) and mainly it works like an eye,that looks into the terminal (input) and elaborates these informations (output); this means: 如您所言,该程序允许工作在用户模式下且100%兼容init(没有讨厌的initrd/initramfs或补丁)同时运行起来就象一个注视着终端的眼睛(输入)并对这些信息进行详细说明(输出);这就意味着: * We can implement everything (animations at certain service and fsck support) without the need to patch anything because we just read the screen! * 我们能够实现任何东西(对某个服务的动画及fsck的支持)而无需对它们打补丁,因为我们仅仅只是在看屏幕! * No awful little programs that work like servers and notifiers (that they are closed in their range of input),this means that we use less resources. * 没有那些可怕的象服务器和通知(它们在它们的输入范围内被关闭)这样的小程序,这就意味着我们使用更少的资源。 * If something goes wrong your system is always bootable,we don't change initramfs or anything,Splashy is just a program. * 如果有什么地方出错,您的系统也总是可以引导起来,我们并不修改initramfs或其它任何东西,Splashy只是一个程序。 [edit] White list 白皮列表(硬件支持列表) Here there is a list of supported video cards,please send me a feedback to vincenzo.ampolo(at)gmail.com or leave a message in the forum (http://kalatlug.nanofreesoft.org/index.php?name=PNphpBB2&file=viewforum&f=7): 下面是支持的显卡列表,请发送反馈到vincenzo.ampolo(at)gmail.com或在论坛(http: //kalatlug.nanofreesoft.org/index.php?name=PNphpBB2&file=viewforum& f=7)上留言 0000:00:02.0 VGA compatible controller: Intel Corp. 82852/855GM Integrated Graphics Device (rev 02) Ati readeon 9200 (but it shoudl work in any model) 0000:01:00.0 VGA compatible controller: VIA Technologies,Inc. VT8378 [S3 UniChrome] Integrated Video (rev 01) 0000:01:00.0 VGA compatible controller: nVidia Corporation NV34M [GeForce FX Go5200] (rev a1) via KM400 [edit] meet us 找到我们 The whole development team stay on #splashy channel of irc.freenode.net,you can go there and meet us. 所有的开发人员都在irc.freenode.net的#splashy频道,您可以在那儿找到我们 --Vincenzo Ampolo 14:27,12 Apr 2005 (CEST)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


什么是设计模式一套被反复使用、多数人知晓的、经过分类编目的、代码 设计经验 的总结;使用设计模式是为了 可重用 代码、让代码 更容易 被他人理解、保证代码 可靠性;设计模式使代码编制  真正工程化;设计模式使软件工程的 基石脉络, 如同大厦的结构一样;并不直接用来完成代码的编写,而是 描述 在各种不同情况下,要怎么解决问题的一种方案;能使不稳定依赖于相对稳定、具体依赖于相对抽象,避免引
单一职责原则定义(Single Responsibility Principle,SRP)一个对象应该只包含 单一的职责,并且该职责被完整地封装在一个类中。Every  Object should have  a single responsibility, and that responsibility should be entirely encapsulated by t
动态代理和CGLib代理分不清吗,看看这篇文章,写的非常好,强烈推荐。原文截图*************************************************************************************************************************原文文本************
适配器模式将一个类的接口转换成客户期望的另一个接口,使得原本接口不兼容的类可以相互合作。
策略模式定义了一系列算法族,并封装在类中,它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。
设计模式讲的是如何编写可扩展、可维护、可读的高质量代码,它是针对软件开发中经常遇到的一些设计问题,总结出来的一套通用的解决方案。
模板方法模式在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中,使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。
迭代器模式提供了一种方法,用于遍历集合对象中的元素,而又不暴露其内部的细节。
外观模式又叫门面模式,它提供了一个统一的(高层)接口,用来访问子系统中的一群接口,使得子系统更容易使用。
单例模式(Singleton Design Pattern)保证一个类只能有一个实例,并提供一个全局访问点。
组合模式可以将对象组合成树形结构来表示“整体-部分”的层次结构,使得客户可以用一致的方式处理个别对象和对象组合。
装饰者模式能够更灵活的,动态的给对象添加其它功能,而不需要修改任何现有的底层代码。
观察者模式(Observer Design Pattern)定义了对象之间的一对多依赖,当对象状态改变的时候,所有依赖者都会自动收到通知。
代理模式为对象提供一个代理,来控制对该对象的访问。代理模式在不改变原始类代码的情况下,通过引入代理类来给原始类附加功能。
工厂模式(Factory Design Pattern)可细分为三种,分别是简单工厂,工厂方法和抽象工厂,它们都是为了更好的创建对象。
状态模式允许对象在内部状态改变时,改变它的行为,对象看起来好像改变了它的类。
命令模式将请求封装为对象,能够支持请求的排队执行、记录日志、撤销等功能。
备忘录模式(Memento Pattern)保存一个对象的某个状态,以便在适当的时候恢复对象。备忘录模式属于行为型模式。 基本介绍 **意图:**在不破坏封装性的前提下,捕获一个对象的内部状态,并在该
顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为
享元模式(Flyweight Pattern)(轻量级)(共享元素)主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结