I have created theme as you wanted with faded ubuntu ( moreover I have added animation of ubuntu logo. Hope you'd like it :-P )
Want to see it live ?
Go to http://www.youtube.com/watch?v=zPo50gM3txU
Where to Get this theme ?
I have uploaded it to Mediafire cloud HERE
How to install it ?
Download from the above link and save it on your Desktop then issue these commands one by one.
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
How to check it ?
- Restart Ubuntu and you'll see nice animation while booting up and
shutting down. OR
Copy the whole command, Paste in terminal and Hit enter.(probably you need to install package.
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
How to Create Plymouth Theme yourself ?
Let's Start with Basics like Operators, Looping, Comments, etc.
Three type of comments are supported.
# comment like in bash
// single line comment like in C
/* block comments */
Statements are terminated with Semicolon, e.g.
foo = 10 ;
Statement block can be created with Curly Brackets, e.g.
foo = 10;
z = foo + foo;
Operators supported are
+, -, *, /, %.
Shorthand is also supported
+=, -=, *=, etc.
Unary Operators are also supported, e.g.
foo *= ++z;
+ is used for Concatination e.g.
foo = "Jun" + 7; # here foo is "Jun7"
x = (3 >= 1); # bind x to 1 because it's true
y = ("foo" == "bar"); # bind y to 0 because it's false
Conditional Operations and Looping,
if ( foo > 4 )
z = 1;
z = 0;
z *= foo;
&&, ||, ! are also supported
if ( foo > 0 && foo <4 )
Probably something new,
Hashes Similar to
Hashes can be created by accessing their contents using
[ ] brackets, e.g.
foo.a = 5;
x = foo["a"] ; # x equals to 5
fun Keyword to define function, e.g.
fun animator ( param1, param2, param3 )
if ( param1 == param2)
There are Basic Two Plymouth Objects
To create new Image, Give filename of image within theme directory to
Remember, Only .png files are supported, e.g.
background = Image ("black.png");
To show text message you must create
Image of Text (Surprised ??), e.g.
text_message_image = Image.Text ("I love Ubuntu");
Width and Height can be known using
image_area = background.GetWidth() * background.GetHeight();
Rotate or Change size of Image, e.g.
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 to place
Image on screen.
How to create
first_sprite = Sprite ();
Or by supplying image to its constructor,
first_sprite = Sprite (background);
How to Set different Positions on screen (x,y,z) ?
first_sprite.SetX (300); # put at x=300
first_sprite.SetY (200); # put at y=200
Or you can define with
first_sprite.Setposition(300, 200, 50) # put at x=300, y=200, z=50
How to change Opacity ?
Different Methods Used are
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.
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.
Your Better bet to create Plymouth Script is to modify existing one rather than starting from scratch
.script file from my uploaded theme and try to understand what it does.
Fantastic Guide here
I'm sure you'll learn this. It isn't hard. Let me know if you need any Help.
Hope it'd help you create One yourself.
Answer to Roshan George's Comment :
Is it possible to replace the purple colour with an image as bavkground in the default plymouth theme names "ubuntu-logo" ?
background = Image ("your-image.png");
background.Scale (Window.GetWidth(), Window.GetHeight())
sprite = Sprite (background);
sprite.SetX (0); # put at x=0
sprite.SetY (0); # put at y=0
You might need to add
You should remove
Window.SetBackgroundTopColor (p, q, r);
Window.SetBackgroundBottomColor (a, b, c);
p, q, r, a, b, c is some values.