Brighten Up Your Day - GRUB Menu Theming Wizard-style

wizardfromoz

Administrator
Staff member
Gold Supporter
Joined
Apr 30, 2017
Messages
7,301
Reaction score
6,195
Credits
24,899
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,443
Reaction score
1,051
Credits
8,907
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,436
Reaction score
5,711
Credits
51,793
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,776
Reaction score
3,431
Credits
34,774
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,301
Reaction score
6,195
Credits
24,899
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,059
Reaction score
996
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,301
Reaction score
6,195
Credits
24,899
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
 

xXNORDXx

Gold Member
Gold Supporter
Joined
Jan 4, 2019
Messages
337
Reaction score
275
Credits
1,650
what does one do with so many distro?
 
OP
wizardfromoz

wizardfromoz

Administrator
Staff member
Gold Supporter
Joined
Apr 30, 2017
Messages
7,301
Reaction score
6,195
Credits
24,899
Keep busy?
 
OP
wizardfromoz

wizardfromoz

Administrator
Staff member
Gold Supporter
Joined
Apr 30, 2017
Messages
7,301
Reaction score
6,195
Credits
24,899
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,443
Reaction score
1,051
Credits
8,907
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.
 

rado84

Well-Known Member
Joined
Feb 25, 2019
Messages
589
Reaction score
479
Credits
2,999
OP
wizardfromoz

wizardfromoz

Administrator
Staff member
Gold Supporter
Joined
Apr 30, 2017
Messages
7,301
Reaction score
6,195
Credits
24,899
OP
wizardfromoz

wizardfromoz

Administrator
Staff member
Gold Supporter
Joined
Apr 30, 2017
Messages
7,301
Reaction score
6,195
Credits
24,899
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,301
Reaction score
6,195
Credits
24,899

xXNORDXx

Gold Member
Gold Supporter
Joined
Jan 4, 2019
Messages
337
Reaction score
275
Credits
1,650
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