[英]How to get Linux based system in QT5
我正在使用 c++ 在 qt5 上開發一個應用程序,它將支持所有流行的發行版,為此我目前正在使用 QSysInfo
qDebug() << "currentCpuArchitecture():" << QSysInfo::currentCpuArchitecture();
qDebug() << "productType():" << QSysInfo::productType();
qDebug() << "productVersion():" << QSysInfo::productVersion();
qDebug() << "prettyProductName():" << QSysInfo::prettyProductName();
它返回 ubuntu,manjaro... 在 prettyProductName 中,我實際上需要一個像 Debian,arch... Tia 這樣的基本系統
所有 Linux 發行版都只是 Linux 因此您需要閱讀發行版特定的值:
$ cat /etc/*-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.1 LTS"
PRETTY_NAME="Ubuntu 22.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.1 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
這些文件是特定於發行版的,並且這些文件中的信息也是特定於發行版的,因此文件和字段可能因發行版而異。 有些發行版甚至可能沒有它們
同樣,在大多數常見發行版中都有一個名為lsb_release
的通用工具,如果存在,您可以檢查其 output
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.5 LTS
Release: 20.04
Codename: focal
如果一個稀有的發行版沒有這些,那么你可能不走運
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.