Please report any bugs related to Ubuntu Desktop Provision on Launchpad. We use the GitHub issue tracker only for issues related to the development of Ubuntu Desktop Provision itself.
The full configuration guide can be read here.
But the basics are that the UI can be configured using a YAML file that is read from here:
/usr/share/desktop-provision/whitelabel.yaml
The configuration file has the following structure:
# (Optional) Drives overall behaviour for specific provisioners.
#
# Options:
# - standard (default): the common provision flow for Ubuntu Desktop and Flavours
# - oem: enables the eula page and disables the user creation page during bootstrap
# - core-desktop: disables exiting the installer at the end (because there is no
# live session), and only allows to reboot
mode: standard | oem | core-desktop
# (Optional) When set, the light and dark theme is inherited from ubuntu-flutter-plugins and the distro name is set.
#
# Options:
# - budgie
# - cinnamon
# - edubuntu
# - kubuntu
# - kylin
# - lubuntu
# - mate
# - studio
# - unity
# - xubuntu
flavour: <name>
# (Optional) Sets the window's title (e.g. the text in alt|super + tab)
app-name: <string>
# (Optional) Overrides the theme's accent colors (remember the quotes)
theme:
light:
accent-color: <color-hex-code> # i.e. "#ff0011"
elevated-button-color: <color-hex-code>
elevated-button-text-color: <color-hex-code>
dark:
accent-color: <color-hex-code> # i.e. "#ff0011"
elevated-button-color: <color-hex-code>
elevated-button-text-color: <color-hex-code>
# (Optional) Override a page's image asset.
# Images expected in /usr/share/desktop-provision/images/<image-name>
#
# Bootstrap pages:
# - locale: Select the interface language
# - accessibility: Allow user to configure GNOME accessibility options
# - rst: Identifies if the computer has Intel Rapid Storage Technology (rst) active
# - keyboard: Set keyboard layout
# - network: Connect to a network
# - refresh: Expose installer's auto-update mechanism
# - source-selection: Choose installation source, i.e. which applications that should be installed
# - codecs-and-drivers: Choose if proprietary codecs and drivers should be installed
# - not-enough-disk-space: Notifies if there is insufficient disk space
# - secure-boot: Handles secure boot
# - storage: Select target disk and partition
# - identity: Create the first-user account (only displaed if mode = default)
# - confirm: A summary of the installation and confirmation button to start the install
#
# Init pages (for oem only)
# - identity: Create the first-user account
# - ubuntu-pro: Enable Ubuntu Pro
# - privacy: Enable location services
# - timezone: Set the timezone
# - telemetry: Enable sending telemetry
pages:
<page-name>:
image: <image-name>
The UI is written in Flutter and consists of multiple Dart/Flutter packages contained in packages/
. The most important ones are:
ubuntu_bootstrap
- Flutter UI that drivessubiquity
in the 'device bootstrap' stage. This is the core of theubuntu-desktop-bootstrap
snap built from thebootstrap-snap
branch and replaces theubuntu-desktop-installer
.ubuntu_init
- Flutter UI that drivesprovd
in the 'first boot initialization' stage. This is the core of theubuntu-desktop-init
snap built from theinit-snap
branch and serves as a replacement forgnome-initial-setup
.ubuntu_provision
- Flutter package that contains shared code and pages used by bothubuntu_bootstrap
andubuntu_init
.ubuntu_wizard
- Flutter package that provides the common wizard-style UI framework.subiquity_client
andprovd_client
- Dart packages that provide a client library for the different backends.
TODO
TODO
See our contributor guidelines.
The Ubuntu Desktop Provision is licensed under the GNU General Public License version 3.