Skip to content
AtlasOSFramework API
Browse the docs

osrelease

The OS name, version and logo from os-release(5), for About pages and reports.

The osrelease module reads the OS name, version and logo from /etc/os-release, else /usr/lib/os-release. Only the system's own files are read. Use it for About pages and reports.

Example

use atlas_framework_core::osrelease::OsRelease;

let os = OsRelease::load();
println!("{}", os.display_name()); // for example "AtlasOS 44.20261003"

OsRelease

#[derive(Debug, Clone, Default, PartialEq, Eq)]. Missing fields are empty strings.

Field os-release key
id ID
name NAME
version VERSION
version_id VERSION_ID
pretty_name PRETTY_NAME
logo LOGO, an icon name such as atlasos-logo
home_url HOME_URL
bug_report_url BUG_REPORT_URL

Values may be unquoted, single-quoted, or double-quoted (inside double quotes \ escapes ", \, $ and the backtick). Comments, blank lines and lines without = are skipped. The last of duplicate keys wins.

Methods and functions

Name Signature Description
OsRelease::load fn load() -> OsRelease /etc/os-release, else /usr/lib/os-release, else all empty
OsRelease::load_from fn load_from(path: &Path) -> Option<OsRelease> One file; None if it cannot be read
OsRelease::parse fn parse(text: &str) -> OsRelease Parses os-release text
OsRelease::display_name fn display_name(&self) -> String PRETTY_NAME, else NAME VERSION (or VERSION_ID), else Linux
OsRelease::logo_icon fn logo_icon(&self) -> Option<String> LOGO when it is a plain icon name (ASCII letters, digits, -, _, ., +); a path or an empty value is None
logo_icon pub fn logo_icon() -> Option<String> OsRelease::load().logo_icon()