PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

miamondo : EndeavourOS, une Archlinux à la portée de tous

mardi 6 avril 2021 à 20:11

Bonjour,

Aujourd’hui, je publie un article plus long qu’à l’accoutumée. Le sujet me plaît et l’inspiration était au rendez-vous. Il y a une semaine, j’ai installé Almalinux sur mon ordinateur et les premiers moments d’enthousiasme ont laissé place à une grande déception. Almalinux s’est révélée lourde, obscure au niveau de l’installation des paquets, pas adaptée pour les débutants ou pour ceux qui, comme moi, possède une ordinateur qui n’est pas un foudre de guerre. Je me suis donc mis en quête d’une distribution plus légère et j’ai jeté mon dévolu sur EndeavourOS. Basée sur Archlinux, la distribution la plus propédeutique de la galaxie Linux, EndeavourOS est cependant bien plus facile à mettre en oeuvre car à l’instar d’Ubuntu et de Linux Mint par exemple, elle est dotée d’un installateur qui ne vous demandera rien d’autre que votre fuseau horaire, la langue du système, la langue du clavier, votre nom d’utilisateur et votre mot de passe. Pour le reste, vous pouvez patienter en buvant un thé.

L’installation prend une bonne heure mais nul besoin de mettre en oeuvre une telle procédure. C’est le gros avantage! Vous serez toutefois invités à choisir un environnement de bureau : Cinnamon, Plasma ou XFCE. J’ai testé les trois et je dois dire que sur ce point, je n’ai pas trouvé mon bonheur. Mon ordinateur manque un peu de vigueur. J’ai donc décidé d’installer Openbox et de configurer mon système à la main. Openbox n’est pas un environnement de bureau. C’est un simple gestionnaire de fenêtres, mais vous allez voir qu’en lui adjoignant quelques outils, on obtient quelque chose de léger et d’aussi avenant que bien des distributions Linux.

Lorsque vous installez Openbox, le résultat est un simple fond de bureau tout gris avec un minuscule menu que l’on peut faire apparaître en cliquant droit. Dans ce menu, vous allez trouver un terminal. Et si vous n’en trouvez point, vous pouvez tout à fait basculer sur une console tty (Ctrl + alt + F2) . Ça fera l’affaire. Le but est d’obtenir le résultat suivant :

Mise à jour des paquets

N’oubliez jamais ceci. EndeavourOS est une distribution à publication roulante (rolling release). Cela signifie que contrairement à Ubuntu et consorts, elle est mise à jour quotidiennement. Vous ne trouverez donc pas une EndeavourOS 21.04 Glaviot Gluant ou Coughing Covid, par exemple. Vous devez faire en sorte que votre distribution soit toujours à la page. Nous allons tout de suite vérifier :

sudo pacman -Syu

Plus tard, nous verrons comment automatiser ce processus. Sachez aussi que la configuration Openbox qui s’applique à tout le système se trouve dans /etc/xdg/openbox. Si vous listez ce répertoire, voici ce que vous obtenez :

ls /etc/xdg/openbox

autostart  menu.xml  rc.xml  environment

Peut-être préférez-vous que cette configuration ne s’applique qu’à votre profil. Si c’est le cas, créez un répertoire openbox dans ~/.config et copiez-collez-y le contenu du répertoire /etc/xdg/openbox.

 mkdir -p ~/.config/openbox && cp /etc/xdg/openbox/* ~/.config/openbox

La barre de tâches tint2

Nous allons commencer par installer une barre de tâches, en l’occurrence tint2. Voici la commande :

sudo pacman -S tint2

Cette barre de tâches est personnalisable en entrant la commande suivante :

tint2conf

Vous pouvez faire ce que vous voulez! Vous pouvez la rendre transparente, agrandir les icônes, rajouter des lanceurs, y incorporer la date et l’heure. Vous pouvez même en rajouter une deuxième si le coeur vous en dit. Vous pouvez même en mettre tout autour de l’écran si vous êtes moitié fou. Pour cela, vous n’êtes pas obligés d’utiliser l’interface graphique. Vous pouvez le faire à la main en modifiant le fichier ~/.config/tint2/tint2rc.

Le menu

Ensuite, il va falloir configurer un menu digne de ce nom. Ici, pas d’interface graphique, il faut éditer le fichier ~/.config/openbox/menu.xml à la main. Mais ce n’est pas bien compliqué à comprendre. C’est même très intuitif. Voici comment ça se présente.

menu.xml

Prenons par exemple l’onglet Multimédia. Il s’agit d’un menu qui contient un sous-menu (capture vidéo) et deux applications (Capture d’écran et contrôle du volume). Ci-dessous le code. Cliquez sur l’image pour l’agrandir. Vous avez des balises

, , , , et . Elles sont toutes ouvrantes et fermantes sauf la dernière. Si au bout d’un quart d’heure, vous n’avez pas assimilé l’architecture de ce fichier xml, il est préférable de s’arrêter là. Pour ce qui est des icônes, vous en avez tout un stock ici : /usr/share/icons.

Code xml

Dans le menu graphique, vous remarquez que la deuxième ligne est afficher toutes les applications installées. Cela vous conduira au répertoire /usr/share/applications qui stockent, pour être précis, non pas toutes les applications installées mais tous les lanceurs d’applications.

Ça, c’est pour le fond. Pour ce qui est de la forme, vous pouvez utiliser l’outil obconf. Vous l’installez et vous entrez la commande obconf. Elle ouvre une interface graphique qui correspond exactement eu fichier ~/.config/openbox/rc.xml.

sudo pacman -S obconf 

obconf

Donc, vous pouvez utiliser cette interface ou directement éditer le fichier source pour :

  • sélectionner un thème (Celui que j’ai choisi est Natura),
  • réserver une marge pour la barre de tâches,
  • changer de police de caractères,
  • etc…

Veuillez noter que vous pouvez visualiser vos changements immédiatement en entrant la commande ci-dessous. Nul besoin de vous déconnecter.

openbox --reconfigure

Le fichier ~/.config/openbox/autostart

Ce fichier est très utile car il nous permet d’exécuter des commandes à chaque démarrage de l’ordinateur. Vous pouvez y mettre des commandes ou des fichiers qui exécutent des commandes. Chaque ligne doit être suivie d’une esperluette pour que la commande soit exécutée en tâche de fond. Nous pouvons donc d’ores et déjà faire en sorte que la barre de tâches se déploie à chaque démarrage, que le pavé numérique soit automatiquement activé, que la lumière de notre écran se tamise à partir d’une certaine heure (fluxgui doit être installé) et que le compositeur xcompmgr donne un peu d’effet aux fenêtres. Cela nous donne ceci :

tint2 &
numlockx &
fluxgui &
xcompmgr -c -f &

Maintenant, si comme moi, vous avez plusieurs écrans, il va falloir les configurer avec xrandr. Si par exemple le deuxième écran est à gauche de l’écran principal dit « primaire », entrez ces deux commandes dans le fichier ~/.config/openbox/autostart.

xrandr --output HDMI-A-0 --mode 1920x1080 --primary &
xrandr --output DisplayPort-0 --mode 1920x1080 --left-of HDMI-A-0 &

Évidemment, ces informations sont miennes. Vos écrans portent sans doute des noms différents et les résolutions ne sont pas les mêmes. Pour le savoir, entrez la commande suivante. Installez-la au préalable si ce n’est pas déjà fait.

xrandr

Vous aurez également compris que si le second écran est à droite, il faut remplacer –left-of par –right-of.

Le fond d’écran

Passons maintenant à l’habillage du bureau. Vous pouvez utiliser nitrogen ou feh. J’ai personnellement un petit faible pour nitrogen qui est pourvu d’une interface graphique vous permettant de sélectionner un répertoire d’images dans lequel nous pourrons choisir un fond d’écran. Notez que nitrogen est multiécrans. Par contre, avec l’interface graphique, je n’ai pas trouvé comment faire pour changer de fond d’écrans toutes les minutes par exemple. Qu’à cela ne tienne, pour venir à bout de ce problème, je me suis penché plus avant sur les fichiers de configuration de nitrogen. Il y en a deux, dont un qui est généré automatiquement, lorsque vous sélectionnez votre configuration avec l’interface graphique. Il s’agit du fichier ~/.config/nitrogen/bg-saved.cfg.

[xin_0]
file=/home/miamondo/miamondo/Afbeeldingen/Wallpapers_2/music.png
mode=3
bgcolor=#000000

[xin_1]
file=/home/miamondo/miamondo/Afbeeldingen/Wallpapers_2/ISS.png
mode=3
bgcolor=#000000

Je vais l’ai déjà dit me semble-t-il, j’ai deux écrans. On les retrouve dans le fichier. Il y a bien deux blocs. Alors, j’ai rédigé deux scripts, un python et un bash qui me permettent d’arriver à mes fins.

nitrogen.py

#!/usr/bin/env python3

import os
import sys
import time
import subprocess

path = sys.argv[1] # Chemin du répertoire parent
frequency = int(sys.argv[2]) # Fréquence de rafraichissement en secondes
cwd = os.path.abspath(os.path.dirname(sys.argv[0]))

while 1:
    wallpapers = list()
    wallpapers2 = list()

    for img in os.listdir(path):
        wallpapers.append(os.path.join(path,img))
        wallpapers2.append(os.path.join(path,img))
    wallpapers2.reverse()
    for wallpaper, wallpaper2 in zip(wallpapers, wallpapers2):
        subprocess.run([os.path.join(cwd, "nitrogen.sh"), wallpaper, wallpaper2])
        time.sleep(frequency)

Ce script prend deux paramètre qui sont le répertoire d’images où vous allez puiser vos fonds d’écran et la fréquence de rafraichissement exprimées en secondes. Alors, si vous décidez de piocher dans le répertoire Vacances_en_Creuse et de rafraîchir vos fonds d’écrans toutes les deux minutes, voici la commande que vous allez entrer :

./nitrogen.py /home/$USER/Images/Vacances_en_Creuse 120

Elle va lancer un script qui va exécuter deux boucles sur toutes les images du répertoire. La première boucle commence par la première image et va jusqu’à la dernière, tandis que la seconde boucle fait le contraire. Ces deux boucles se trouvent dans une une boucle while qui s’exécute toutes les deux minutes jusqu’à l’extinction de l’ordinateur. Les boucles for lancent un script bash : nitrogen.sh. Ce script modifie la configuration de nitrogen et la met à jour à chaud (nitrogen –restore &).

nitrogen.sh

#!/bin/bash

echo [xin_0] > ~/.config/nitrogen/bg-saved.cfg

{
    echo file=$1
    echo mode=3
    echo bgcolor=#000000
    echo
    echo [xin_1]
    echo file=$2
    echo mode=3
    echo bgcolor=#000000
} >> ~/.config/nitrogen/bg-saved.cfg
 
nitrogen --restore &

Voilà… Donc, au final, vous vous retrouvez avec quelque chose de plutôt sympa. Voici une courte vidéo qui vous montre ce que ça donne.

Embellir le gestionnaire de fichiers

Notre distribution a déjà fière allure mais nous pouvons encore l’embellir en nous attaquant au gestionnaire de fichiers. Je vous conseille d’installer Nemo qui est plus facile à personnaliser que Thunar, même si personnellement, c’est ce dernier que j’utilise. Je ne sais pas si vous avez remarqué mais Linux aime beaucoup les icônes marron délavé que nous pouvons objectivement qualifier d’immondes. Il est venu le temps d’installer lxappearance et la capitaine-icon-theme.

sudo pacman -S lxappearance

yay -S la-capitaine-icon-theme 

La deuxième commande utilise yay. Elle ne s’exécute pas en root! Contrairement à pacman qui installe des paquets officiels labellisés Archlinux, yay installe des paquets proposés par les utilisateurs. Les icônes de la capitaine s’inspirent de ce qui se fait chez MacOS et il faut reconnaitre que ça a une autre allure que les guenilles de Linux. Pour changer les icônes, nous allons utiliser lxappearance. Ouvrez-le et cliquez sur l’onglet thèmes d’icônes. Faites votre choix.

Avant (à gauche) et après (à droite)… Non, ce ne sont pas les icônes de Windows 3.1. C’est du Linux pur jus! Si on les associe aux fond d’écran psychédéliques de Lubuntu par exemple, Microsoft et Apple n’ont pas trop de souci à se faire concernant la concurrence de Linux sur les ordinateurs de bureau…

Redémarrage, déconnexion et extinction de l’ordinateur

Il nous manque quand-même quelque chose d’important. Nous n’avons pas de menu de déconnexion. C’est l’occasion de vous montrer comment créer des lanceurs. J’ai moi-même instancié les quatre boutons gris que vous voyez à gauche de la barre de tâches. Le premier met en veille, le second déconnecte, le troisième redémarre et le dernier éteint.

Créer un lanceur n’est pas compliqué. Ils sont tous stockés dans le répertoire /usr/share/applications et leur structure est identique. À l’aide de l’éditeur de texte, ouvrons le lanceur poweroff.desktop. Notez que tous les lanceurs se terminent par desktop. Veuillez noter également que pour modifier un lanceur, il faut passer en root. Voici donc à quoi ressemble un lanceur desktop, en l’occurrence poweroff.desktop qui éteint l’ordinateur.

[Desktop Entry]
Type=Application
Name=Extinction
Comment=Extinction
Icon=system-shutdown
Exec=lxterminal -e "~/.config/openbox/disconnect.sh poweroff"

Name correspond au nom qui sera affiché dans une barre de tâches par exemple. Donc, si je survole le bouton, une minuscule fenêtre pop-up va apparaître avec le nom Extinction.

À la ligne Comment, vous pouvez entrer des explications succinctes.

À la ligne Icon, il ne faut pas rentrer un chemin absolu. Il faut se contenter de ce qu’on appelle le basename. Il faut même supprimer l’extension! Ainsi, le système pourra lui-même choisir une icône en fonction du thème installé. Le mien est la-capitaine. Il va donc fouiller le répertoire /usr/share/icons/la-capitaine et s’il ne trouve pas d’icône system-shutdown, il va élargir son cercle de recherche. Donc, je le répète, pas de chemin absolu pour l’icône!

Enfin, comme son nom l’indique, l’instruction exec exécute la commande ou le script. Les quatre boutons ont tous la même structure. J’aurais pu rentrer directement la commande systemctl poweroff mais il faut savoir que par mégarde, un simple clic de souris sur le bouton lancerait immédiatement le processus d’extinction. Si vous n’avez pas sauvegardé votre travail, ça peut se transformer en catastrophe. Par conséquent, j’ai préféré écrire un script bash valable pour les trois boutons Extinction, Redémarrage et Déconnexion. Ce script demande une confirmation avant d’exécuter la commande. Le bouton de mise en veille n’est pas concerné. Il ne présente aucun danger.

Le script s’appelle disconnect.sh. Je l’ai placé dans le répertoire ~/.config/openbox. Il prend un paramètre qui est poweroff, reboot ou « openbox –exit » (entre guillemets pour ce dernier pour que l’ordinateur ne pense pas qu’il y a deux paramètres : openbox et –exit). Il faut installer au préalable xdotool et dialog. Ce dernier ouvre une fenêtre interactive bleue, un peu vintage. J’aurais pu inclure une interface graphique en Python. J’en ai déjà une en réserve. Mais je n’aurais pas pu vous montrer comment créer un lanceur.

disconnect.sh

#!/bin/bash

if [[ "$1" = "poweroff" ]]
then
    action="éteindre l'ordinateur"
elif [[ "$1" = "reboot" ]]
then
    action="redémarrer l'ordinateur"
elif [[ "$1" = "openbox --exit" ]]
then    
    action="vous déconnecter"
fi

dialog --yesno "Voulez-vous vraiment\\n$action ?" 10 30

if [[ "$?" = "0" ]]
then
    if [[ "$action" != "vous déconnecter" ]]
    then
        systemctl $1
    else $1
    fi
else active=`xdotool getactivewindow` && kill $( printf "0x0%x" $active )
fi

Voici le résultat. C’est une boite de dialogue de type « yesno ». Un clic sur Oui lance le processsus de déconnexion, tandis qu’un clic sur non détruit la fenêtre du terminal. En fait, un clic sur Oui stocke le chiffre « 0 » dans la variable $? et un clic sur Non stocke le chiffre 1.

Conclusion

En conclusion, je vous invite à tester cette distribution for sympathique portée par une équipe qui m’a l’air pleine d’entrain. Croyez-moi, cette distribution basée sur Archlinux est solide. Une fois que vous l’aurez installée, n’hésitez pas à visiter le site archlinux.org qui est bien pensé, notamment au niveau des dépôts officiels et utilisateurs (AUR) soigneusement ordonnancés dans des listes alphabétiques. Quant au wiki, je le consulte presque tous les jours. C’est une véritable mine d’informations.

Et puis, si le coeur vous en dit, vous pourrez vous lancer dans l’installation d’Archlinux, sans conteste la distribution la plus propédeutique du monde Linux.

Gravatar de miamondo
Original post of miamondo.Votez pour ce billet sur Planet Libre.

Journal du hacker : Liens intéressants Journal du hacker semaine #13

lundi 5 avril 2021 à 00:01

Pour la 13ème semaine de l'année 2021, voici 10 liens intéressants que vous avez peut-être ratés, relayés par le Journal du hacker, votre source d’informations pour le Logiciel Libre francophone !

Pour ne plus rater aucun article de la communauté francophone, voici :

De plus le site web du Journal du hacker est « adaptatif (responsive) ». N’hésitez pas à le consulter depuis votre smartphone ou votre tablette !

Le Journal du hacker fonctionne de manière collaborative, grâce à la participation de ses membres. Rejoignez-nous pour proposer vos contenus à partager avec la communauté du Logiciel Libre francophone et faire connaître vos projets !

Et vous ? Qu’avez-vous pensé de ces articles ? N’hésitez pas à réagir directement dans les commentaires de l’article sur le Journal du hacker :)

Gravatar de Journal du hacker
Original post of Journal du hacker.Votez pour ce billet sur Planet Libre.

Articles similaires

Littlewing : Installer Ubuntu 20.04 LTS sur un DELL Inspiron 13 5000

vendredi 2 avril 2021 à 22:45

Les confinements se suivent et se ressemblent. Moi voilà à installer Ubuntu sur un nouvel ordinateur.
A l’instar de l’ancien laptop que j’ai acheté pour mon aînée, j’ai acheté un DELL pour ma deuxième fille.
J’ai opté pour un DELL Inspiron 5301.


A l’instar de mon autre laptop, je j’ai pas pris de risques. J’ai opté pour un DELL qui est pleinement compatible avec Ubuntu. Oui j’aurai pu installer un ordinateur avec Ubuntu pré-installé, mais je n’ai pas eu le temps de faire un choix « serein ».


Configuration du BIOS

Voila les paramètres que j’ai appliqué:

Dans le menu "Storage" puis "SATA Operation": vous devez sélectionner AHCI au lieu de RAID.
Dans le menu "Change boot mode settings >UEFI Boot Mode" , vous devez désactiver le Secure Boot.

Une fois réalisé, vous pouvez redémarrer en appuyant sur la touche F12. Si vous n’arrivez pas à revenir sur le BIOS pour indiquer de booter sur votre clé USB, vous obtiendrez un écran d’erreur Windows dû à la configuration AHCI. Personnellement, en redémarrant une ou deux fois, j’ai obtenu un écran de démarrage avancé qui m’a permis de sélectionner le périphérique (ma clé USB) sur lequel démarrer.

Maintenant vous pouvez accéder à l’installeur Ubuntu et profiter.

Installation

J’ai eu plusieurs fois des popup « erreur rencontré ». Ce n’était pas bloquant. J’ai continué.

Tout s’est déroulé sans encombre. Le matériel est très bien reconnu.

Les seuls logiciels que j’ai installé sont pour l’instant : VLC, Minecraft ( obligatoire dans la famille ) et Chromium.

Gravatar de Littlewing
Original post of Littlewing.Votez pour ce billet sur Planet Libre.

Articles similaires

Simon Vieille : Migration de blog vers Murph

mercredi 31 mars 2021 à 10:08

Mon blog a été mon premier vrai projet quand j'ai commencé de faire du développement web et il me suit toujours aujourd'hui.

Beaucoup de versions ont été réalisées car elles suivent mon évolution et les technologies que j'utilise. La précédente mouture était basée sur Trinity, un CMF basé sur Symfony 2, développé par web&design et sur lequel j'ai beaucoup travaillé. Trinity est puissant mais la conception n'est plus d'actualité et la migration vers une version récente de Symfony est impossible.
Je travaille sur la refonte du site web de l'association Tinternet & cie et s'est rapidement posée la question du CMS. Cela m'a permis d'entreprendre l'écriture de Murph, un CMF qui repose sur Symfony 5 et qui reprend les bonnes idées de Trinity avec une conception qui tient plus la route.

Tandis que Trinity était un hommage à Matrix, Murph est tout droit tiré d'Interstellar, un film pour lequel j'ai une affection très particulière. Voici quelques images du backoffice.

Si le projet vous intéresse, le code source du blog est disponible ici et celui du squelette de Murph se trouve là.

Gravatar de Simon Vieille
Original post of Simon Vieille.Votez pour ce billet sur Planet Libre.

Articles similaires

ephase : Bastille: créer des templates pour vos Jails FreeBSD

mardi 30 mars 2021 à 08:38

Quand on parle de conteneurs, la majorité pense à Docker, mais il n’y a pas que ça dans la vie, il existe aussi les jails BSD (entre autres).

Introduites avec la version 4 de FreeBSD (sortie en mars 2000), le principe des Jails est de partager les ressources d’une machine en plusieurs mini-systèmes autonomes.

C’est un peu le pendant des conteneurs LXC sous GNU/Linux (première version sortie le 6 août 2008).

C’est par FreeNAS que j’ai découvert FreeBSD et les jails; d’abord en utilisant Warden puis iocage. J’ai ensuite décidé de passer mon serveur à la maison sous FreeBSD et de tester Bastille pour la gestion de mes Jails.

Bastille (ou BastilleBSD)

C’est un programme écrit en shell par Christer Edwards. Son but est de faciliter la gestion des Jails tout en adoptant le principe du KISS. Bien entendu c’est Open-Source — licence BSD 3-Clause — et le code source est disponible sur Github.

Il est disponible directement dans les dépôts binaires de FreeBSD ou via les ports. Il est aussi possible de l’installer directement depuis les sources.

L’utilisation de base de Bastille est relativement simple et je ne vais pas détailler ici la mise en place et l’utilisation de base: la documentation est là pour ça et elle est très bien faite.

Créer un Patron

Une des forces de Bastille est la possibilité de créer des “patrons” (ou templates) pour vos conteneurs. Il devient alors simple de déployer des services en deux lignes de commandes.

Un dépôt Gitlab contenant des patrons tout prêts est disponible ici.

Je vais prendre comme exemple l’installation de Wallabag avec PostgreSQL comme système de base de données, Nginx comme serveur web et PHP-fpm.

L’organisation du template

Les templates sont positionnés dans le répertoire /usr/local/bastille/templates sous la forme /