Brighten Up Your Day - GRUB Menu Theming Wizard-style

wizardfromoz

Administrator
Staff member
Gold Supporter
Joined
Apr 30, 2017
Messages
7,524
Reaction score
6,363
Credits
26,652
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
 


dos2unix

Well-Known Member
Joined
May 3, 2019
Messages
1,474
Reaction score
1,078
Credits
9,177
Cool. Didn't know you could do that. You will have to share.
 

KGIII

Super Moderator
Staff member
Gold Supporter
Joined
Jul 23, 2020
Messages
6,768
Reaction score
5,906
Credits
54,538
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! ;)
 

f33dm3bits

Gold Member
Gold Supporter
Joined
Dec 11, 2019
Messages
4,900
Reaction score
3,527
Credits
35,667
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.
 
OP
wizardfromoz

wizardfromoz

Administrator
Staff member
Gold Supporter
Joined
Apr 30, 2017
Messages
7,524
Reaction score
6,363
Credits
26,652
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
 

Vrai

Well-Known Member
Joined
Mar 16, 2019
Messages
1,060
Reaction score
999
Credits
4,055
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! :)
 
OP
wizardfromoz

wizardfromoz

Administrator
Staff member
Gold Supporter
Joined
Apr 30, 2017
Messages
7,524
Reaction score
6,363
Credits
26,652
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
 

NORD

Well-Known Member
Joined
Jan 4, 2019
Messages
376
Reaction score
292
Credits
1,926
what does one do with so many distro?
 
OP
wizardfromoz

wizardfromoz

Administrator
Staff member
Gold Supporter
Joined
Apr 30, 2017
Messages
7,524
Reaction score
6,363
Credits
26,652
Keep busy?
 
OP
wizardfromoz

wizardfromoz

Administrator
Staff member
Gold Supporter
Joined
Apr 30, 2017
Messages
7,524
Reaction score
6,363
Credits
26,652
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
 

dos2unix

Well-Known Member
Joined
May 3, 2019
Messages
1,474
Reaction score
1,078
Credits
9,177
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.
 
OP
wizardfromoz

wizardfromoz

Administrator
Staff member
Gold Supporter
Joined
Apr 30, 2017
Messages
7,524
Reaction score
6,363
Credits
26,652
OP
wizardfromoz

wizardfromoz

Administrator
Staff member
Gold Supporter
Joined
Apr 30, 2017
Messages
7,524
Reaction score
6,363
Credits
26,652
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            = "@[email protected]"
    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
 
OP
wizardfromoz

wizardfromoz

Administrator
Staff member
Gold Supporter
Joined
Apr 30, 2017
Messages
7,524
Reaction score
6,363
Credits
26,652

NORD

Well-Known Member
Joined
Jan 4, 2019
Messages
376
Reaction score
292
Credits
1,926
I see the light
 
$100 Digital Ocean Credit
Get a free VM to test out Linux!

Linux.org Hosting Donations
Consider making a donation

Members online


Top