Chercher des informations sur le système peut être plus ou moins compliqué selon ce que l'on cherche à récupérer. Il existe un outil qui s'appelle fastfetch qui permet d'afficher d'une manière pratique les choses tout en les regroupant, nous allons voir comment l'installer et le configurer.

L'exemple complet qui suit est disponible sur un projet Github réalisé pour cet article.

Installation

Pour installer fastfetch sur Ubuntu, il faut aller sur la page Github du projet fastfetch dans la section Linux, chercher Ubuntu, trouver le fichier .deb correspondant et l'utiliser une fois téléchargé.

Maintenant que l'outil est disponible sur le système, entrer la commande fastfetch dans le terminal devrait nous afficher quelque chose comme ceci avec les informations de l'ordinateur (ici cachées) :

Mais que faire si on souhaite personnaliser l'affichage qui est fourni par défaut ? C'est possible très facilement en générant la configuration nécessaire avec la commande suivante :

fastfetch --gen-config

Maintenant que nous avons la configuration nécessaire, tout est paramétrable dans le fichier config.jsonc situé dans ~/.config/fastfetch/.

Voici un exemple de configuration que j'ai réalisé :

{
    "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
    "logo": {
        "type": "builtin",
        "height": 15,
        "width": 24,
        "padding": {
            "top": 4,
            "left": 3
        }
    },
 "modules": [
        "break",
        {
            "type": "custom",
            "format": "\u001b[92m┌──────────────────────────── Materiel ───────────────────────────┐"
        },
        {
            "type": "command",
            "key": "PC",
            "keyColor": "green",
            "text": "hostname"
        },
        {
            "type": "memory",
            "key": "│ ├Memoire",
            "keyColor": "green"
        },
        {
            "type": "cpu",
            "key": "│ ├CPU    ",
            "keyColor": "green"
        },
        {
            "type": "gpu",
            "key": "│ └GPU    ",
            "keyColor": "green",
            "format": "{2}, {3}"
        },
        {
            "type": "custom",
            "format": "\u001b[92m└─────────────────────────────────────────────────────────────────┘"
        },
        "break",
        {
            "type": "custom",
            "format": "\u001b[93m┌──────────────────────────── Système ────────────────────────────┐"
        },
        {
           "type": "os",
           "key": "OS",
           "keyColor": "yellow",
           "text": "awk -F= '/DISTRIB_ID/ {id=$2} /DISTRIB_RELEASE/ {rel=$2} END {print id, rel}' /etc/upstream-release/lsb-release"
        },
        {
            "type": "wm",
            "key": "│ ├Affichage    ",
            "keyColor": "yellow"
        },
        {
            "type": "de",
            "key": "│ ├Environnement",
            "keyColor": "yellow"
        },
        {
            "type": "kernel",
            "key": "│ ├Kernel       ",
            "keyColor": "yellow"
        },
        {
            "type": "packages",
            "key": "│ ├Paquets      ",
            "keyColor": "yellow"
        },
        {
            "type": "localip",
            "key": "│ └IP Locale    ",
            "keyColor": "yellow"
        },
        {
            "type": "custom",
            "format": "\u001b[93m└─────────────────────────────────────────────────────────────────┘"
        },
        "break",
        {
            "type": "custom",
            "format": "\u001b[37m┌─────────────────────────── Disques ─────────────────────────────┐"
        },
        {
            "type": "disk",
            "key": "│ {mountpoint}",
            "keyColor": "white"
        },
       {
            "type": "custom",
            "format": "\u001b[37m└─────────────────────────────────────────────────────────────────┘"
        },
        "break",
        {
            "type": "custom",
            "format": "\u001b[95m┌─────────────────── Infos Création & Lancement ──────────────────┐"
        },
        {
            "type": "command",
            "key": "│ Age",
            "keyColor": "magenta",
            "text": "creation=$(stat -c %W /); current=$(date +%s); difference=$(( (current - creation) / 86400 )); echo $difference jours"
        },
        {
            "type": "command",
            "key": "│ Anniversaire système",
            "keyColor": "magenta",
            "text": "birthday=$(stat -c %W /); echo $(date -d @$birthday '+%d %b %Y')"
        },
        {
            "type": "uptime",
            "key": "│ Ouvert",
            "keyColor": "magenta"
        },
        {
            "type": "custom",
            "format": "\u001b[95m└─────────────────────────────────────────────────────────────────┘"
        },
        "break"
    ]
}

Qui donne le résultat qui suit :

Maintenant nous savons comment, en une seule commande, regrouper toutes les informations que nous souhaitons sur notre système.