Negative value for GRUB_TIMEOUT= KILLS KDE neon User Edition

I run KDE neon User Edition in an Oracle Virtualbox VM on my iMac (4 GHz Quad-Core Intel Core i7). When installed, the default values for GRUB_TIMEOUT_STYLE= is hidden and for GRUB_TIMEOUT= is 0. I always want to see the Grub Menu, and I always want unlimited time to select what from the menu, so I always edit /etc/default/grub to reflect GRUB_TIMEOUT_STYLE=menu and GRUB_TIMEOUT=-1 (or “-1” as I do on my Kubuntu 23.10 on my HP laptop). On my laptop, this works without issue. I’m presented with the Grub Menu, and it waits indefinitely until I choose something and hit Enter.

However, making these changes; specifically, changing the value of GRUB_TIMEOUT= to a negative value (-1) or quoting a negative value (“-1”), then shuting down (after updating grub) and relaunching the VM, the Grub Menu is displayed, and I can use the up/down arrow keys in the Menu, but once I select (hit Enter), the VM is killed. I’m presented with a FATAL: Keyboard error:995

I can do nothing except close the VM from the Virtualbox menu.

I’ve ALWAYS made these Grub changes, on all my Buntu based OS’s, and I’ve never had this occur.

Any thoughts as to what is happening?

I’ve had another user test this on his KDE neon Unstable in a VM. Same thing happens to him with a negative value.

Go with 600 for 10 minutes or something crazy like 6000 for just over hour and a half of waiting for it. Surely that would give you enough time before it attempts to boot.

seems like a bug

according to this

a negative 1 value should cause grub to pause indefinably.

Found this: https://www.reddit.com/r/kdeneon/comments/z0vf4h/kde_neon_update_replaced_grub_with_broken_version/

It appears to be the Grub Breeze Theme that causes all the trouble if you change the timeout value.

Originally posted by oshunluvr View Post

Did another test this morning: I went back into the Neon VM and moved /etc/default/grub/99-breeze.theme to a hidden file. Then I changed /etc/default/grub from “hidden” to “menu” and set the timeout at -1. It works as it should - sat on the grub screen until I hit enter. Grub allowed me to move the cursor and select advanced options or memtest.

It is my humble conclusion that the bug does indeed exist but is in the Breeze Theme itself or in the way Grub handles themes. The default grub config (like Kubuntu uses) works with the -1 setting but when the 99-breeze.theme is added in, it does not.

Confirmed.

I made a copy of my working .vdi file – just in case! I launched my VM of KDE neon User Edition, moved the /etc/default/grub/99-breeze.theme to a hidden file, edited /etc/default/grub and changed hidden to menu and the timeout value to -1 and updated grub. Logged out and shutdown and relaunched the VM. Everything works as expected.

So it is in fact, the “Breeze Theme” file: /etc/default/grub/99-breeze.theme; that is at fault here.

so it’s not the breeze theme for KDE, its a grub theme that is causing the issue.

that’s another good reason why distro maintainers should just leave grub the default black and white text and let the users do the breaking.

1 Like