6

This is something I have noticed happening for a long time now, and I see it in various flavours of Ubuntu. At the moment I happen to be using Ubuntu Studio.

As the system boots past grub, you get a nice graphical Ubuntu Studio animated logo for a while, but then, just before the login screen appears, it drops back to the text console, where you see various things at different times (like system startup logging - as you'd see if you pressed escape while Plymouth is displaying the logo, and even a login prompt at times), but typically it at least shows the filesystem status (as clean usually), then it switches back to graphical mode for the login dialog.

It would look very much neater if it didn't flash the text console on screen like this. I am just wondering why it does this, and would like a fix? I know it's no biggy. I just get curious about odd things :)

Jazz
  • 2,737
  • I'm not familiar with the Ubuntu Studio boot process, but you might find something applicable here: Why does Ubuntu show boot messages when starting up? – steeldriver Jun 20 '18 at 00:49
  • As I said, I see it in various flavours of Ubuntu. At the moment I am using Ubuntu Studio, but it happens in all the flavours I have tried. – Jazz Jun 20 '18 at 03:21
  • The question you provided a link to (thanks for that) also does not provide any suggestions that work. The person posting obviously is seeing exactly what I am seeing, but none of the suggestions work. The 'quiet splash' options are already there, set by the people making the Ubuntu distro. It's just that the initial graphical logo (the splash?) goes away and let's you see the text, before the graphical login program displays it's background and login dialog. – Jazz Jun 20 '18 at 03:25
  • 1
    It sounds like File System check is being run every boot. You can change it to customary every 30 boots / once per month: https://askubuntu.com/questions/383114/my-ubuntu-is-running-fsck-on-every-bootup/853723#853723 – WinEunuuchs2Unix Jun 20 '18 at 10:52
  • I am afraid that's not the point. It shouldn't be showing the text console at all. btw. it is not just the file system check that shows. It shows logged process of the startup - just whatever you might see if you pressed while Plymouth is displaying the logo. The fault is that it should show it, it should go straight to the graphical login prompt without falling back to show the text conaole. – Jazz Jun 20 '18 at 21:53
  • 2
    Probably the best that can be done is to make the kernel as quiet as possible, so that when it does flash, all you see is a black screen. – muru Jun 25 '18 at 02:34
  • 1
    The only reason to press Escape during Plymouth is to see the startup messages. Pressing Escape during Plymouth will not make the machine boot faster nor bring the login screen up quicker. As muru's link indicates my screen goes black after Plymouth and before Login screen because of the first five options in my kernel boot parameter list: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash loglevel=0 vga=current udev.log-priority=3 fastboot kaslr acpiphp.disable=1 i915.enable_guc_loading=1 i915.enable_guc_submission=1" – WinEunuuchs2Unix Jun 25 '18 at 04:33
  • I am not pressing esc, but thanks for the example grub command. I believe by default, they only have "quiet splash" I will research the others. – Jazz Jun 25 '18 at 06:20
  • Thanks also muru for the link to the quiet boot page. I am reading that now. – Jazz Jun 25 '18 at 06:23
  • OK, I think I have included the relevent parameters. Now I have "quiet splash loglevel=0 vga=current udev.log_priority=3" However, I see zero effect on the problem – Jazz Jun 25 '18 at 07:03
  • 1
    18.04 transition is twice as good as 16.04. I'm researching why. The best transition happens with Grub to Windows 10. I've made a video of that but need to convert to GIF to fit within Stack Exchange 2 MB limit. I'm also researching Grub "theming" where reportedly you leave splash off but the background image stays up from the theme until login. Finally there is systemd Plymouth service for "smooth transition": https://wiki.archlinux.org/index.php/plymouth#Smooth_transition All this will take awhile... – WinEunuuchs2Unix Jun 27 '18 at 02:04
  • 1
    @Jazz Did you run sudo grub-update since making the proposed changes? – Dawoodjee Jun 27 '18 at 11:30
  • Actually I found sudo update-grub worked better :) Thanks for checking, it would silly if I had forgotten. – Jazz Jun 27 '18 at 23:00
  • @WinEunuuchs2Unix I disable lightdm, and tried "systemctl enable lightdm-plymouth.service" (my system uses lightdm) but it says the service doesn't exist. I then tried to re-enable lightdm but it complained (something about conf didn't exist). Anyway I re-installed lightdm to get my system back to 'normal' – Jazz Jun 27 '18 at 23:26
  • 1
    @Jazzlightdm-plymouth.service is not available in my Ubuntu 16.04. I think my Ubuntu 18.04 might be using it because the transition from Plymouth to login is so much "nicer". I haven't confirmed this yet though. What version of Ubuntu Studio are you using? – WinEunuuchs2Unix Jun 28 '18 at 02:35
  • I am using 18.04 LTS hmmm – Jazz Jun 28 '18 at 02:46
  • @Jazz I tried lightdm-plymouth.service on Ubuntu 16.04 and it crashed an burned to a console login. I had to sudo apt install --reinstall lightdm to repair it too. Although I've posted an answer just now, I'm still researching why Ubuntu 18.04 keeps plymouth up longer than 16.04. I'm also experimenting with /usr/share/plymouth/themes/Tuxkiller2 for a totally graphical grub boot menu with spinner countdown timer. After I intent to update answer with videos of Ubuntu 16.04, Ubuntu 18.04 and Windows 10 booting from grub. – WinEunuuchs2Unix Jun 30 '18 at 15:28

1 Answers1

1

You will always get a black screen between Plymouth and Login, unless you are using Windows 10. For myself in Ubuntu 16.04 it lasts about four seconds. In Ubuntu 18.04 it only lasts 1 or 2 seconds. You can however eliminate all text that appears on that screen.

There are a number of different things you can do for a smoother boot experience:

  1. Reduce console messages
  2. Reduce screen resetting
  3. Eliminate Grub messages
  4. Reduce fsck during boot

I've purchased a tripod for my cellphone to make videos of the various grub booting scenarios but have run into technical difficulties creating GIF to post here.

1. Reduce console messages

Based on Arch Linux's Silent Boot article you can add three extra options after quiet splash boot parameters:

quiet splash loglevel=0 vga=current udev.log-priority=3

The full article references systemd in boot in which case this can be used:

quiet loglevel=3 rd.systemd.show_status=auto rd.udev.log_priority=3
  • Also touch ~/.hushlogin to remove the Last login message.

2. Reduce screen resetting

From this Q&A: What is vt.handoff=7 parameter in grub.cfg? it says:

For a smooth boot process, we want to display something other than a black screen as early as possible and leave it on screen until the desktop is ready. vt.handoff=7 is part of this. We have the boot loader display an aubergine background (we wanted to have an Ubuntu logo as well, but there are problems with different aspect ratios between the boot loader and the real system, so this is the next best thing). vt.handoff=7 then causes the kernel to maintain the current contents of video memory on virtual terminal 7, which is a new "transparent" VT type. The first time that the kernel is told to switch away from VT 7, either from Plymouth or manually (Alt-F1, etc.), these contents are lost and VT 7 reverts to text mode.

If you are grub with a graphics background image add these lines in /etc/default/grub:

GRUB_GFXMODE="1920x1080x32"
GRUB_GFXPAYLOAD_LINUX="keep"

3. Eliminate Grub messages

After selecting a menu option, or the countdown timer expires grub sometimes issues these messages:

Loading Linux %s ..." ${version}
Loading initial ramdisk ...

To eliminate these message edit /etc/grub.d/10_linux and change these lines to comments:

# June 29, 2018 hide Loading Linux message
#  if [ x"$quiet_boot" = x0 ] || [ x"$type" != xsimple ]; then
#    message="$(gettext_printf "Loading Linux %s ..." ${version})"
#    sed "s/^/$submenu_indentation/" << EOF
#   echo    '$(echo "$message" | grub_quote)'
#EOF
#  fi

And a page down these lines too:

# June 29, 2018 hide Loading inital ramdisk message
#    if [ x"$quiet_boot" = x0 ] || [ x"$type" != xsimple ]; then
#      message="$(gettext_printf "Loading initial ramdisk ...")"
#      sed "s/^/$submenu_indentation/" << EOF
#   echo    '$(echo "$message" | grub_quote)'
#EOF
#    fi

4. Reduce fsck during boot

In your /etc/fstab ensure passno is set to 0 to prevent systemd-fsck@.service from running. More details from the manpage.

Change the frequency of fsck to every 30 boots or once a month: My Ubuntu is running fsck on every bootup

  • Thanks for all the effort. As you say, these seem to be all the things we can do to make it better. It has helped me gain an improved understanding of what is happening and why. – Jazz Jun 30 '18 at 22:02
  • @Jazz You're most welcome. It was certainly challenging. There was a great benefit to me though as I now have a nifty graphical grub theme setup with spinning countdown timer, menu icons for Ubuntu and a snazzy grub background. I will update this answer with images later. Of course thank you for the bounty too! – WinEunuuchs2Unix Jun 30 '18 at 22:10