Ubuntu 风味安装程序

Ubuntu 桌面安装程序 是 Ubuntu 风味的起点。

浅色 黑暗
Light Dark

入门

  1. 初始化子模块

    git submodule update --init --recursive
  2. 安装 Subiquity 的依赖项

    make -C packages/subiquity_client/subiquity install_deps
  3. 安装 Flutter

  4. 运行安装程序

    flutter pub get
    flutter run -d linux
    

外观和感觉

桌面安装程序有一个入口点,可以传入在安装向导中显示的发行版名称、所需的发行版特定主题,以及发行版自己的安装幻灯片以及本地化委托。

import 'package:ubuntu_desktop_installer/installer.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:yaru/yaru.dart';

import 'slides.dart';

Future<void> main(List<String> args) {
  return runInstallerApp(
    args,
    flavor: FlavorData(
      name: 'Ubuntu FLAVOR',
      theme: yaruMagentaLight,
      darkTheme: yaruMagentaDark,
      localizationsDelegates: AppLocalizations.localizationsDelegates,
    ),
    slides: [
      firstSlide,
      secondSlide,
      thirdSlide,
    ],
  );
}

FlavorData.themeFlavorData.darkThemeThemeData 实例,分别分配给 MaterialApp.themeMaterialApp.darkTheme。Flutter 根据 平台亮度 选择相应的主题。即使浅色和深色主题可以是任何 Flutter 主题,强烈建议使用 Yaru 主题 之一,其中包含许多发行版的现成变体。这确保了与安装程序中使用的 Yaru 小部件 的良好兼容性。请注意,如果需要,也可以部分自定义现成主题

theme: yaruFooLight.copyWith(
  inputDecorationTheme: InputDecorationTheme(
    // ...
  ),
),

图像资源

徽标和主题预览等图像可以通过在发行版安装程序中创建同名资源来覆盖桌面安装程序中使用的资源。每当桌面安装程序显示图像时,它首先查找应用程序(发行版)资源,如果找不到,则回退到 ubuntu_desktop_installer 中的资源。因此,发行版可以自由选择覆盖部分或全部图像。

安装程序通过遵循旨在方便理解每个图像资源使用位置的约定来组织其图像资源:assets/<page>/<image>。此模板已用紫色变体覆盖了许多原始图像资源。例如

ubuntu-flavor-installer/
└── assets
    ├── choose_your_look
    │   ├── dark-theme.png
    │   └── light-theme.png
    ├── installation_complete
    │   └── logo.png
    └── welcome
        └── logo.svg

所有图像资源都可以在 ubuntu-desktop-installer/assets 中看到。

GitHub

查看 Github