我正在做一个自定义发行版,在启动时有一个关于显示5个点的Ubuntu徽标的问题。
所述Ubuntu-Logo-Script
的在/lib/plymouth/themes/ubuntutext
文件夹具有字Ubuntu和其5进展“点”的下方。是否可以删除进度条上的点,而是用逐渐变暗的全彩色徽标替换为褪色的Ubuntu徽标?
我正在做一个自定义发行版,在启动时有一个关于显示5个点的Ubuntu徽标的问题。
所述Ubuntu-Logo-Script
的在/lib/plymouth/themes/ubuntutext
文件夹具有字Ubuntu和其5进展“点”的下方。是否可以删除进度条上的点,而是用逐渐变暗的全彩色徽标替换为褪色的Ubuntu徽标?
Answers:
我用褪色的Ubuntu徽标根据需要创建了主题(此外,我还添加了Ubuntu徽标的动画。希望您喜欢它:-P)
屏幕截图
想要现场直播吗?
前往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
如何检查?
复制下面的整个命令,并将其粘贴到终端中,然后按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
一些值在哪里。
更多连结
/usr/share/plymouth/themes
使用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