Plymouth begone

As mentioned in a recent post, I have uninstalled plymouth from some of my system.  It is still there on my main desktop, but I’ll remove it there, too, before I next reboot.

What is plymouth

Plymouth is the software that provides the graphic splash screen during startup and shutdown.  For opensuse 12.3, it slowly fades in the opensuse wallpaper background.  It also handles the prompting for the encryption key for any encrypted partition.  Plymouth is also activated during shutdown, where it presents a gradual fadeout of the opensuse background.

Opensuse began using plymouth with release 12.2.  Before that, there was a static splash screen, with a superimposed progress bar.  The plymouth screen certainly looks a lot nicer.  And it handles the crypto prompting quite well.  Plymouth is started from the “initrd” (initial ram disk) so that it can be in use before the file systems are mounted.  And it continues right up until the graphic desktop is started.

Prompting for an encryption key might be initiated from the “initrd” if the root file system is part of an encrypted LVM.  Or it might be initiated later if “/home” is the first encrypted file system to be mounted.  Plymouth remembers what key was entered on the first request, and tries that key again for later encrypted file systems.  So if all file systems use the same key, there is only one prompt.

Why remove plymouth?

I have never liked splash screens.  I like to see the raw messages displayed on the screen during startup.  They give me an idea of whether things are going normally, or whether there might be problem.  In opensuse releases up to 12.1, I usually modified the boot command to disable the use of a splash screen.

With 12.2 and 12.3, I had left plymouth there until now, though I had considered removing it.  Since I test beta releases, I considered plymouth to be part of what I was testing.  However, my hand was forced recently, when I ran out of space in “/boot” (as previously posted).  The software and data for plymouth add around 20M to the “initrd” file.  So removing plymouth looked like a good way to solve my space problem for “/boot” while also removing the annoyance of a splash screen hiding all of those boot messages.

How to remove

In order to remove plymouth, I started Yast software management.  There, I did a search for “plymouth”.  And then I marked the first of the plymouth libraries (the first listed) for removal.  A conflict resolution window popped up, mentioning 8 packages that depended on that library.  I accepted the choice to also uninstall those.  All but one of those packages were obviously part of plymouth.  The other one, “suspend”, also turns out to be part of the plymouth suite.

Clicking “accept” I allowed Yast to go ahead and remove them.  The removal was fast — too fast.  It did not automatically rebuild the “initrd”.  So I did that (as root) from the command line, by running “mkinitrd”.

I then rebooted, to test that all was well.  And it was nice to see those messages appearing during system startup.

The encryption keys

The first system where I removed plymouth was using an encrypted LVM.  The “mkinitrd” command put the necessary crypto software in the “initrd” so that the LVM is made available for mounting during boot.

I did have a question on what would happen with two or more encrypted partitions.  So I went ahead and removed plymouth on a system that I had setup with encrypted “/home” and encrypted swap.  With plymouth, I was only prompted once for the key on that system.  What remained to be seen was whether I would be prompted twice after removing plymouth.

I followed similar removal steps.  As before, I then ran “mkinitrd”.  The output from “mkinitrd” did not mention LUKS encryption.  That was bad news.  It meant that the prompting for encryption keys would be done later, and I would probably be prompted twice.  To solve this, I edited “/etc/crypttab”.  The last column of each entry is for options.  I entered “initrd” as an option in the lines for both “/home” and “swap”.  This had worked in the past.  However, the current man pages for “crypttab” no longer mention using “initrd” as an option, so I was not sure what would happen.

I ran “mkinitrd” again.  This time the output was reassuring.  It indicated that crypto for both partitions should be handled in the “initrd”.  Then, rebooting as a test, I confirmed that it was working well.  I was prompted only once for the encryption key, and this was followed by messages indicating that both partitions had been unlocked.

Summary

If you like a splash screen to hide the startup messages, then keep plymouth.  If you prefer to see the messages, then I have described how to remove plymouth.

Advertisements

Tags: , ,

About Neil Rickert

Mathematician and computer scientist who dabbles in cognitive science.

9 responses to “Plymouth begone”

  1. dna says :

    I recently installed a Linux distribution(Opensuse 12.3) on a 3,1 MacBook. I changed all the *-background-* and logo-* images, in /usr/share/plymouth/themes/openSUSE, to transparent blank images, with the same file name, in an attempt to remove the Opensuse logo and its black background from my startup and shutdown screens.

    My startup and shutdown screens still display the Opensuse logo and its black background, despite numerous reboots. Are those images “cached” in /tmp, or another location, or am I removing the wrong images? I also, previously, replaced similar images in /usr/share/backgrounds/grow, although I have reversed that now, but failed to achieve the desired results. What am I doing wrong with regard to changing the aforementioned images to prevent the Opensuse logo and black background from displaying at startup and shutdown?

    Does plymouth have a “textmode” option I can choose that will allow me to see the “raw messages” during startup, and remove the graphic Opensuse logo and black blank screen during startup and shutdown; essentially, a “textmode” that will allow me to achieve results exactly identical to those you achieved by removing plymouth and “suspend”?

    If I had a choice I would choose a white blank screen, or another much lighter color, during startup and shutdown, instead of a black one.

    I was in the process of removing the 9 plymouth items, as you indicated, here, but I aborted when warned that the suspend package would be broken as a result. I want my computer(macbook) to still be able to suspend, hibernate, etcetera. Will removing the suspend package remove my computer’s ability to do so?

    I found your article, here, as a result of Internet searches.

    I am using the gnome desktop, because it seems far simpler, more intuitive, than the kde dekstop, to me, and it also appeared that screen “effects” in kde were, likely, more “resource and cpu intensive”.

    3.7.10-1.1-desktop installed from DVD after downloading 4.7GB .iso

    Like

    • Neil Rickert says :

      I just tested. I can suspend and recover from suspend without a problem.

      I can hibernate, but I cannot recover from hibernation. However, I think that is unrelated to my removal of plymouth. From the screen messages, it looks as if it is attempting to recover from hibernation before asking for the encryption key for my encrypted swap.

      I don’t normally use hibernation, so I had not previously noticed that.

      As far as I know, the “suspend” package has to do with special aspects of suspend/hibernate that apply when plymouth is in use. The “pm-utils” package handles normal suspend/hibernate. If you google “plymouth suspend” (without the quotes) you will find some references.

      My startup and shutdown screens still display the Opensuse logo and its black background, despite numerous reboots.

      I think there’s a way to change the boot splash, but I have never tried. The graphic is stored in the “initrd”. If you look for the logs of the last “mkinitrd”, that might provide a hint as to where they come from.

      Does plymouth have a “textmode” option I can choose that will allow me to see the “raw messages” during startup, and remove the graphic Opensuse logo and black blank screen during startup and shutdown; essentially, a “textmode” that will allow me to achieve results exactly identical to those you achieved by removing plymouth and “suspend”?

      You can hit ESC during boot. I’m not sure what happens if you change the grub boot line, and replace “silent” with “verbose”. I experimented with that while testing 12.2 and 12.3 milestone releases, and it interfered with the prompting for crypto keys. So I haven’t tried that since. Removing plymouth is more satisfactory.

      I am using the gnome desktop, because it seems far simpler, more intuitive, than the kde dekstop, to me, and it also appeared that screen “effects” in kde were, likely, more “resource and cpu intensive”.

      I turn off desktop effects in KDE. Yes, KDE is a lot more complex than I need. I probably could use “icewm”. Apart from that the choice of desktop is a matter of personal taste. I used Gnome for several years, until it became harder to use the way that I like. For me KDE is a better fit.

      Like

  2. dna says :

    I have not uninstalled the 9 plymouth packages and the suspend package, yet, but I am considering doing so and I definitely want to do so. I do not like splash screens, either; to me it seems like the boot process is much longer because of them, especially on my cellphone. I guess my Opensuse 12.3 installation will no more automatically rebuild the “initrd” than yours; so, will running “mkinitrd”, immediately after removing the aforementioned packages and before rebooting, rebuild the “initrd” for me if I type “mkinitrd”, without the quotes, at a Terminal-Super User Mode prompt? I do not need to be in a specific directory to successfully run “mkinitrd”, do I? As far as you know, what is the worst that can happen if I, somehow, do not run “mkinitrd” before rebooting the computer?

    I usually work from a “Standard”, restricted, user account; so, unless you suggest otherwise, I would do this from my usual “Standard” Opensuse account.

    Like

    • Neil Rickert says :

      Yes, “mkinitrd” will rebuild the “initrd”.

      You will have to run that as root (or maybe with “sudo”).

      I’m not sure what happens without. Plymouth would still be in the mkinitrd, but the transfer from plymouth to systemd might not be smooth. It’s best not to try that.

      Like

      • dna says :

        In your experience, does your Opensuse 12.3 installation boot to the login menu faster with plymouth uninstalled? I am curious, but, even if it does not, I would rather look at the “raw messages”, or a blank white screen, while the boot process progresses, rather than the software company’s logo. Even a progress bar might, potentially, be acceptable, for me, but I guess it really comes down to the fact that I see no utilitarian value, as an end user, in splash screens at all. I guess that is not surprising considering I have been known to, very politely, ask telephone representatives if they could turn off the “hold music”, while they have me waiting on the telephone.

        Like

        • Neil Rickert says :

          The bootup speed seems to be about the same. I haven’t timed it, but it still seems to be too slow for my liking. And I had thought that systemd was supposed to speed things up.

          Even a progress bar might, potentially, be acceptable, for me, but I guess it really comes down to the fact that I see no utilitarian value, as an end user, in splash screens at all.

          I think the slow fade-in of the spash screen is supposed to be the equivalent of a progress bar. But I agree with you – I don’t see any benefit to splash screens. Without them, I can now see the “fsck” output, reassuring me that all is well with the file systems.

          Like

          • dna says :

            Well, I used systemd-analyze after a regular boot and after an esc boot in an attempt to get an idea of how much faster, hopefully, my Opensuse 12.3 installation would boot with plymouth uninstalled, but I may not be pressing esc at the right time, I may be holding the key down too long, or both. I guess plymouth may need to be truly uninstalled to accurately gauge the difference, if any.

            Like

  3. dna says :

    Using your instructions, here, I was able to remove plymouth; thankyou for the excellent instructions. I was also able to replace various images to get the background/wallpaper of the 2 gui-like screens that appear during the Opensuse 12.3 boot process to look the way I want. The background for the first screen that appears during the boot process I changed to blue and the background for the login screen, itself, I changed to white.

    http://is.gd/bluebackground
    http://is.gd/whitebackground

    Like

  4. uni says :

    Thank you!
    Just removed plymouth in my OpenSUSE 12.3
    Boot time now near 7 seconds, instead of 20.

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: