Table of Contents#
- Prerequisites
- Silent vs. Verbose Boot Modes: What’s the Difference?
- Step 1: Install Plymouth (Bootsplash Tool)
- Step 2: Choose a Plymouth Theme
- Step 3: Configure Plymouth for Your Theme
- Step 4: Configure Grub for Silent or Verbose Mode
- Step 5: Regenerate Initramfs
- Step 6: Test Your Configuration
- Troubleshooting Common Issues
- Customizing Plymouth Themes (Advanced)
- Conclusion
- References
Prerequisites#
Before starting, ensure you have:
- A Ubuntu (20.04+/22.04+) or Debian (10+/11+) system.
sudoaccess (to modify system files).- Basic familiarity with the terminal (e.g., running commands, editing files with
nanoorvim). - Optional: A custom image/animation if you plan to create a custom theme (see Advanced).
Silent vs. Verbose Boot Modes: What’s the Difference?#
| Mode | Description | Use Case |
|---|---|---|
| Silent | Hides boot messages; shows only the Plymouth bootsplash and Grub menu (briefly). | Normal daily use (clean, distraction-free). |
| Verbose | Shows detailed kernel/daemon logs (e.g., "Starting Network Manager..."). | Debugging boot failures or hardware issues. |
Step 1: Install Plymouth (Bootsplash Tool)#
Plymouth is preinstalled on most Ubuntu/Debian systems, but confirm and install missing components:
# Update package lists
sudo apt update
# Install Plymouth and core themes (if missing)
sudo apt install plymouth plymouth-themes -yplymouth: The main bootsplash daemon.plymouth-themes: Default themes (e.g.,ubuntu-logo,debian-logo,spinner).
Step 2: Choose a Plymouth Theme#
Plymouth themes are stored in /usr/share/plymouth/themes/. To list installed themes:
ls /usr/share/plymouth/themes/Popular Default Themes:#
ubuntu-logo: Ubuntu’s default logo with a progress bar.debian-logo: Debian’s logo with a spinner.spinner: A simple rotating spinner (minimalist).
Third-Party Themes (Optional):#
Install community-created themes via apt or manual download:
Example: Install the "Arc" Theme#
# Add PPA (for Ubuntu; Debian users may need to download manually)
sudo add-apt-repository ppa:mattrose/plymouth-themes -y
sudo apt update
# Install Arc theme
sudo apt install plymouth-theme-arc -yManual Download (e.g., from GitHub):#
- Download a theme (e.g., Plymouth Themes on GitHub).
- Extract it to
/usr/share/plymouth/themes/:sudo unzip ~/Downloads/plymouth-theme-name.zip -d /usr/share/plymouth/themes/
Step 3: Configure Plymouth for Your Theme#
Set your chosen theme by editing Plymouth’s configuration file:
sudo nano /etc/plymouth/plymouthd.confAdd/modify these lines (replace THEME_NAME with your theme, e.g., arc):
[Daemon]
Theme=THEME_NAME # Name of your Plymouth theme
DeviceTimeout=5 # Timeout (seconds) for display detection
XResolution=1920 # Match your monitor's horizontal resolution
YResolution=1080 # Match vertical resolution (e.g., 1080p, 2160p)- Resolution Tip: Use
xrandrin a terminal to find your monitor’s resolution (e.g.,1920x1080).
Save the file (Ctrl+O, Enter, then Ctrl+X in nano).
Step 4: Configure Grub for Silent or Verbose Mode#
Grub (Grand Unified Bootloader) controls the initial boot screen and kernel parameters. Edit its config to enable silent/verbose mode:
sudo nano /etc/default/grubOption A: Silent Mode (Recommended for Aesthetics)#
To hide boot logs and show only the Plymouth splash:
-
Set
GRUB_CMDLINE_LINUX_DEFAULTto includequiet splash:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"quiet: Hides non-critical kernel messages.splash: Enables the Plymouth splash screen.
-
Hide the Grub menu (optional but recommended for silent mode):
GRUB_TIMEOUT_STYLE=hidden # Hides the menu unless Shift is held GRUB_TIMEOUT=0 # No delay before booting default OS
Option B: Verbose Mode (For Debugging)#
To show detailed logs, remove quiet splash from GRUB_CMDLINE_LINUX_DEFAULT:
GRUB_CMDLINE_LINUX_DEFAULT="" # Empty = show all logs- Keep the Grub menu visible (optional):
GRUB_TIMEOUT_STYLE=menu # Always show the menu GRUB_TIMEOUT=10 # 10-second delay before auto-boot
Save Grub Changes#
After editing, update Grub’s configuration:
sudo update-grubStep 5: Regenerate Initramfs#
Plymouth themes are embedded in the initramfs (initial RAM filesystem). Regenerate it to apply theme changes:
# Update initramfs for the current kernel
sudo update-initramfs -u -k $(uname -r)
# OR: Update for all installed kernels (safer)
sudo update-initramfs -u -k all-u: Update the initramfs.-k $(uname -r): Target the currently running kernel.
Step 6: Test Your Configuration#
Reboot to apply changes:
sudo rebootWhat to Expect:#
- Silent Mode: A black screen → Grub menu (hidden unless Shift is held) → Plymouth bootsplash → Login screen.
- Verbose Mode: Grub menu → Scrolling white text logs → Login screen.
Troubleshooting Common Issues#
1. Bootsplash Doesn’t Appear#
- Fix: Ensure
splashis inGRUB_CMDLINE_LINUX_DEFAULTand initramfs was regenerated.# Verify initramfs includes Plymouth lsinitramfs /boot/initrd.img-$(uname -r) | grep plymouth
2. Low-Resolution/Stretched Theme#
- Fix: Set
XResolutionandYResolutionin/etc/plymouth/plymouthd.confto match your monitor (e.g.,1920 1080).
3. Grub Menu Still Appears (Silent Mode)#
- Fix: Ensure
GRUB_TIMEOUT_STYLE=hiddenandGRUB_TIMEOUT=0in/etc/default/grub, then re-runsudo update-grub.
Customizing Plymouth Themes (Advanced)#
Create a custom theme by modifying an existing one or building from scratch. Here’s a quick guide:
Theme Structure#
A Plymouth theme requires two files:
THEME_NAME.plymouth: Metadata (theme name, script path).THEME_NAME.script: Animation logic (uses Plymouth’s scripting language).
Example: Simple Custom Theme#
-
Create a theme directory:
sudo mkdir /usr/share/plymouth/themes/my-custom-theme -
Add a background image (e.g.,
background.png, 1920x1080):sudo cp ~/Pictures/my-background.png /usr/share/plymouth/themes/my-custom-theme/ -
Create
my-custom-theme.plymouth:[Plymouth Theme] Name=My Custom Theme Description=A simple theme with a custom background ModuleName=script [script] ImageDir=/usr/share/plymouth/themes/my-custom-theme ScriptFile=/usr/share/plymouth/themes/my-custom-theme/my-custom-theme.script -
Create
my-custom-theme.script(display the image):#!/usr/bin/plymouth -script # Load background image png_image = Image("background.png"); # Draw image to fill the screen screen_width = Window.GetWidth(); screen_height = Window.GetHeight(); Window.SetBackgroundImage(png_image.Scale(screen_width, screen_height)); -
Set the theme (repeat Steps 3–5 above) and reboot.
Conclusion#
With Plymouth and Grub configured, you’ve transformed your boot process from utilitarian to personalized. Silent mode keeps things clean, while verbose mode helps diagnose issues. Experiment with themes or build your own to make your Linux setup truly unique!
References#
- Plymouth Official Documentation
- Ubuntu Wiki: Plymouth
- Debian Wiki: Grub
- Plymouth Themes (GitHub)
- Arch Wiki: Plymouth (Useful for advanced customization)