Plymouth
Appearance
Plymouth 是一个源自 Fedora 的项目,现已列入 freedesktop.org 官方资源;它旨在提供无闪烁的图形化启动过程。该项目利用 内核模式设置 (KMS) 尽早设定显示器的原生分辨率,随后呈现美观的启动画面,直至进入登录管理器。
准备工作
Plymouth 主要使用 KMS 来显示图形,但在 UEFI 系统上,它也可以利用 EFI 帧缓冲区。
如果没有 KMS 或帧缓冲(framebuffer),Plymouth 将回退到文本模式。[1]
安装
基础配置
{
boot = {
plymouth = {
enable = true;
};
# Enable "Silent boot"
consoleLogLevel = 3;
initrd.verbose = false;
kernelParams = [
"quiet"
"rd.udev.log_level=3"
"rd.systemd.show_status=auto"
];
# Hide the OS choice for bootloaders.
# It's still possible to open the bootloader list by pressing any key
# It will just not appear on screen unless a key is pressed
loader.timeout = 0;
};
}
配置
改变主题
Plymouth 附带了一系列主题:
- BGRT: Spinner 的变体,若可用则保留 OEM 徽标(BGRT 代表 Boot Graphics Resource Table,即启动图形资源表)
- Fade-in: “简约主题,伴随闪烁星光进行淡入淡出效果”
- Glow: “商务风格主题,包含饼图形式的启动进度显示,随后呈现发光的浮现徽标”
- Script: “脚本示例插件”(尽管描述如此,但这实际上是一个相当不错的 Arch 徽标主题)
- Solar: “太空主题,包含一颗剧烈耀斑喷发的蓝色恒星”
- Spinner: “简约主题,包含一个加载旋转动画”
- Spinfinity: “简约主题,在屏幕中央显示一个旋转的无穷大符号”
- Tribar: “文本模式主题,包含三色进度条”
- Text: “文本模式主题,包含三色进度条”
- Details: “显示详细信息的备用主题”
NixOS 将默认主题设置为 bgrt[2]。您可以使用 `boot.plymouth.theme` 更改主题:
{
boot = {
plymouth = {
enable = true;
theme = "solar";
};
};
}
安装新主题
例如,您可以通过以下代码使用 adi1090x 的合集 中的启动动画:
❄︎ configuration.nix
{ pkgs, ... }: {
boot = {
plymouth = {
enable = true;
theme = "rings";
themePackages = with pkgs; [
# 默认情况下,我们会安装所有主题。
(adi1090x-plymouth-themes.override {
selected_themes = [ "rings" ];
})
];
};
# 启用“静默启动”
consoleLogLevel = 3;
initrd.verbose = false;
kernelParams = [
"quiet"
"rd.udev.log_level=3"
"rd.systemd.show_status=auto"
];
# 隐藏引导加载程序的操作系统选择选项。
# 仍然可以通过按任意键打开引导加载程序列表。
# 除非按下某个键,否则它不会显示在屏幕上。
loader.timeout = 0;
};
}
HiDPI
编辑配置文件:
{
boot = {
plymouth = {
enable = true;
extraConfig = ''
[Daemon]
DeviceScale=an-integer-scaling-factor
'';
};
};
}
提示和技巧
显示启动信息
在图形化引导过程中,可以通过按下 Esc 键在文本模式与图形模式之间切换。
故障排除
LUKS 加密
如果您使用 LUKS 加密,密码提示可能会回退到文本模式。虽然默认的 bgrt 主题支持图形化密码输入,但并非所有主题都支持此功能。