Boring with the default startup animation in Ubuntu? Here’s step by step guide shows you how to install and change the theme in Ubuntu 24.04, Ubuntu 22.04, and Ubuntu 20.04.
The startup (and shutdown, reboot) animation screen is handled by Plymouth. Plymouth supports themes, and the default is bgrt in Ubuntu.
If you just want to replace or disable the manufacturer logo, then I’ve written a how to guide in this page. While, here I’m going to show you how to completely replace it with another one.
This simple tutorial shows how to install and setup the rEFInd boot manager in your Ubuntu 22.04, and/or Ubuntu 24.04 computer.
Most Linux uses Grub2 as default boot-loader. Though, there’s a good alternative called rEFInd. It’s a free open-source boot manager for EFI/UEFI enabled computers, such as all Intel-based Macs and recent (most 2011 and later) PCs.
rEFInd with Matrix theme
Why rEFInd:
Compare to Grub2, rEFInd has a more eye candy boot interface, and a simple and easy to tweak config file.
No need to update something, it auto-scans for all boot-able systems on every boot, and displays you the OS menu entries from both local disk and removable device, such as USB drive and CD-R.
It’s more reliable at booting Windows with Secure Boot active. And, it provides handy options to shutdown, restart, and/or go to BIOS settings.
How to Install rEFInd:
The boot manager is quite easy to install in Debian, Ubuntu, and Linux Mint, since it’s available in system repositories.
1. First, launch terminal (press Ctrl+Alt+T on keyboard) and run command to verify if UEFI enabled on your machine:
ls /sys/firmware/efi
The command will list content of ‘/sys/firmware/efi‘. It will show you No such file or directory, if UEFI not enabled.
2. To install rEFInd from system repository, simply run command:
sudo apt install refind
The package in system repository may be old. To install the most recent version, use the official PPA maintained by software developer.
Run command to add the PPA:
sudo add-apt-repository ppa:rodsmith/refind
Update system package index:
sudo apt update
Finally, re-run apt install command to install the package:
sudo apt install refind
Remove duplicate icons in boot menu
After installing rEFInd, you can now restart your machine to see the new boot menu.
In menu, use left/right arrow keys to switch menu entries, hit Enter to boot, or press Tab (or F2) for more options.
For duplicate icons issue, simply use left/right arrow to select the icon (menu entry), and hit Delete key on keyboard, finally answer yes to remove that icon (menu entry). Though, deleting icon may NOT work when 3rd party theme is in use.
Install Themes
The menu interface is easy to tweak by editing the refind.conf file under “/boot/efi/EFI/refind/” directory. Every option has description text telling what does it do and how it works.
Most themes have how to install steps in Readme file, they are usually:
Open “Files”, and navigate to “Other Location -> Computer (or system, root, etc) -> boot -> efi -> EFI -> refind”. (Some Desktop may need to open File Manager as root first!)
Create “themes” folder in that directory if not exist.
Drag and drop the themes you downloaded (extract & re-name first) into that “themes” folder.
Finally, apply new theme by editing the refind.conf file under “/boot/efi/EFI/refind/“, and adding new line in the end (replace rEFInd-glassy accordingly):
include themes/rEFInd-glassy/theme.conf
NOTE: the theme folder name, rEFInd-glassy in the case, is unique according to the PATH to icons/imgs in ‘theme.conf’ file.
In case the boot menu screen resolution is low, you may also add (or uncomment by removing #) resolution max line to set the maximum available resolution, or use resolution 1024 768 for certain resolution (Note that not all resolutions are supported).
Uninstall:
To uninstall refind in Debian and Ubuntu based systems, open terminal and run command:
sudo apt remove --autoremove refind
Also remove the PPA (if added) by running command:
Want to customize the startup, and shutdown animation screen with a single background image? Here’s how to do the trick in Ubuntu 22.04 and Ubuntu 23.04.
For request, this is a step by step guide shows how to create a basic plymouth theme with only a background image. And, it should work in all current Ubuntu releases, and even other Linux distributions.
Step 1: Create Plymouth Theme
As you may know, the startup, shutdown and restart animation screens are handled by Plymouth with themes.
Each Plymouth theme has its theme-name folder under /usr/share/plymouth/themes/ directory, which usually contains:
theme-name.plymouth
theme-name.script
Image files (.png).
NOTE: In all commands/config files below, replace ‘mybootscreen’ with your desired name. Lazy men can just copy & paste without changing anything.
1. To create a Plymouth theme, first press Ctrl+Alt+T on keyboard to open a terminal window.
When terminal opens, run command to create a theme folder, named “mybootscreen“:
2. Then, run command to navigate to that folder as working directory:
cd /usr/share/plymouth/themes/mybootscreen
3. Now, create & edit the “theme-name.plymouth” file by running command:
sudo gedit mybootscreen.plymouth
replace gedit with gnome-text-editor for Ubuntu 24.04. Or, use nano that works in most Linux.
4. When file opens, paste following lines and save it!
[Plymouth Theme]
Name=mybootscreen
Description=a basic Plymouth theme with only background image
ModuleName=script
[script]
ImageDir=/usr/share/plymouth/themes/mybootscreen
ScriptFile=/usr/share/plymouth/themes/mybootscreen/mybootscreen.script
For nano text editor, press Ctrl+X, type Y and hit Enter to save file.
5. Next, create and edit the ‘theme-name.script’ file by running command:
sudo gedit mybootscreen.script
Also, replace gedit with gnome-text-editor or nano accordingly.
When file opens, paste the following lines and save it:
// Get Screen Width and Height
screen.w = Window.GetWidth();
screen.h = Window.GetHeight();
// Specify background image, and scale to fit screen width & height.
my_image = Image("myimage.png");
resized_my_image = my_image.Scale(screen.w, screen.h);
// Place the 'resized_my_image' on the screen.
my_sprite = Sprite(resized_my_image);
// Set the priority of 'my_sprite', number -10 in the case.
// If multiple images present, the one with higher 'Z' will
// be drawn on top.
my_sprite.SetZ(-10);
6. Copy or move your desired background image (PNG) to the ‘/usr/share/plymouth/themes/mybootscreen‘ directory.
To do so, you may right-click on the folder that contains your photo image, then select “Open in Terminal” to open that folder as working directory. Finally, run command to copy/move the file:
Here you HAVE to replace “your_image_file.png” accordingly.
Step 2: Change file permissions
This step is optional if you did the previous step in local machine. In case you moved the theme folder to reimplement in another machine, try changing the theme folder permission by running command: