Page MenuHomeLubuntu Development

Theme GRUB
Open, LowPublic

Description

Ubuntu MATE and Ubuntu Studio both have GRUB themes. It wouldn't be too complicated to have our own as well.

They should be there for both EFI and BIOS, because those are in two separate subdirectories.

Details

Differential Revisions
D45: Added lubuntu-grub-theme

Event Timeline

tsimonq2 triaged this task as Low priority.Mar 30 2019, 3:02 PM
tsimonq2 created this task.
wxl added a subscriber: wxl.May 21 2019, 12:52 PM

Looks like MATE no longer installs the theme by default because it's problematic with some hardware it seems. Curious.

Whoops! My bad I thought you had claimed this task @wxl Sorry for the message on telegram. I had recieved the email notif and I was in a hurry so didn't read properly. My bad. Really sorry. I will complete the task asap. Really sorry again!

The_LoudSpeaker added a comment.EditedMay 22 2019, 5:22 AM
In T30#1180, @wxl wrote:

Looks like MATE no longer installs the theme by default because it's problematic with some hardware it seems. Curious.

Soo, should we theme grub or not?

Hey! I have a first draft of the theme ready. Where should I upload it? So that you guys can also test it?

This comment was removed by The_LoudSpeaker.
wxl added a comment.Jun 2 2019, 11:58 PM

BTW here's some stuff from the previous version of this bug:

Original description:

So our ISOLINUX boot screen (what pops up for BIOS) looks nice. Plain old GRUB screen for EFI. It seems that no flavors are really doing anything with theming on their images and I don't know why. I'm especially irked as to why MATE isn't using it as they have grub2-themes-ubuntu-mate.

tsimonq2:

This needs some further investigation but assuming there are no complications, we should JFDI.

me:

I booted the Cosmic ISO in EFI mode and didn't see it. Perhaps they only use it on the installed system, since it's GRUB that boots all the installs.

tsimonq2:

You know I think a lot of people are not aware of the fact that there are two different bootloaders being used depending on the firmware interface used. That may simply be an oversight.

tsimonq2:

I just clarified with Martin Wimpress that no such thing has been done for EFI yet. He also mentioned flickerless boot, maybe we can look into that too.

wxl added a comment.Jun 29 2019, 6:40 PM

Niiiiiiice. So that's in VirtualBox. I'd like to see what it's like on real hardware, various different graphic cards, etc.

To install, download the zip and unzip it somewhere then:

$ sudo mkdir -p /boot/grub/themes
$ sudo mv /path/to/lubuntu-default-theme /boot/grub/themes/
$ sudo edit /etc/default/grub # add the line "GRUB_THEME=/boot/grub/themes/lubuntu-default-theme/theme.txt" and maybe change "GRUB_TIMEOUT=5" so you can see it at boot
$ sudo update-grub
$ sudo shutdown -r now
guiverc added a subscriber: guiverc.EditedJun 29 2019, 11:47 PM

tested on machine (specs), arch, bios|eufi, host (lubuntu)

hp dx6120mt (mini-tower, pentium 4 dual core, 3gb, winfast clone of nvidia 7600gt), x86, bios, 19.04

dell [optiplex] 755 (c2d-e6850, 5gb, amd/ati radeon rv516/x1300/x1550), x86_64, bios, 18.04
dell [optiplex] 780 (c2q-q9400, 8gb, amd/ati cedar radeon hd 5000/6000/7350/8350), x86_64, bios, 19.10
dell [optiplex] 960 (c2q-q9400, 8gb, amd/ati cedar radeon hd 5000/6000/7350/8350), x86_64, bios, 19.10

sony vaio ultrabook (i5-9400u, 4gb, intel haswell-ULT), x86_64, uefi, 19.10

photo of how it appears on hp dx6120 (x86) can be seen via https://photos.google.com/share/AF1QipP_2D6xblesems47ZC6hvdebMuDGNi6bAApA5ZJAOPXeXrJqxrjaaZjFwIw2bAmtg?key=V3ZhUWN2dlJSQnctaTh4bEtOSVZZREk4ajdnU0Jn

Thanks @guiverc ! Can you share the information about resolution of the hp dx6120 screen?

From what I can see all are set gfxmode=auto (in /boot/grub/grub.cfg) with #GRUB_GFXMODE= lines all commented out in /etc/default/grub which I believe to be defaults.

The hp dx6120 (x86) & d780 have 3:4 screens, d960 (16:9), d755 (16:10) & vaio (16:9), but in all tested systems the screens looked about the same - all showing 5 options with differences being width [of screen] & the scroll-bar (not showing at all for vaio having only lubuntu 19.10 installed, large-scroll-bar-indicator for d755 as 5/7 (ie. 5 shown of 7 total) fit, dx6120 is 5/many so it's indicator was much smaller. The dx6120 has 3 hdd's each with multiple test installs (thus it's small scroll bar to right of photo). In each case the screen looked neat, operated & was very appropriate for use.

My photo doesn't show the whole screen, I concentrated on menu-text so apologies if you wanted whole screen for full dimensions. *I didn't test on thinkpad t43; it has something I need to fix first it turns out*

Noice. Timeout bar working fine in each case? I think on screens with 3:4 ratio, it might be overlapping the central list. It kinda just remained at the bottom edge for me in a vm. here's the image

wxl added a comment.Jun 30 2019, 12:57 AM

Do you not see the hummingbird logo next to your selected option, @guiverc ? I don't see it in the pic.

@wxl he doesn't see it coz I have added icon only for lubuntu and not for ubuntu. His entry is named as "Ubuntu" not "Lubuntu" as compared to your and my case. Should I add an icon for ubuntu also?

guiverc added a comment.EditedJun 30 2019, 1:14 AM

I didn't notice the humming bird logo on any sorry; looking back on it's there for vaio (uefi), but not on bios d755, d780 or dx6120 (I didn't look on d960 as I'm using it!), but Yes I do have multiple installs of *nix on all except vaio (d755 has ubuntu & opensuse leap; others have multiple versions of Ubuntu).

@guiverc whenever you are free and have a single lubuntu Installed bios system, check for the logo, it should be there.

Also, @kc2bez we will be waiting for your test results. No hurry tho, do it whenever you have time.

I made it so d755 doesn't see opensuse during update-grub (easy; it only seems to see it if btrfs partition is mounted) & re-ran update-grub and rebooted. Options are Ubuntu, Advanced.., Memtest, Memtest.., wNT/2000/xp alas no bird-logo is there

Hmmm. 🤔 I don't know why grub is creating the entry named "Ubuntu" for you when you have lubuntu installed.

From where did you run 'grub-update' ? I mean from opensuse or from lubuntu?

guiverc added a comment.EditedJun 30 2019, 1:59 AM

Lubuntu 18.04 owns the MBR so it's run in lubuntu at term (sudo update-grub)..

I'm playing on my [thinkpad] sl510 currently (single *buntu 18.04 installed, however it has Xubuntu's XFCE, Mate & ubuntu's gnome desktop installed, not just lubuntu's LXDE). It ended up showing only 3 lines of options, but called it Ubuntu so no bird-logo :(

I'm adding this here as unlikely of value, but will record it (didn't have time earlier). On the d780 box I booted 19.10, mounted the other *buntu partitions & renamed [mv] their /boot to /blah. I then sudo update-grub. The messages that followed showed only memtest images & nothing more, so I rebooted. The grub as booted did not include the bird-logo, offering Ubuntu, Advanced.. & two memtest options. I booted 19.10 & ran update-grub again to re-try, but this time it showed a message for 18.10 so maybe this test-idea was flawed. I mounted partitions & there are hanging-links in / pointing to /boot/.. I aim to continue tomorrow.

Single Installations from 19.04 on wards definitely make entry as "lubuntu". Does 18.04 makes entry as "ubuntu" @wxl ?

Hmmm. 🤔 I don't know why grub is creating the entry named "Ubuntu" for you when you have lubuntu installed.

Because 18.10+ uses Calamares as installer, which is, in my opinion, configured wrongly.

With Calamares, the variable GRUB_DISTRIBUTOR is hardcoded. When you upgrade 18.10 to 19.04, your Grub menuentry will still be "Lubuntu 18.10".

18.04 sets the variable in /etc/default/grub to

GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`

whereas the variable in 18.10 and newer is coming from https://phab.lubuntu.me/source/calamares-settings-ubuntu/browse/master/lubuntu/branding/lubuntu/branding.desc => bootloaderEntryName.

@wxl @tsimonq2 I guess, a new task is needed for this?

Ah, indeed. I didn't even think that would be a problem, huh.

Please file a separate task.

How does this look:

wxl added a comment.Jul 4 2019, 4:10 PM

Love it!

I agree, it looks great!

Please do replace the logo next to the entry though, it should be our logo

I did not know grub could look that good.

kc2bez added a comment.Jul 4 2019, 5:44 PM

That looks very nice!

Updated the theme, everyone who's testing please check.

guiverc added a comment.EditedJul 6 2019, 9:11 PM

Tested on vaio (uefi) & looks good. (for some reason it's grub is reporting 19.04; a qa-test 19.10 install pre-release and I don't know why, but it's my only uefi box and I hadn't noticed this before).

Tested on d960 & d780 (both bios; dell optiplex) & looks good. Neither had the logo on the selector line, but I'd been unable to get the logo to appear on d780 even with only a single OS [19.10] appearing in grub (the d960 has 18.04 & 19.10, d780 has 19.04 & 19.10)

Additional info added here:
https://photos.app.goo.gl/xJyt4qrKEk5H6nF17 (close up of d780)
https://photos.app.goo.gl/zzAAsX1PsDApPtbM7 (d780, both displays)

On the photos (d780) the first Ubuntu was installed Apr-17 (ie. probably 19.04 checklist install), however the second listed as Ubuntu Eoan Ermine was a Lubuntu QA-test of 19.10 installed July-6-2019 ie. only days ago according to details in /var/log/installer/).

Note: I would have expected it to be recognized as Lubuntu; but I'll have added packages (nfs-common, aptitude, every wallpaper deb) that maybe cause it to be recognized as Ubuntu rather than Lubuntu; but I suspect it's not your issue; I haven't worked out why. Maybe it's time for a new zsync & install & look before I add wallpapers for all flavors..

The_LoudSpeaker added a comment.EditedJul 6 2019, 9:59 PM

@guiverc The viao showing up 19.04 is mostly because you must have updated from 19.04 to 19.10. same is the case with me.

About d960 and d780 not showing logos, it's probably due to the fact that they have multiple OS Installed and entries are named as "ubuntu 18.04" and "ubuntu 19.10" ; "ubuntu 19.04" and "Ubuntu 19.10" in your d960 and d780 respectively.

Any entry with "Lubuntu" in it's name should make the icon show up.

Also, could you please take photos of the theme on one of the bios systems using your phone and upload them here, I would really like to see how theme looks in bios as I have only a uefi system.

wxl added a comment.Jul 6 2019, 11:01 PM

In little 640x480 VirtualBox, the big logo looks scrunched and the Hummingbird is a bit pixelated.

Yup! I have been noticing it since day 1. That's why I wanted to see how it looks on actual hardware in bios. What's the default resolution on actual hardware in bios?
Idk why the icon is looking pixelated, I have used the one with maximum pixel size 512x512. If smaller are used, they do not look as much detailed in larger screens.
About top logo being scrunched, it is because, it's a part of the background. There is nothing like "Title-logo" which could point to the logo file. So I had to paste it over earlier background.

@guiverc Update /etc/default/grub

/etc/default/grub
#GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_DISTRIBUTOR='Lubuntu'

and sudo update-grub.

With changes made as requested by @apt-ghetto - fyi: d780 & I stopped timer to find my phone

@The_LoudSpeaker as requested via irc

^ d780 with modified /etc/default/grub as suggested by apt-ghetto (forcing Lubuntu) causing bird-logo to appear
^ another from d780 which has 4:3 displays (Lubuntu 19.10)
the d780 only has Lubuntu installed but 19.10 & 19.04
however I didn't see a change; at one point 5 lines appeared in menu where as now it's 4
^ a d755 (dell optiplex) where Lubuntu 18.04 LTS owns grub with 16:10 display; no changes were made to this box so it's recognized as Ubuntu only.
(I haven't rebooted my main d960 which has 16:9 displays; if you want to see it let me know)

@guiverc Thanks! The d755 with 16:10 display looks decent. But there isn't much change on d780 with 4:3 displays. But it's okay. Nothing much I can do.

@kc2bez can you check if it has improved on your system?

Also, anyone has a 4k screen? I don't have so can't test but I wanted to see how the background stretches on it. Would need a uefi system on it.

@The_LoudSpeaker

1280x800 (16:10) j3400 ; host 18.04 LTS but I didn't change GRUB_DISTRIBUTOR line so no logo

@guiverc Thanks!
@wxl Imo this is the best we have, in terms of resolution.
I can add fonts if you want me to.

wxl added a comment.Jul 15 2019, 12:43 PM

Sounds like we're done. @tsimonq2 can you find the right place to put this, please?

https://launchpad.net/~theloudspeaker/+archive/ubuntu/lubuntu-grub-theme-devel

Test it ploxx.

P.S.: Only amd64 systems as of now. Will build for all in the afternoon.

guiverc added a comment.EditedAug 10 2019, 3:56 AM

On hp dx6120 using Lubuntu 19.04 x86

where grub only recognized the system as Ubuntu. Screen 3:4 1280x1024
(I don't have 19.10 on a x86)

On d780 (dell optiplex 780) Lubuntu 19.10 where the bird displayed as it was recognized as Lubuntu (two display 1280x1024 3:4)


Installed on my primary d960 (dell optiplex 960) 19.10 x86_64 where grub recognizes my system only as Ubuntu (two displays 1920x1080 16:9)

On all it was perfectly readable (which won't be evident with my phone-photo-skillset)
I added PPA but it didn't find package, sorry I opted to wget & dpkg -i rather than work out why right now
-rw-rw-r-- 1 guiverc guiverc 162K Aug 10 17:30 lubuntu-grub-theme_1.0-1_amd64.deb
-rw-rw-r-- 1 guiverc guiverc 162K Aug 10 17:30 lubuntu-grub-theme_1.0-1_i386.deb

Added to Lubuntu 18.04 LTS x86_64 (d755) using 1680x1050 16:10 display, this box again only detects system as Ubuntu (

@guiverc thanks for testing.
About not finding package, I am not sure I understand what happened. But I just upgraded a vm from 19.04 to 19.10 and Installed the ppa and was able to use sudo apt install lubuntu-grub-theme.
Maybe you tried adding the ppa to a 19.04 system.
In dch. I have set eoan.

In the /etc/default/grub,
GRUB_TIMEOUT_STYLE is set to 'hidden' by default for new installations if only lubuntu is installed and not dual booted.
This makes grub to not show up in single installation systems. Thus, not showing the theme. It should be changed to menu or be unset. I don't know which task this comes under. Maybe cala settings? @wxl @kc2bez @hmollercl any inputs?

The default, and therefore expected, behaviour is, that the Grub menu is only shown with several installed operating systems. It would make some users angry, if they would see the Grub menu and wait 3, 5, 10 seconds until it boots. Why should there be a Grub menu, if you only have one operating system?

Changing the file /etc/default/grub will lead to other problems, because this file is not under our control. The Ubuntu maintainers of Grub can and will make changes and the user can select to keep the current (changed) version or take the version provided by the package. We cannot expect from the user, that the user is able to handle this (correctly).

I would not change the configuration file.

In my opinion, it should be on our ISO, so that users see it, when they boot the live-system. But I am not sure, if this should be part of the official Lubuntu installation (less is more, keep it simple and stupid) or as an optional package, that users can install, if they like it.

Ideally, there is also a manual page for this.
And it should be also promoted in the release notes/social media/etc.

That seems fair. Okay. So we do not change the grub config file.
To include the theme in live usb where do we put it?

I have an idea, Currently, the postinst file of the package modifies the /etc/default/grub but I will modify it tonight so that it creates a new script under /etc/default/grub.d/ and then test it. If it works, there will be no need to make any changes to rARTWORK or rDEFAULTSETTINGS. Just install the package like any other package. (Even during installation of lubuntu) and all will be done.

Is this task resolved or is there still something to do?

@apt-ghetto The theme still doesn't get installed by default. So we are waiting for that. I guess it's not yet in the seed.
I will try to add now.