无法在Ubuntu 16.04LTS中使用自定义启动画面。

我从GNOME-Look下载了一个主题,并按照自述文件中的说明进行操作。这不是我第一次尝试安装自定义启动画面了。它告诉我要做某些事情。我按照这个教程的步骤进行操作,最后他告诉我运行sudo update-initramfs -u,而且在当前主题的自述文件中也是如此。问题是,无论我做什么,我总是遇到这个错误:
W: plymouth module "(/usr/lib/i386-linux-gnu/plymouth//.so)" missing, skipping that theme.

承认,我对Ubuntu并不陌生,但绝对不是专家。我现在完全不知道该怎么办。
编辑: 我知道plymouth已经是最新版本(0.9.2-3ubuntu13.1)。当我运行sudo apt-get install plymouth时, 另外,我在VirtualBox上运行Ubuntu,所以它没有使用专有驱动程序。分辨率和一切都很好。我甚至不知道 W: plymouth模块“(/usr/lib/i386-linux-gnu/plymouth//.so)”丢失,跳过该主题是否是问题的原因,但我猜是这样。我按照所有步骤进行操作,就是在initramfs -u处出现了这个错误,然后返回到旧的启动画面。

4可能是替换紫色启动屏幕的可用替代方案有哪些? 的重复问题。请按照这里的指示操作,如果不起作用,请在此问题下留言。 - Mark Kirby
@MarkKirby 谢谢你告诉我这个。我一直在谷歌搜索“W: plymouth模块"(/usr/lib/i386-linux-gnu/plymouth//.so)"丢失,跳过该主题”,但没有找到任何相关结果,所以我决定在这里发帖。我没想到可能是以完全不同的方式发布的。我会检查一下,谢谢! - Ram the Cowy
@MarkKirby嗯,我尝试了你提供的方法,但没有成功。运行sudo update-initramfs -u返回W: plymouth module "(/usr/lib/i386-linux-gnu/plymouth//.so)" missing, skipping that theme.的错误信息。我查看了与解决方案帖子中链接的问题列表,但没有一个能回答我的问题。不行。sudo reboot后,仍然是旧的启动画面。 - Ram the Cowy
4个回答

我也遇到了这个问题,下面是我是如何解决的。
问题的基础
简单来说,Ubuntu 16中的文件布局改变了plymouth主题的位置,从/lib/plymouth/themes变为/usr/share/plymouth/themes,因此所有假设先前布局的主题安装脚本现在都安装到了错误的位置。因此,当update-initramfs运行时,源数据不在它应该在的位置,导致了这个错误。
plymouth module "(/usr/lib/i386-linux-gnu/plymouth//.so)" missing, skipping that theme

由于这个原因,主题没有安装。备用方案是默认的ubuntu logo主题。
修复问题
我发现手动操作很方便,而且你对Ubuntu很熟悉,所以我会重点描述方法,而不是提供复制粘贴的方式。
部分初始化和修正apt-get
运行以下命令,它不仅会将一些新主题安装到正确的位置,还会修复现在不正确的update-alternatives方案。
apt-get install plymouth-themes

运行后,将在/usr/share/plymouth/themes创建一个新的目录结构,其布局与以前的路径完全相同。

迁移旧主题

考虑是否值得迁移每个主题,如果存在重复,则使用已安装的主题。

ls -ltrd /lib/plymouth/themes
ls -ltrd /usr/share/plymouth/themes

迁移到新位置很简单;只需将目录移动,因为每个主题都包含在以主题命名的目录中。
cd /lib/plymouth/themes
mv <theThemeDirectory> /usr/share/plymouth/themes

修复旧主题

旧主题是自我引用的,因为.plymouth主题文件包含对安装主题的目录的引用。将这些引用更改为正确的引用(例如:vi /usr/share/plymouth/themes/orb/orb.plymouth,然后将/lib/plymouth替换为/usr/share/plymouth)。

使用update-alternatives更新列表

以orb示例为基础,使用update-alternatives使主题列表可选择。

update-alternatives --install /usr/share/plymouth/themes/default.plymouth default.plymouth /usr/share/plymouth/themes/orb/orb.plymouth 100

这样做的好处是利用了大多数gnome-look主题中附带的update-plymouth脚本。我会包含这段文字。
#!/bin/bash

echo "Choose the number of the theme you want to use, then [ENTER]"
echo
sudo update-alternatives --config default.plymouth
sudo update-initramfs -u
echo
read -p "Do you want to test the theme? (Y/N) "
if [ "$REPLY" != "n" -a "$REPLY" != "N" ] ; then
 echo
 echo "Running 10-second test..."
 sudo plymouthd ; sudo plymouth --show-splash ; for ((I=0; I<10; I++)); do sleep 1 ; sudo plymouth --update=test$I ; done ; sudo plymouth --quit
fi
exit

运行update-plymouth将允许您选择所需的主题,自动构建新的initramfs并预览它。

额外福利:使用来自deviantart的艺术作品

有了这个知识,我们不必盲目运行安装程序,而是要明白安装新主题只需要以下步骤:
  1. 将主题目录复制到/usr/share/plymouth/themes
  2. 按照上述描述运行update-alternatives
  3. 运行update-plymouth
这样我们就可以访问更多的主题选择,其中我认为这个声音主题是最好的。

真他妈的,这太疯狂了!非常感谢你快速回复,兄弟,我真是喜欢这些论坛。你太棒了。我会尝试你建议的方法,并很快给你回复。我知道Plymouth主题目录不同,但不太确定该怎么办。干杯! - Ram the Cowy
所以让我告诉你这是在哪里。我知道Plymouth主题位置的变化。我将文件夹保留在旧的/lib/plymouth/ubuntu-sunrise中。现在,从解压缩的文件中,我将它移动到/usr/share/plymouth/themes。我已经在/usr下有了Plymouth目录,所以运行apt-get install plymouth-themes给我显示已经是最新版本的消息。我移动了我需要的那个主题。我进入了ubuntu-sunrise.plymouth文件,编辑了两行。甚至在/lib/plymouth/ubuntu-sunrise/ubuntu-sunrise.plymouth中也做了同样的操作。执行了update-alternatives命令。 - Ram the Cowy
然后,为了确保,我运行了update-alternatives --config default.plymouth命令,并确保它被列出。(无论如何,这个主题没有附带一个update-plymouth脚本,所以我不得不手动运行一些东西。)选择了主题。sudo update-initramfs -u,没有出现错误信息(太好了!)。然后我从update-plymouth中复制了你给出的代码行,用于测试启动画面。果然,它起作用了。但是接下来让我困惑的是,我立即运行了sudo reboot,结果又回到了旧的启动画面。糟糕! - Ram the Cowy
嗯,这感觉像是一个不同的问题。如果测试正常工作,那么主题是正确的,并且在正确的位置,initrd应该有它。这些动画在启动过程的后半部分接管,并且需要 grub 有 GRUB_GFXMODE=一些相关值 GRUB_GFXPAYLOAD_LINUX=keep。初始闪屏也似乎是直接由 grub 处理而不是 plymouth。 - waTeim
让我重新尝试整个事情。 - Ram the Cowy
不行,无论怎样都不起作用。 - Ram the Cowy
请注意,“plymouth模块丢失”是一个通用错误。因此,可能有多个根本原因。因此,可能的解决方案可以是:1)检查plymouth文件中的位置路径是否正确;2)目录名称和plymouth文件应该相似(无论大小写)。 - mac
没问题!谢谢。(Ubuntu Gnome 16.04+)我已经在这里添加了相关的信息和更多内容- http://rajeshksv.blogspot.in/2017/02/customize-ubuntu-linux-plymouth-splash.html - mac
你的声音主题还不错,但我更喜欢太空日出主题,尽管现代指南书很难找到。感谢你为大家发布了16.04的指南。+1。 - WinEunuuchs2Unix

如果您已经按照@wateim的答案操作,但仍然出现错误W: plymouth module "(/usr/lib/i386-linux-gnu/plymouth//.so)" missing, skipping that theme.那么很可能是主题过旧。新的主题规范稍有不同。
  • 主题目录名称应与Plymouth文件名称匹配。例如,如果目录名称是aurora-penguinis,则Plymouth文件名称应为aurora-penguinis.plymouth
  • 将Plymouth文件中的ImageDir和ScriptFile更改为新的基本位置(/usr/share/plymouth/themes/)
进行这些更改。应该可以解决问题 :) 如果您想重新开始,请查看我的博客文章。它几乎与@wateim的答案相同,只是稍作修改(在Ubuntu 16.04+上适用)。

将主题移动到 /usr/ 路径后,将主题文件夹重命名为与 .plymouth 名称相匹配的名称对我起到了奇效。 - northern-bradley
文件夹名称与Plymouth文件名匹配的问题正是困扰我的原因。谢谢! - Peterson Silva

我也遇到了一个问题,错误信息是“W: plymouth模块“(/usr/lib/i386-linux-gnu/plymouth//.so)”丢失,跳过该主题。”
我复制了当前的主题,对于我的情况是“ubuntu-gnome-logo”,进行了自定义并安装。
请确保您的主题中的“.grub”、“.plymouth”和“.script”文件与主题文件夹具有相同的名称。在正确重命名文件后,错误消息消失了,并且自定义启动画面按预期显示出来。

这个错误是因为 Plymouth 文件的位置发生了变化。在较旧版本的 Ubuntu 中,它们位于 /lib/plymouth,但现在它们位于 /usr/share/plymouth。你需要重新安装,像这样:
sudo apt-get install --reinstall  plymouth-themes

然后在运行之后,选择一个位于路径/usr/share/plymouth/themes中的主题。
sudo update-alternatives --config default.plymouth

然后为了保存主题,使其在系统运行开始时以此为起点:

sudo update-initramfs -u

你可以执行这个命令来测试:

sudo plymouthd --debug  ; sudo plymouth --show-splash ; for ((I=0;I<10;I++)); do sleep 1 ; sudo plymouth --update=event$I ; done ; sudo plymouth --quit

如果你想要使用旧的主题,那么你需要将它们从旧位置移动,并且编辑带有*.plymouth扩展名的文件,将新路径设置为/usr/share/plymouth/themes/your_you,然后按照以下步骤进行安装:
sudo update-alternatives --install /usr/share/plymouth/themes/default.plymouth default.plymouth /usr/share/plymouth/themes/BootSplash/BootSplash.plymouth 100

然后通过运行选择它:

sudo update-alternatives --config default.plymouth

使用以下步骤启动系统:

sudo update-initramfs -u