如何自定义Ubuntu启动徽标?


60

我正在做一个自定义发行版,在启动时有一个关于显示5个点的Ubuntu徽标的问题。

所述Ubuntu-Logo-Script的在/lib/plymouth/themes/ubuntutext文件夹具有字Ubuntu和其5进展“点”的下方。是否可以删除进度条上的点,而是用逐渐变暗的全彩色徽标替换为褪色的Ubuntu徽标?

在此处输入图片说明

Answers:


135

安装主题

我用褪色的Ubuntu徽标根据需要创建了主题(此外,我还添加了Ubuntu徽标的动画。希望您喜欢它:-P)

屏幕截图

旋转Ubuntu标志和Ubuntu文本标志,并带有淡入淡出的效果。

想要现场直播吗?

前往http://www.youtube.com/watch?v=zPo50gM3txU

在哪里可以得到这个主题?

我已将其上传到此处的 Mediafire云中。

如何安装?

从上面的链接下载,将其保存在桌面上,然后逐个发出这些命令。如果您使用的是16.04或更高版本,请在命令中替换/lib/plymouth/themes/usr/share/plymouth/themes

cd ~/Desktop/
tar -xf ubuntufaded.tar
sudo cp -r ubuntu-faded-screen '/lib/plymouth/themes'
sudo rm '/lib/plymouth/themes/default.plymouth'
sudo ln -s '/lib/plymouth/themes/ubuntu-faded-screen/ubuntu-faded-screen.plymouth' '/lib/plymouth/themes/default.plymouth'
sudo update-initramfs -u

如何检查?

  1. 重新启动Ubuntu,在启动和关闭时,您会看到漂亮的动画。要么
  2. 复制下面的整个命令,并将其粘贴到终端中,然后按Enter。(你也许会需要安装一个软件包:sudo apt-get install plymouth-x11

    sudo plymouthd --debug --debug-file=/tmp/plymouth-debug-out ; sudo plymouth --show-splash ; for ((I=0;I<10;I++)); do sleep 1 ; sudo plymouth --update=event$I ; done ; sudo plymouth --quit

如何自己创建一个普利茅斯主题

普利茅斯脚本语言与C或JavaScript非常相似。如果您知道这些语言,那么自己创建Plymouth脚本将非常容易。

让我们从运算符,循环,注释等基础知识开始。支持三种类型的注释。

# comment like in bash
// single line comment like in C
/* block comments */

语句以分号终止,例如

foo = 10;

可以使用大括号创建语句块,例如

{
    foo = 10;
    z = foo + foo;
}

支持的运营商+-*/%。还支持速记赋值运算符+=, -=, *=,等。还支持一元运算符,例如

foo *= ++z;

+ 用于连接,例如

foo = "Jun" + 7; # here foo is "Jun7"

比较运算符示例:

x = (3 >= 1); # assign 1 to x because it's true
y = ("foo" == "bar"); # assign 0 to y because it's false

有条件的操作和循环:

if (foo > 4)
{
    foo--;
    z = 1;
}
else
    z = 0;


while (foo--)
    z *= foo;

&&||!也被支持。

if ( foo > 0 && foo <4 )

对于许多读者而言,这可能是新事物:哈希,类似于数组。可以通过使用dot[ ]括号访问哈希的内容来创建哈希,例如

foo.a = 5;
x = foo["a"] ; # x equals to 5

使用fun关键字定义功能,例如

fun animator (param1, param2, param3)
{
    if (param1 == param2)
        return param2;
    else
        return param3;
}

普利茅斯的两个基本物体

图片

要创建新图像,请将主题目录中图像的文件名指定为Image()。请记住,仅支持.png文件。例如:

background = Image ("black.png"); 

要显示短信,您必须创建一个Image短信。(这可能会让您感到惊讶。)例如:

text_message_image = Image.Text("I love Ubuntu");

宽度和高度可以使用GetWidth()和来找到GetHeight()。例如:

image_area = background.GetWidth() * background.GetHeight();

可以旋转或更改图片的大小;例如:

down_image = logo_image.Rotate (3.1415); # Image can be Rotated. Parameter to Rotate is the angle in radians
fat_image = background.Scale ( background.GetWidth() * 4 , background.GetHeight () ) # make the image four times the width

雪碧

用于在屏幕上Sprite放置Image

创建一个Sprite

first_sprite = Sprite ();
first_sprite.SetImage (background);

或者通过向其构造函数提供图片,

first_sprite = Sprite (background);

如何将不同的精灵设置到屏幕上的不同位置(x,y,z):

first_sprite.SetX (300); # put at x=300
first_sprite.SetY (200); # put at y=200
background.SetZ(-20);
foreground.SetZ(50);

或者,您可以使用一次设置所有内容SetPosition()

first_sprite.Setposition(300, 200, 50) # put at x=300, y=200, z=50

更改不透明度:

faded_sprite.SetOpacity (0.3);
invisible_sprite.SetOpacity (0);

使用的一些其他方法是:

Window.GetWidth();
Window.GetHeight();
Window.SetBackgroundTopColor (0.5, 0, 0); # RGB values between 0 to 1.
Window.SetBackgroundBottomColor (0.4, 0.3, 0.6);
Plymouth.GetMode(); #  returns a string of one of: "boot", "shutdown", "suspend", "resume" or unknown.
etc.

预定义功能

Plymouth.SetRefreshFunction (function); # Calling Plymouth.SetRefreshFunction with a function will set that function to be called up to 50 times every second
Plymouth.SetBootProgressFunction(); # function is called with two numbers, time spent booting so far and the progress (between 0 and 1)
Plymouth.SetRootMountedFunction(); # function is called when a new root is mounted
Plymouth.SetKeyboardInputFunction(); # function is called with a string containing a new character entered on the keyboard
Plymouth.SetUpdateStatusFunction(); # function is called with the new boot status string
Plymouth.SetDisplayPasswordFunction(); # function is called when the display should display a password dialogue. First param is prompt string, the second is the number of bullets.
Plymouth.SetDisplayQuestionFunction(); # function is called when the display should display a question dialogue. First param is prompt string, the second is the entry contents.
Plymouth.SetDisplayNormalFunction(); # function is called when the display should return to normal
Plymouth.SetMessageFunction(); # function is called when new message should be displayed. First arg is message to display.

数学函数

Math.Abs()
Math.Min()
Math.Pi()
Math.Cos()
Math.Random()
Math.Int()
etc.

修改现有脚本比从头开始更好。

.script从我上传的主题中打开文件,然后尝试了解它的作用。一个很棒的指南可以在这里找到 。

我相信您会学到的。不难 让我知道您是否需要任何帮助。

希望它能帮助您自己创建一个。

回答Roshan George的评论Is it possible to replace the purple colour with an image as background in the default Plymouth theme names "ubuntu-logo" ?

background = Image ("your-image.png"); 
sprite = Sprite (background.Scale (Window.GetWidth(), Window.GetHeight()));
sprite.SetX (0); # put at x=0
sprite.SetY (0); # put at y=0

您可能需要添加 sprite.SetZ (-10);

你应该删除

Window.SetBackgroundTopColor (p, q, r);
Window.SetBackgroundBottomColor (a, b, c);

p, q, r, a, b, c一些值在哪里。

更多连结


1
我能得到与您创建的相同的图像,但ubuntu徽标和文本(在与现在相同的位置)交替发光和变暗(徽标发光时,txt变暗,文本发光时,徽标变暗),没有旋转的边框和切缝进度作为Ubuntu9.10 playmouth ...即这- wiki.ubuntu.com/Artwork/Incoming/Karmic/Boot/...想只有像在链接...的TXT和标志是狭缝进度条在与您的职位相同的位置上...您能帮我吗?我想同时学习您所学的内容...谢谢!gr8答案
Nirmik 2012年

21
有时我希望我可以
投票

1
@Rinzwind:我只是代表我们给了他“ 10票” :)
ish

谢谢男人,本教程很棒。我在找这个方面看起来很强。可以吗?
罗珊·乔治

1
请注意,在16.04中,主题目录位置更改为:/usr/share/plymouth/themes
Olivier

3

使用Plymouth Manager更改此设置。您可以从此处在启动板上获取它,或运行以下命令。

wget https://launchpad.net/plymouth-manager/trunk/stable/+download/plymouth-manager_1.5.0-1_all.deb
sudo dpkg -i plymouth-manager_1.5.0-1_all.deb 

之后,您需要plymouth-manager使用以下命令启动:

sudo plymouth-manager

如果您想自己做所有事情(编写自己的普利茅斯配置文件),并且想在准备就绪时应用它,那么“ magic”命令是:

sudo update-alternatives --config default.plymouth && sudo update-initramfs -u

1

我已经使用GRUB Customizer软件更改了GRUB屏幕。但是,如果您想更改普利茅斯屏幕,那就不一样了。

该软件的所有内容都在/lib/plymouth/themes目录中,而该软件的所有动画都在/lib/plymouth/themes/ubuntu-logo/ubuntu-logo.script文件中。

如果您想修改自己喜欢的普利茅斯,则只需在该ubuntu-logo文件夹上即可。

您可以自己完成此操作,而无需任何外部软件的帮助,但是您必须了解编程

您也可以在Ubuntu存储库中找到实现此目的的工具,但是您需要学习创建Plymouth主题。

祝好运!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.