Brighten Up Your Day - GRUB Menu Theming - Wizards Corner

wizardfromoz

Administrator
Staff member
Gold Supporter
Joined
Apr 30, 2017
Messages
10,297
Reaction score
9,210
Credits
47,651
A long, long time ago (I can still remember how that music used to make me smile), friend @Vrai asked me over at @JasKinasis 's Thread on Desktops, what wallpapers Wizard uses, and I failed to answer, regrets.

I will remedy that now.

It is not so much a case of what wallpapers I use in my Desktop sessions, with one exception amongst my distros where I feature my kids and grandkids in a slideshow, they are all just slideshows of the distro-specific wallpapers.

Rather, it is how I start my day with my Grub Menu, and that changes periodically, as my distros update, I'll explain why later in this Thread.

I have 67 Linux distros running on this Dell rig at the moment, and for each and every one of them I have a different background to my Grub menu.

Today I installed Linux Mint 20.2 'Uma' Cinnamon, and here is what I have devised to brighten my morning.

I have to leave for my Aussie evening shortly, but I will flesh this out more on my tomorrow.

Cheers

Wizard

DCwYZyT.jpg
 


Cool. Didn't know you could do that. You will have to share.
 
I have 67 Linux distros running on this Dell rig at the moment, and for each and every one of them I have a different background to my Grub menu.

There's gotta be a 12 step program for that! ;)
 
Looks cool @wizardfromoz! I knew it was possible but I never bothered doing it myself for the 5 seconds a day that I see grub when booting up my system.
 
You will have to share.

My grandson Samuel, aged 5 says "Sharing is caring, or you don't get a burrito on Friday nights".

I like a good burrito, so I'll share. :)

There's gotta be a 12 step program for that!

LOL, OCD (Obsessive Compulsive Disorder) is one of my 8 mental health disorders. It's managed and medicated for 20 years now, but I surrender to it where multi-multi-multi-booting Linux is concerned.

Why? Because I have the time, the storage, and the enthusiasm. It also helps me in answering questions. I don't have to install a distro on a VM and go through a learning curve to help someone, I can usually just use a distro from my stable, and my experience with it.

Works for me.

On #4 @Nelson Muntz , seen that one, it is handy reading, but deficient in a number of ways, dealing as it does with Ubuntu and Linux Mint, and the articles there are not dated, for currency of information.

I can use it as a handy reference, here, though, so thanks for sharing :)

Before I forget, my grub file in /etc/default/grub in the Mint example above reads as follows


Code:
# If you change this file, run 'sudo update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

#GRUB_DEFAULT=0
GRUB_DEFAULT=saved
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
#GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX_DEFAULT="noquiet nosplash"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
# CRAP Obsolete use videoinfo
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

GRUB_SAVEDEFAULT=true

... and you'll see there is no reference to the background picture, but my /boot/grub content looks as follows

liRAnLB.png


... and you can see that

tduston_sydney.png is the file I have used, found in /usr/share/backgrounds

When I say "found", it was found as a JPEG, and quite often that will work, in some cases, not, and this was one of them. So I used GIMP's function to export as... and exported from JPEG to PNG.

More on my tomorrow, but so you know I am not trying to reinvent the wheel here - in this Forum, not long after I started writing about this facility with Grub over 2 years ago, Jarret picked up the ball and ran with it, in 2 articles as follows

https://www.linux.org/threads/grub-configuration.24387/

and

https://www.linux.org/threads/grub-themes.24890/

I do not go into the detail that he goes into, I have just used trial and error a lot, and my methods work fine for me.

Cheers

Wiz
 
A long, long time ago (I can still remember how that music used to make me smile), friend @Vrai asked me over at @JasKinasis 's Thread on Desktops, what wallpapers Wizard uses, and I failed to answer, regrets.

I will remedy that now.

It is not so much a case of what wallpapers I use in my Desktop sessions, with one exception amongst my distros where I feature my kids and grandkids in a slideshow, they are all just slideshows of the distro-specific wallpapers.

Rather, it is how I start my day with my Grub Menu, and that changes periodically, as my distros update, I'll explain why later in this Thread.

I have 67 Linux distros running on this Dell rig at the moment, and for each and every one of them I have a different background to my Grub menu.

Today I installed Linux Mint 20.2 'Uma' Cinnamon, and here is what I have devised to brighten my morning.

I have to leave for my Aussie evening shortly, but I will flesh this out more on my tomorrow.

Cheers

Wizard

DCwYZyT.jpg
A very wise Wizard! I know from experience that it can be very confusing when using the same background on multiple installations. Or even among multiple apps in the same installation! :)
 
Below is from my latest installed distro, the new Peppermint.

The phone camera pic is crap

6dF2Gx0.jpg


But you can get a clear image from the pic I posted at Jas's Post a Screenshot of your Desktop

Vp0lbr8.png


Wiz
 
what does one do with so many distro?
 
Keep busy?
 
Seriously, I won't go off topic here, but check General Linux next 24 hours and I'll have a Thread there explaining.

It's a question that is asked of me periodically, and by answering it in a Thread, I can refer people asking, to that Thread.

Thanks for stimulating that idea, Tobey, and Rado? I love Asterix The Gaul. ;)

Wiz
 
I have gotten this to work in Legacy BIOS mode.
I have yet to make it work in UEFI mode. I think I'm missing something.
 
Fedora can be a fly in the ointment (read PITA). I have occasionally had success by making sure the line

#GRUB_TERMINAL=console

was commented out, and placing a line

GRUB_BACKGROUND="/path/to/my/picture.png"

If you are using BTRFS (I don't) you may have to allow for a @ at the path.

More often than not that does not work, so with 35 I simply used a Theme following a template from my Fedora 34.

I have a line

GRUB_THEME="/boot/grub2/themes/myFedora.txt"

You can just call it theme.txt if you wish.

Under /boot/grub2 I create a subfolder

themes

and in it I have the file myFedora.txt and the PNG I want to use as a background, in this case

Volcano

IhFM9qb.jpg


My theme file reads as follows

Code:
title-text:     ""
title-font:     "DejaVu Sans Bold 18"
title-color:    "black"
desktop-image:  "Volcano.png"
desktop-color:  "#000000"
message-font:   "DejaVu Sans Bold 18"

terminal-font:  "Fixed Regular 13"
#terminal-font:  "Droid Sans Mono Regular 14"

terminal-box:   "inbox_*.png"

# Use this label as a title
+ label {
    left  = 10%
    top   = 4%
    width = 100%
    text  = "Welcome to Fedora, Wiz!"
    color = "magenta"
    align = "left"
    font  = "DejaVu Sans Bold 24"
}

# Show the boot menu
+ boot_menu {
    left        = 10%
    top         = 10%
    width       = 60%
    height      = 72%
#    item_color                 = "black"
    item_color                 = "green"
    selected_item_color        = "red"
    selected_item_pixmap_style = "select_*.png"

    selected_item_font = "Noto Sans Bold 18"
    item_font          = "Noto Sans Bold 14"
    item_height        = 32
    item_padding       = 0
    item_spacing       = 0
    icon_width         = 0
    icon_height        = 0
    icon_spacing       = 0
}

# Show informational messages below the boot menu
# --using individual labels instead of a vbox

+ label {
    left  = 30%
    top   = 85%
    width = 70%
    text  = "Press 'e' to edit the selected entry, 'c' for command"
    color = "magenta"
    align = "left"
    font  = "Noto sans Bold 14"
}

# Show a styled horizontal progress bar
+ progress_bar {
    id              = "__timeout__"
    left            = 22%
    top             = 95%
    width           = 60%
    height          = 18
    bg_color        = "201, 0, 22"
    fg_color        = "255, 99,9"
    border_color    = "255, 181, 21"
    show_text       = true
#    text_color      = "black"
    text_color      = "red"
    font            = "DejaVu Sans Regular 14"
    #text            = "@TIMEOUT_NOTIFICATION_LONG@"
    text            = "The highlighted entry will start in %d seconds"
    bar_style       = "progress_bar_*.png"
    highlight_style = "progress_highlight_*.png"
}

Jarret deals a bit with themes.

I prefer the non-theme method for simplicity, but that involves rebuilding grub each time, and for me that can take 45 minutes, with all my distros.

The beauty of a theme is that you can tweak it, reboot and see the results straight away.

HTH

Wiz
 
I see the light
 

Members online


Latest posts

Top