Jump to content

Plymouth

From Official NixOS Wiki
This page is a translated version of the page Plymouth and the translation is 100% complete.

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 附帶了一系列主題:

  1. BGRT: Spinner 的變體,若可用則保留 OEM 徽標(BGRT 代表 Boot Graphics Resource Table,即啟動圖形資源表)
  2. Fade-in: 「簡約主題,伴隨閃爍星光進行淡入淡出效果」
  3. Glow: 「商務風格主題,包含餅圖形式的啟動進度顯示,隨後呈現發光的浮現徽標」
  4. Script: 「腳本示例插件」(儘管描述如此,但這實際上是一個相當不錯的 Arch 徽標主題)
  5. Solar: 「太空主題,包含一顆劇烈耀斑噴發的藍色恆星」
  6. Spinner: 「簡約主題,包含一個加載旋轉動畫」
  7. Spinfinity: 「簡約主題,在屏幕中央顯示一個旋轉的無窮大符號」
  8. Tribar: 「文本模式主題,包含三色進度條」
  9. Text: 「文本模式主題,包含三色進度條」
  10. 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 主題支持圖形化密碼輸入,但並非所有主題都支持此功能。

另見