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() |