无法在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 is already the newest version (0.9.2-3ubuntu13.1). 当我运行sudo apt-get install plymouth另外,我在VirtualBox上运行Ubuntu,所以它没有使用专有驱动程序。 分辨率,一切都很好。 我甚至不知道W: plymouth module "(/usr/lib/i386-linux-gnu/plymouth//.so)" missing, skipping that theme. 是问题的原因,但我猜是这样的。 我遵循所有步骤,就是在initramfs -u ,我得到这个错误,然后它返回到旧的启动画面。

我也遇到过这个问题,这是我修复它的方法。

问题的基础

简而言之,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徽标主题。

修理东西

我发现简单地手动执行它很方便,而且由于你熟悉Ubuntu,我将专注于描述方法,而不是让它像剪切和粘贴一样。

使用apt-get部分初始化正确

运行以下命令,该命令不仅会将许多新主题安装到正确的位置,还会修复现在不正确的更新替代方案。

 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  /usr/share/plymouth/themes 

修复旧主题

旧主题是自引用的,因为.plymouth主题文件包含对主题安装目录的引用。 将这些引用更改为正确的引用(例如vi /usr/share/plymouth/themes/orb/orb.plymouth ,然后用/usr/share/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

这使我们可以访问更多的主题选择,我认为这个主题是最好的。

我也偶然发现W: plymouth module "(/usr/lib/i386-linux-gnu/plymouth//.so)" missing, skipping that theme.

我复制了当前的主题,在我的情况下, ubuntu-gnome-logo定制并安装了它。

确保主题中的.grub.plymouth.script文件与主题文件夹具有相同的名称。 正确重命名文件后,错误消息消失,自定义初始屏幕按预期显示。

如果您已经关注@wateim并且仍然收到错误W: plymouth module "(/usr/lib/i386-linux-gnu/plymouth//.so)" missing, skipping that theme. 那么很可能主题是旧的。 新的主题惯例略有不同

  • 主题目录名称应与Plymouth文件名匹配。 例如:如果目录名是aurora-penguinis,则普利茅斯文件名应为aurora-penguinis.plymouth
  • 将普利茅斯文件中的ImageDir和ScriptFile更改为新的基本位置(/ usr / share / plymouth / themes /)

做这些改变。 它应该工作:)如果你想重新开始,请查看我的博客文章 。 它与@wateim几乎相同,但略有修改(适用于Ubuntu 16.04+)

发生此错误是因为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