Git est un système de contrôle de version distribué, conçu pour suivre les modifications dans les fichiers et coordonner le travail sur ces fichiers entre plusieurs personnes
git clone est une commande Git utilisée pour créer une copie d’un dépôt distant sur votre machine locale. Elle télécharge essentiellement l’ensemble du dépôt, y compris tous ses fichiers, ses branches et l’historique des livraisons. Vous pouvez en avoir besoin pour récupérer un dépôt public sur GitHub ou si vous êtes un développeur pour obtenir une copie d’un projet.
Dans ce tutoriel, je vous explique comment utiliser la commande git clone.
Comment cloner un dépôt git
Voici la syntaxe générale de la commande git clone :
git clone <repository_URL>
Par exemple, si vous voulez cloner un dépôt hébergé sur GitHub, vous utiliserez :
git clone git://github.com/<nom dépôt>.git
Cette commande créera un nouveau répertoire sur votre machine locale avec le même nom que le dépôt et téléchargera tout son contenu dans ce répertoire.
Si vous souhaitez spécifier un nom de répertoire différent, vous pouvez le faire en l’ajoutant comme argument supplémentaire après l’URL du dépôt :
git clone <dépôt_URL> <nom_repertoire>
Comment cloner un dépôt, y compris ses sous-modules (récursif)
Un submodule (sous-module) est un référentiel Git intégré à un autre référentiel Git plus large. Lorsque vous clônez un référentiel qui contient des sous-modules, ces sous-modules sont initialement configurés pour pointer vers une version spécifique (commit) dans leur référentiel d’origine.
Si vous souhaitez cloner un dépôt git tout en clonant également ses sous-modules, vous devez ajouter l’option –recurse-submodules :
Si vous souhaitez cloner et mettre à jour les sous-modules à leur dernière révision, ajoutez la commande –remote-submodules. Celle-ci va mettre à jour les sous-modules d’un référentiel pour pointer vers les dernières révisions disponibles dans leurs référentiels distants. Cela signifie qu’au lieu de pointer vers une révision spécifique (commit) dans le même référentiel parent, les sous-modules pointeront vers les révisions les plus récentes de leur référentiel distant.
Pour cloner une branche spécifique avec Git, vous pouvez utiliser la commande git clone suivie de l’URL du référentiel, puis vous pouvez spécifier la branche que vous souhaitez cloner en utilisant l’option -b ou –branch suivi du nom de la branche.
Voici la syntaxe générale :
git clone -b <URL_du_référentiel>
Par exemple, si vous souhaitez cloner la branche develop d’un référentiel, vous pouvez utiliser la commande suivante :
Cela va cloner le référentiel et basculer automatiquement sur la branche develop après le clonage. Si vous ne spécifiez pas la branche à cloner, Git clonera automatiquement la branche par défaut, souvent master ou main , selon la configuration du référentiel.
Si vous avez déjà cloné le référentiel et que vous souhaitez basculer vers une branche spécifique après le clonage, vous pouvez utiliser la commande git checkout après avoir cloné le référentiel :
git clone https://github.com/utilisateur/nom_du_repos.git cd nom_du_repos git checkout
Cela va cloner le référentiel et basculer sur la branche spécifiée après le clonage.
Comment cloner un dépôt à distant par SSH
Vous pouvez aussi cloner un dépôt distant disponible par SSH. Voici la syntaxe générale :
Lorsque vous git clone, git fetch, git pull ou git push vers un référentiel distant à l’aide d’URL SSH, vous êtes invité à entrer un mot de passe et vous devez fournir la phrase secrète de votre clé SSH. Pour plus d’informations, consultez « Utilisation des phrases secrètes de clé SSH ».
Pour utiliser Windows dans Linux, vous avez la solution VirtualBox. Mais grâce à Dockurr, nouveau projet open source, vous pouvez exécuter Windows à l’intérieur d’un conteneur Docker sans avoir à franchir de nombreuses étapes. De plus, le conteneur fournit une connexion VNC et RDP notamment accessible par un simple navigateur internet. Enfin les performances sont bonnes grâce à l’accélération KVM (Kernel Virtual Machine).
Dans ce tutoriel, je vous guide pour exécuter Windows, Tiny11, Tiny10 dans un conteneur Linux (Docker) avec Dockurr.
Qu’est-ce que Dockurr?
Dockurr est un projet libre et gratuit qui permet d’exécuter des installations de bureau Windows client et Windows Server dans un environnement de conteneur Docker. Il vous permet également de le faire sur un hôte Docker Linux qui ne pourrait normalement exécuter que des conteneurs Linux. En utilisant l’accélération KVM, il vous permet d’exécuter des conteneurs Windows sur un hôte de conteneur Linux sans avoir besoin d’installer et de démarrer Docker Desktop ou d’autres problèmes de compatibilité qui sont typiques avec le mélange de systèmes d’exploitation entre Linux et Windows.
Il fournit également une connexion VNC au conteneur pendant le processus d’installation. Il vous permet également de vous connecter via le protocole de bureau à distance (RDP) à l’installation Windows exécutée dans Docker.
Quelles sont les configurations de distribution Windows prises en charge ?
Windows 11 Pro
Windows 10 Pro
Windows 10 LTSC
Windows 8.1 Pro
Windows 7 SP1
Windows Vista SP2
Windows XP SP3
Windows Server 2022
Windows Server 2019
Windows Server 2016
Windows Server 2012 R2
Windows Server 2008 R2
Tiny 11 Core
Tiny 11
Tiny 10
Installer la machine virtuelle à noyau (KVM)
Dans un premier temps, Docker doit être installé sur votre appareil en Linux. Si ce n’est pas le cas, vous pouvez consulter ce guide : Comment installer Docker sur Linux Ensuite, vous devez installer KVM (Kernel Virtual Machine) et qemu :
Exécutez la commande suivante à partir de la ligne de commande pour installer KVM. Assurez-vous d’être root ou de faire partie du groupe d’utilisateurs sudo :
Télécharger Dockurr dans un conteneur et lancer Windows dans un conteneur Docker
Après avoir installé KVM sur notre hôte Docker Linux, nous pouvons maintenant lancer le conteneur Docker appelé Dockurr, qui utilise l’isolation de KVM. Deux manières sont possibles, par docker run ou par docker compose.
La méthode docker run est la plus automatisé et rapide. Voici comment faire :
Dans mon cas, j’ai du passer la commande suivante pour autoriser les sockets Docker à être utilisé par les utilisateurs Linux
sudo chmod 666 /var/run/docker.sock
Vous pouvez utiliser la commande docker run à partir de l’interface de commande de docker pour exécuter le conteneur :
docker run -it --rm --name windows -p 8006:8006 --device=/dev/kvm --cap-add NET_ADMIN --stop-timeout 120 dockurr/windows
La méthode par docker compose vous permet de modifier le fichier de configuration si vous souhaitez installer une autre version de Windows ou modifier la configuration du réseau (voir fin de ce guide). Voici comment faire :
Cloner le dépôt Git :
git clone https://github.com/dockur/windows.git
Modifiez le fichier compose.yml si besoin (voir plus bas)
Puis exécutez le conteneur :
cd windows
docker-compose up -d
L’image de Windows se télécharge puis l’installation de l’OS s’effectue.
Après avoir utilisé les commandes ci-dessus pour installer la solution Dockurr, vous pouvez vous connecter au conteneur sur votre hôte de conteneur en vous connectant à votre hôte de conteneur dans un navigateur sur le port 8006 pour l’accès à l’interface utilisateur.
Lorsque vous démarrez la configuration de conteneur par défaut, elle tire une image Docker Windows 11. Notez l’exemple de configuration Docker compose ci-dessous :
Ensuite une phase d’extraction du fichier win11x64.esd
Puis l’image de Windows 11 est construire
Ensuite qemu exécute l’installeur de Windows 11, la copie de fichiers s’effectuent
Une fois l’installation terminée, l’utilisateur se connectera automatiquement en utilisant le nom d’utilisateur docker
Voila, Windows s’exécute dans un conteneur Docker.
Ici nous utilisons le navigateur internet pour se connecter via VNC, mais vous pouvez aussi prendre la main sur Windows par RDP, avec par exemple le bureau à distance. Le port utilisé est celui par défaut, à savoir le port 3389.
Exécuter différentes images du système d’exploitation Windows dans Docker
Comme mentionné en introduction, plusieurs versions de Windows sont supportés. Par défaut, c’est Windows 11 qui est installé, mais vous pouvez modifier la partie suivante du fichier compose.yml pour changer la version de Windows :
environment: VERSION: "win11"
Vous pouvez utiliser les désignateurs suivants dans la variable d’environnement pour indiquer la version de Windows que vous souhaitez lancer (win11, win10, ltsc10, win7, etc.) dans la liste d’informations ci-dessous :
Valeur
Description
Source
Transfert
Taille
win11
Windows 11 Pro
Microsoft
Rapide
6,4 Go
win10
Windows 10 Pro
Microsoft
Rapide
5,8 Go
ltsc10
Windows 10 LTSC
Microsoft
Rapide
4,6 Go
win81
Windows 8.1 Pro
Microsoft
Rapide
4,2 Go
win7
Windows 7 SP1
Bob Pony
Moyen
3,0 Go
vista
Windows Vista SP2
Bob Pony
Moyen
3,6 Go
winxp
Windows XP SP3
Bob Pony
Moyen
0,6 Go
2022
Windows Server 2022
Microsoft
Rapide
4,7 Go
2019
Windows Server 2019
Microsoft
Rapide
5,3 Go
2016
Windows Server 2016
Microsoft
Rapide
6,5 Go
2012
Windows Server 2012 R2
Microsoft
Rapide
4,3 Go
2008
Windows Server 2008 R2
Microsoft
Rapide
3,0 Go
core11
Tiny 11 Core
Archive.org
Lent
2,1 Go
tiny11
Tiny 11
Archive.org
Lent
3,8 Go
tiny10
Tiny 10
Archive.org
Lent
3,6 Go
Les versions de Windows supportées par Dockurr
Outre les versions de Windows que vous pouvez installer par défaut, vous pouvez également utiliser des images personnalisées pour vos supports Windows. Il suffit de définir l’emplacement web de l’ISO personnalisée de Windows comme suit :
Vous avez la possibilité de modifier la configuration de l’hôte Windows.
Configurer le réseau
Par défaut, les conteneurs utilisent un réseau ponté qui utilise l’adresse IP de l’hôte Docker. Cependant, selon les détails de la documentation. Si vous souhaitez connecter vos conteneurs Windows à un réseau spécifique en production, vous pouvez le faire avec une configuration supplémentaire. Vous pouvez changer cela manuellement :
Wayland est un protocole du serveur d’affichage pour Linux et Unix. Dans la plupart des distributions, il est utilisé par défaut à la place de X11. Mais si les pilotes propriétés NVIDIA sont installés, Linux peut revenir à Xorg.
Dans ce tutoriel, je vous donne plusieurs commandes pour vérifier si le bureau Linux est en Wayland ou Xorg.
Comment vérifier si le bureau Linux Wayland ou Xorg (X11)
Depuis le terminal
Ouvrez le terminal Ubuntu par la recherche d’application ou par le raccourci clavier CTRL+ALT+T. Plus de détails : Comment ouvrir terminal Ubuntu
Puis saisissez la commande suivante
echo $XDG_SESSION_TYPE
Cela retourne Wayland ou X11
Une alternative est la commande loginctl pour cibler le type de session :
Dans Linux, chaque application, outil ou fenêtre que vous voyez sur l’écran de votre ordinateur de bureau ou portable provient d’une technologie de serveur d’affichage. Depuis 1987, le standard est le serveur X, la version la plus récente étant X11. Xorg (parfois connu sous le nom de X.org) est l’implémentation open-source la plus populaire d’un serveur X sous Linux.
Mais Wayland fait de la concurrence à Xorg. Wayland a été développé pour créer une approche plus rationalisée qui utilise des processus modernes. Le développement de Wayland a commencé en 2013, et la première version alpha a été publiée en janvier 2021. Depuis 2013, le débat autour de Wayland et Xorg n’a cessé d’enfler.
Dans ce guide complet, je vous explique tout ce qu’il faut savoir sur Wayland, le serveur d’affichage pour Linux, les différences avec X11 et quel est le meilleur.
Qu’est-ce que Wayland
Wayland est un protocole de communication et un serveur d’affichage pour les systèmes Unix-like, principalement utilisé sur les systèmes Linux. Il a été développé comme une alternative au serveur d’affichage X11, qui était le standard de facto depuis de nombreuses années.
Le projet Wayland Display Server a été lancé par Kristian Høgsberg, développeur chez Red Hat, en 2008. Contrairement à X11, Wayland est conçu pour être plus rapide et réduire la latence. Il simplifie également la gestion des fenêtres et des événements d’entrée
Wayland se compose d’un protocole et d’une implémentation de référence appelée Weston. Le projet développe également des versions de GTK et de Qt qui rendent vers Wayland au lieu de X. La plupart des applications devraient prendre en charge Wayland par l’intermédiaire de l’une de ces bibliothèques sans modification de l’application.
Wayland est considéré comme le remplaçant du serveur X.Org vieillissant.
Comment fonctionne Wayland
Wayland est conçu de manière modulaire. Il sépare le serveur d’affichage (Wayland compositor) et les clients (applications), ce qui permet une meilleure isolation et une sécurité améliorée.
Le protocole Wayland suit un modèle client-serveur dans lequel les clients sont les applications graphiques qui demandent l’affichage de tampons de pixels sur l’écran, et le serveur (compositeur) est le fournisseur de services qui contrôle l’affichage de ces tampons. Un compositeur est un gestionnaire de fenêtres qui fournit une mémoire tampon hors écran pour chaque fenêtre. La mémoire tampon de la fenêtre contient une image ou d’autres effets graphiques tels qu’une animation, et l’écrit dans la mémoire de l’écran.
Le rendu est effectué par le client via EGL, et le client envoie simplement une requête au compositeur pour indiquer la région qui a été mise à jour. EGL (Embedded-System Graphics Library)est une interface de programmation d’applications (API) qui fournit un moyen standard pour les applications graphiques de créer et de gérer des contextes de rendu graphique. Elle fait le lien entre ses API de rendu, comme OpenGL ES ou OpenVG, et le système de fenêtrage du système d’exploitation sous-jacent.
La communication entre le client et le composeur se fait par IPC via l’espace noyau.
Wayland VS Xorg (X11) et pourquoi Wayland est meilleur
Tout comme Xorg, Wayland utilise aussi les technologies récentes du noyau Linux comme le DRI (Direct Rendering Infrastructure,), KMS (Kernel-based mode-setting), et GEM (Graphics Execution Manager), dans le but de fournir un serveur d’affichage minimal, léger et performant.
Mais Wayland priorise la performance et la sécurité. Il réduit la complexité de la communication entre les composants et permet aux applications d’interagir plus efficacement avec le serveur d’affichage. Dans la majorité des cas, le serveur X n’est plus qu’un intermédiaire qui introduit une étape supplémentaire entre les applications et le compositeur et une étape supplémentaire entre le compositeur et le matériel. Sous Wayland, les fonctions du serveur d’affichage et du gestionnaire de fenêtres sont combinées dans le compositeur Wayland correspondant. Le protocole Wayland permet au compositeur d’envoyer les événements d’entrée directement aux clients et au client d’envoyer l’événement d’endommagement directement au compositeur. Les clients effectuent le rendu localement et communiquent directement avec le compositeur.
Ainsi, l’application sait ce qu’elle veut rendre. Le rendu côté client réduit les étapes généralement associées au processus client/serveur traditionnel. Les applications dessinent la fenêtre dans laquelle elles vont s’exécuter et envoient ensuite leurs informations d’affichage à Wayland. Avec Wayland, le compositeur est le serveur d’affichage.
Wayland offre une base de code simplifiée, ce qui présente l’avantage supplémentaire de réduire le gonflement dû à des années de développement pour faire fonctionner Xorg au fur et à mesure des évolutions technologiques. Le passage à un rendu côté client augmente les temps de chargement et, dans la plupart des cas, offre une interface plus simple. Ainsi, Wayland supprime ces étapes supplémentaires et simplifie le rendu pour offrir des performances plus fluides et réactives que X11.
Du point de vue de la sécurité, Wayland montre une nette amélioration de l’isolation au niveau de l’interface graphique. De par sa conception, Xorg ne permet pas cette fonctionnalité. Xorg suppose que tous les programmes ne sont pas nuisibles. Lors de l’exécution de plusieurs applications graphiques, Xorg ne les isole pas les unes des autres. L’entrée de commande a le potentiel d’enregistrer les frappes de touches, par exemple, des processus pour de nombreuses applications. Wayland restreint les interactions entre les applications, limitant la capacité des applications malveillantes à affecter d’autres processus ou à intercepter des données sensibles.
Enfin Wayland offre une meilleure prise en charge des périphériques d’entrée, tels que les claviers, souris et écrans tactiles, en les intégrant plus étroitement dans le système graphique.
En résumé, Xorg est un intermédiaire qui crée des étapes supplémentaires entre les applications, le compositeur et le matériel. Wayland rationalise ce processus en éliminant l’étape du serveur X pour fournir un protocole plus moderne et plus cohérent que X11.
Quelles sont les limites et les problèmes de Wayland
Il y a plusieurs raisons pour lesquelles Xorg reste la version par défaut de Linux. Xorg est familier, car il est utilisé depuis plus de 30 ans. Cette longévité s’accompagne d’un bagage, car le codage et les ajouts rendent X trop lourd. Cependant, comparé à Wayland, Xorg est mieux conçu pour ajouter de nouvelles capacités ou fonctionnalités.
Les jeux vidéo et les applications graphiquement intenses conçues pour X11 ont tendance à mieux fonctionner sur Xorg. Au-delà de ces deux exemples, de nombreuses applications natives encore utilisées ont été écrites pour Xorg. Même sur les systèmes les plus récents, X et Xorg restent l’application de fenêtrage par défaut, bien que Wayland soit installé sur de nombreux systèmes. En ce qui concerne les jeux, des problèmes de déchirure d’écran, d’artefacts ou de problème de rafraîchissement sont connus.
Ainsi, l’adoption de Wayland prend du temps car il faut aussi réécrire les applications. Pour minimiser cela, Xwayland a été créé. Il s’agit d’un composant du système graphique Wayland qui agit comme un pont de compatibilité en permettant aux applications conçues pour X11 (l’ancien système d’affichage) de s’exécuter sur un serveur Wayland. Il facilite la transition vers Wayland en offrant une compatibilité avec l’immense catalogue d’applications existantes pour X11.
L’utilisation de certains pilotes propriétaires comme NVIDIA peuvent aussi poser des problèmes. Il existe plusieurs domaines dans lesquels le pilote NVIDIA ne présente pas les mêmes caractéristiques que X11 et Wayland. Cela peut être dû à des limitations du pilote lui-même, du protocole Wayland ou du compositeur Wayland spécifique utilisé. Au fil du temps, cette liste devrait s’alléger au fur et à mesure que les fonctionnalités manquantes seront implémentées à la fois dans le pilote et dans les composants en amont, mais ce qui suit reflète la situation à la date de publication de cette version du pilote. Notez que cela suppose un compositeur avec un support raisonnablement complet pour les extensions du protocole Wayland liées au graphisme. La liste des limitations est fournie par NVIDIA dans ce lien : https://download.nvidia.com/XFree86/Linux-x86_64/515.65.01/README/wayland-issues.html
Wayland dans les distributions Linux
La prise en charge de Wayland peut varier en fonction de l’environnement de bureau et des pilotes graphiques utilisés. Certains environnements de bureau, comme KDE Plasma, prennent en charge Wayland, mais leur adoption peut être moins répandue que celle de GNOME. Il est possible souvent proposer en option lors de l’ouverture du bureau Linux mais pas forcément par défaut.
Ainsi, il en résulte que l’adoption de Wayland varie beaucoup selon la distribution Linux. Voici un tour d’horizon :
Fedora : Fedora a été l’une des premières distributions à adopter Wayland par défaut, notamment avec Fedora 25 et les versions ultérieures. GNOME, l’environnement de bureau par défaut de Fedora, fonctionne sur Wayland.
Ubuntu : Bien qu’Ubuntu utilise toujours Xorg par défaut dans ses versions stables, il offre la possibilité d’utiliser Wayland avec l’environnement de bureau GNOME. Ubuntu 17.10 utilise Wayland par défaut. Dans Ubuntu 24.04, Wayland est par défaut pour les utilisateurs des pilotes NVIDIA propriétaires
Arch Linux : Arch Linux propose Wayland dans ses dépôts officiels et prend en charge plusieurs environnements de bureau qui fonctionnent sur Wayland, tels que GNOME, KDE Plasma, et Sway (un gestionnaire de fenêtres Wayland inspiré de i3)
openSUSE : openSUSE propose une prise en charge de Wayland avec son environnement de bureau GNOME. Il est possible d’utiliser Wayland avec d’autres environnements de bureau également, mais GNOME est le plus largement pris en charge
Debian : Debian propose la prise en charge de Wayland dans ses dépôts officiels. Bien qu’il ne soit pas activé par défaut dans la version stable, il est disponible en tant qu’option pour les utilisateurs qui souhaitent l’utiliser avec des environnements de bureau tels que GNOME et KDE Plasma
Endless OS : Endless OS, une distribution Linux axée sur l’éducation et les pays en développement, utilise Wayland par défaut avec son propre environnement de bureau basé sur GNOME appelé EOS Shell
Wayland est est configuré par défaut pour la plupart des cas d’utilisation dans RHEL 8, suivi de la dépréciation du serveur Xorg dans RHEL 9, avec l’intention de son retrait dans une future version. Dans RHEL 10, le serveur Xorg et d’autres serveurs X (à l’exception de Xwayland) sont supprimés
Xorg et Wayland sont deux protocoles graphiques utilisés dans les systèmes d’exploitation Unix-like, principalement sur les distributions Linux, pour gérer l’affichage graphique et les interactions avec l’utilisateur.
La plupart des distributions Linux utilisent par défaut Xorg. Toutefois, lorsque vous installez les pilotes NVIDIA propriétaires ou pour différentes raisons, le gestionnaire de fenêtres peut être Xorg.
Voici comment passer de Xorg à Wayland notamment sur Ubuntu et Debian.
Comment passer sur Wayland dans Linux
Par défaut, Ubuntu utilise Wayland. Toutefois dans le cas où les pilotes propriétaires de NVIDIA sont installés sur Ubuntu, ce dernier repasse sous Xorg (X11). Cela fonctionne sur Ubuntu 22.04 ou Ubuntu 23.10. Veuillez noter que Ubuntu 24.04 LTS devrait être par défaut sur Wayland même si les pilotes NVIDIA propriétaires sont installés.
Voici comment activer Wayland avec les pilotes NVIDIA sur Linux :
Avant de passer sur Wayland, si vous avez une carte graphique NVIDIA, je vous conseille d’installer les pilotes version 550, cela règle beaucoup de problème. Suivez ce guide : Installer les pilotes NVIDIA sur Ubuntu (propriétaire)
Installez la librairies d’implémentation en cours d’une bibliothèque EGL (Embedded-System Graphics Library) pour la plate-forme externe pour Wayland :
sudo apt install libnvidia-egl-wayland1
Puis éditez le fichier de configuration GRUB :
sudo nano /etc/default/grub
Repérez la ligne GRUB_CMDLINE_LINUX et éditez pour ajouter la configuration suivante :
GRUB_CMDLINE_LINUX="nvidia-drm.modeset=1"
Puis mettez à jour la configuration GRUB :
sudo update-grub
Pour que l’hibernation et mise en veille prolongée fonctionne correctement, il faut activer certaines options. Toutefois le fichier de configuration peut être différents d’une distribution Linux à l’autre
Sur Ubuntu, éditez le fichier /etc/modprobe.d/nvidia-graphics-drivers-kms.conf
Sur Debian, modifiez le fichier /etc/modprobe.d/nvidia-power-management.conf
options nvidia NVreg_PreserveVideoMemoryAllocations=1 NVreg_TemporaryFilePath=/tmp/tmp-nvidia options nvidia-drm modeset=1 'article sur les problèmes rencontrés options nvidia NVreg_UsePageAttributeTable=1 options nvidia NVreg_RegistryDwords="OverrideMaxPerf=0x1"
Redémarrez l’ordinateur pour prendre en compte les modifications
sudo reboot
Sur l’écran de verrouillage, cliquez sur l’utilisateur
Puis en bas à droite, cliquez sur l’icône roue crantée puis sélectionnez Wayland (ici il s’agit de l’écran de verrouillage d’Ubuntu)
Pour vérifier que le bureau de Linux est bien en Wayland :
echo $XDG_SESSION_TYPE
Si Wayland n’apparaît pas dans la liste, suivez le paragraphe suivant pour l’activer.
Le display manager de GNOME (GDM) donne la possibilité de choisir le gestionnaire de fenêtres que vous pouvez utiliser.Vous pouvez très bien activer ou désactiver Wayland dans GNOME. Voici comment faire :
Éditez le fichier de configuration de GDM :
sudo nano /etc/gdm3/custom.conf
Pour forcer l’activation de Wayland dans gnome, positionnez l’option suivante sur True
WaylandEnable=true
Pour forcer la désactivation de Wayland :
WaylandEnable=false
Puis relancez GDM :
sudo systemctl restart gdm3
Vous devriez pouvoir choisir Wayland au démarrage de la session GNOME
Pourquoi passer de X11 à Wayland
Plusieurs raisons peuvent vous pousser à utiliser Wayland à la place de Xorg. Premièrement, Xorg n’est plus maintenu et vous expose à des problèmes de sécurité. Ce dernier étant un projet de 1980. Wayland a été lancé afin de proposer un gestionnaire de fenêtre plus moderne, notamment Wayland élimine le modèle client-serveur et permet aux applications d’interagir directement avec le serveur d’affichage. De plus, Wayland est projet actif, il propose des fonctionnalités qui n’existent pas sur X11. Dans mon cas, les performances sont vraiment meilleures sur Wayland, l’affichage est beaucoup plus réactif. C’est aussi le cas dans les jeux.
Quels sont les problèmes connus entre Wayland et les pilotes propriétaires NVIDIA
Le support de Wayland n’est pas encore totale, de plus certaines technologies ne sont pas encore supportés. Ainsi, des bugs existent.
Les fenêtres en plein écran des jeux et applications rencontrent des problèmes d’affichage. Certaines parties de la fenêtre sont noires, contiennent des artefacts, clignotements ou encore des bandes horizontales passent de haut en bas révélant un problème de rafraîchissement. Il existe une discussion à ce sujet : https://gitlab.freedesktop.org/xorg/xserver/-/issues/1317 Vous pouvez tenter d’ajouter MUTTER_DEBUG_FORCE_EGL_STREAM=1 dans /etc/environment et relancez la session GNOME. Toutefois, il faut savoir que cela risque de poser des problèmes de chargement des jeux mais surtout provoquer des baisses de performances. Dans mon cas, la mise à jour des pilotes NVIDIA en 550 a réglé le problème.
De plus, j’ai rencontré des erreurs suivantes qui semblent être à l’origine de freez :
[drm:nv_drm_atomic_commit [nvidia_drm]] ERROR [nvidia-drm] [GPU ID 0x00000 100] Flip event timeout on head 0
D’où la désactivation de fbdev (framebuffer Device – toujours en expérimental) depuis /etc/modprobe.d/nvidia-graphics-drivers-kms.conf :
options nvidia-drm.fbdev=0
En outre, la fréquence adaptative de l’écran (VRR/GSync) n’est pas encore tout à fait disponible. Les pilotes NVIDIA propriétaires supportent la fonctionnalité depuis la version 545. Toutefois, ce n’est pas encore le cas des gestionnaire de fenêtres. Par exemple, Gsync est en expérimentale sur la version 46 de GNOME (disponible à partir d’Ubuntu 24.04). La documentation ArchLinux en parle : https://wiki.archlinux.org/title/Variable_refresh_rate#Limitations
Parmi les commandes basiques Linux, on trouve la commande more. Elle est principalement utilisée pour afficher le contenu d’un fichier page par page, ce qui permet de lire facilement des fichiers volumineux sans être submergé par un mur de texte. Elle dispose aussi de fonction de recherche.
Dans ce tutoriel, je vous montre comment utiliser la commande more sur Linux avec des exemples.
Quelle est la syntaxe de la commande more
Voici la syntaxe :
more [-options] [-num] [+/pattern] [+numligne] <nom fichier>
Et la liste des options
Option
Description
-c ou –no-color
Désactive le surlignage en couleur de la sortie.
-n ou –line-numbers
Afficher les numéros de ligne au début de chaque ligne.
-d
L’invite est “[Appuyez sur l’espace pour continuer, sur ‘q’ pour quitter.]”, et affiche “[Appuyez sur ‘h’ pour les instructions.]” au lieu de sonner la cloche lorsque l’on tente de faire défiler le fichier au-delà de la fin.
-l
Ignore le saut de page (^L).
-f
Compte les lignes logiques, plutôt que les lignes d’écran (c’est-à-dire que les lignes longues ne sont pas pliées).
-p
Fait défiler un écran complet.
-c
Efface l’écran avant d’afficher la page.
-s
Réduit le nombre de lignes vierges en une seule.
-u
Mode texte plein en supprimant la mise en forme gras et souligné.
Les options de la commande more
Comment utiliser la commande more sur Linux
Par défaut, plus de commandes sous Linux affichent le fichier une page à la fois.
Vous pouvez naviguer dans le fichier à l’aide de différentes commandes :
Commande
Action
ESPACE ou f
Afficher les x lignes de texte suivantes. La valeur par défaut est la taille actuelle de l’écran.
Entrée
Afficher les x lignes de texte suivantes. La valeur par défaut est 1. L’argument devient la nouvelle valeur par défaut.
d ou ^D
Défiler de x lignes. La valeur par défaut est la taille de défilement actuelle, initialement 11.
s
Sauter x lignes de texte. La valeur par défaut est 1.
f
Sauter x lignes de texte. La valeur par défaut est 1.
b ou ^B
Revenir à x lignes de texte vers l’arrière. La valeur par défaut est 1. Ne fonctionne qu’avec les fichiers, pas avec les pipes.
‘
Aller à l’endroit où la dernière recherche a commencé.
=
Affiche le numéro de la ligne en cours.
q ou Q
Quitter
Les raccourcis clavier pour naviguer dans la fenêtre more
Recherche dans un fichier
La commande more vous permet également de rechercher une chaîne de caractères spécifique dans un fichier. Cette fonction est particulièrement utile lorsque vous avez affaire à des fichiers volumineux et que vous recherchez des informations spécifiques. Pour ce faire, vous pouvez utiliser le ‘/’ suivi de la chaîne de caractères que vous recherchez.
Voici un exemple :
Dans cet exemple, la commande “more” affiche le contenu de monfichier.txt à partir de la première ligne contenant la “chaîne de recherche”.
more +/"chaîne de recherche" monfichier.txt
Vous pouvez également utiliser des expressions régulières avec l’option /pattern pour rechercher des motifs plus complexes. Par exemple, pour rechercher toutes les lignes commençant par le mot “error”, vous pouvez utiliser la commande suivante :
more /^error/ /var/log/syslog
Il ne s’agit là que de quelques exemples d’utilisations avancées de la commande ‘more’. Comme vous pouvez le constater, ‘more’ est un outil puissant pour visualiser et naviguer dans les fichiers sous Linux. Cependant, comme tout outil, il a ses avantages et ses inconvénients, et son utilisation dépend des exigences spécifiques de la tâche à accomplir.
Visualiser plusieurs fichiers
L’une des fonctions les plus puissantes de la commande more est la possibilité d’afficher plusieurs fichiers de manière séquentielle. Par exemple, si vous avez trois fichiers texte – fichier.txt, fichier2.txt et fichier3.txt – vous pouvez les afficher en séquence avec la commande suivante :
more fichier1.txt fichier2.txt fichier3.txt
Dans cet exemple, la commande “more” affiche d’abord le contenu du fichier1.txt. Lorsque vous aurez fini de visualiser le fichier1.txt, elle affichera le contenu du fichier2.txt, et ainsi de suite.
Pour passer au fichier suivant, appuyez sur :n. L’observateur se déplace alors au début du fichier suivant.
Pour reculer d’un fichier, appuyez sur :p. Cela permet de revenir au début du fichier précédent.
Vous pouvez bien entendu utiliser le caractère joker, par exemple pour visualiser tous les fichiers dictionnaires :
more /usr/share/dict/*
Afficher que X lignes par pages
Une autre option est utile est l’option -n suivi qui vous permet de définir le nombre de lignes à afficher par page. Par exemple pour n’afficher que 5 lignes par page d’un fichier :
more -n 5 fichier.txt
Ouvrir un fichier à la première occurrence d’une recherche
Pour ouvrir un fichier à un numéro de ligne, passez l’option + accompagnée d’un numéro de ligne. Par exemple pour ouvrir
Dans un tutoriel précédent, je présentais différentes commandes Linux (jobs, fg, …) afin de pouvoir exécuter des processus en arrière-plan. Mais à la fermeture du terminal, un signal SIGHUP (Signal Hang UP) est envoyé pour terminer tous les processus du shell. C’est là qu’intervient la commande disown qui permet de marquer un travail et donc un processus afin de ne pas lui envoyer ce SIGHUP pour qu’il puisse continuer à s’exécuter une fois le shell fermé. De plus, elle permet aussi de retirer chaque des travaux spécifiques de la table des tâches actives.
Dans ce tutoriel, je vous montre comment utiliser la commande disown de Linux.
Quelle est la syntaxe de la commande disown
Voici la syntaxe :
disown <options> <job-id>
Où :
<options> : Il existe plusieurs options, mais la plus courante est “-h”, qui indique au shell de ne pas envoyer de HUP (HangUP) lorsque le shell parent se termine.
<job-id> : L’identifiant du travail (job) que vous souhaitez dissocier du shell. Vous pouvez trouver l’identifiant du travail en utilisant la commande “jobs” dans le shell.
Comment utiliser la commande disown
Comment continuer à exécuter un travail après avoir quitté une invite shell en arrière-plan
Quelques rappels rapides concernant l’exécution de commandes sur Linux. Pour lancer une commande qui s’exécute en arrière plan, ajoutez le caractère & à la fin de la commande. Par exemple pour lancer le téléchargement d’un fichier avec wget en arrière-plan et l’ouverture d’un fichier avec vim :
Pour lister les travaux en cours, utilisez la commande jobs :
jobs -l
[1]- 226923 En cours d'exécution wget -O /dev/null -q http://bouygues.testdebit.info/10G.iso &
[2]+ 226940 Arrêté (via la sortie sur tty) vim /tmp/univers.txt
La commande wget est indiquée par “-“, ce qui signifie qu’elle deviendra la tâche active si la commande vim est interrompue
La commande vim est désignée par “+”, ce qui signifie qu’il s’agit d’une tâche active
Seulement, si vous fermez le terminal ou la session SSH, l’exécution de la commande s’arrête aussi car le système envoie un signal pour terminer toutes les commandes rattachées au shell. C’est là que la commande disown entre en jeu car elle permet de dissocier un processus du shell. Ainsi, si vous fermez le shell, son exécution continue.
Lorsque vous quittez le terminal de votre système, tous les travaux en cours sont automatiquement interrompus. Pour éviter cela, utilisez la commande disown avec l’option -h :
disown -h <%jobID>
Dans notre exemple, nous voulons que la commande wget continue à fonctionner en arrière-plan. Pour éviter qu’elle ne se termine à la sortie, utilisez la commande suivante :
disown -h %1
Tous les travaux pour lesquels vous avez utilisé la commande disown -h continueront de fonctionner.
Autre exemple, imaginons que vous souhaitez exécuter une mise à jour du système avec apt-get en root en arrière-plan et qui ne s’arrête pas si la session se termine. Voici les commandes à utiliser :
sudo -i # Pour devenir root apt-get upgrade &> /root/system.update.log & # Mise à jour du système avec redirection de la sortie dans un fichier disown -h # Marquer apt-get pour que SIGHUP ne soit pas envoyé à la sortie exit # On quitte le shell root
Supprimer tous les travaux en cours avec la commande disown
Sans aucune option, chaque jobID est supprimé de la table des jobs actifs, c’est-à-dire que l’interpréteur de commandes bash utilise sa notion du job en cours qui est affiché par le symbole + dans la commande jobs -l :
disown
Pour supprimer tous les travaux en cours d’exécution, utilisez l’option -r :
disown -r
Pour supprimer tous les travaux, utilisez l’option -a :
disown -a
Suppression de travaux spécifiques
Pour supprimer un travail spécifique du tableau des travaux, utilisez la commande disown avec l’identifiant de travail approprié. L’ID du travail est indiqué entre parenthèses dans le tableau des travaux :
Dans notre exemple, si nous voulons supprimer la commande vim, nous devons utiliser la commande disown sur le job 2 :
Le sous-système Windows pour Linux (WSL) de Microsoft change la donne en offrant une expérience Linux complète au sein de Windows. Lorsqu’on utilise une distribution WSL, on peut avoir besoin de transférer des fichiers entre Windows et Linux. Ne vous inquiétez pas, accéder aux fichiers Windows depuis WSL et inversement est relativement simple.
Dans ce tutoriel, je vous donne toutes les étapes pas à pas pour y parvenir.
Comment transférer facilement des fichiers de Windows vers le WSL à l’aide de l’Explorateur de fichiers
Voici comment accéder aux dossiers de la distributions WSL dans Windows afin de pouvoir transférer des fichiers.
Ouvrez l’explorateur de fichiers et, dans la barre d’adresse, tapez \\wsl$ puis appuyez sur Entrée.
Ouvrez la distribution Linux avec laquelle vous travaillez
Naviguez dans l’arborescence des dossiers jusqu’à ce que vous atteigniez votre dossier personnel /home/<nom-utilisateur>
Cliquez avec le bouton droit de la souris sur le dossier contenant votre nom d’utilisateur et cliquez sur Épingler à l’accès rapide. Vous disposez maintenant d’un moyen pratique de naviguer vers votre dossier d’accueil WSL sur votre panneau de gauche
A partir de là, vous pouvez copier des fichiers vers ce dossier ou encore créer de nouveaux fichiers
Comment accéder facilement aux fichiers Windows à partir du WSL
Par /mnt
Si vous souhaitez accéder facilement aux répertoires des utilisateurs Windows dans WSL, vous pouvez tirer parti des liens symboliques de Linux. Depuis WSL, vous pouvez accéder à l’arborescence de Windows via /mnt/c.
Pour simplifier l’accès à vos fichiers personnels, vous pouvez créer un lien symbolique dans votre répertoire home. Voici comment faire :
Assurez-vous d’être dans votre répertoire personnel.
cd
Créez un répertoire. Appelons-le “winhome”.
mkdir winhome
Créez un lien symbolique vers votre dossier utilisateur Windows qui mène à ce nouveau répertoire.
ln -s /mnt/c/Users/<nom-utilisateur>/ ~/winhome
N’oubliez pas de remplacer <nom-utilisateur> par votre nom d’utilisateur Windows. L’affichage du répertoire winhome devrait maintenant montrer un lien symbolique réussi.
Après cela, vous pouvez accéder au dossier ~/winhome/<nom-utilisateur> qui vous donne accès à vos fichiers personnels
Si nous lançons un gestionnaire de fichiers dans WSL, nous pouvons voir l’arborescence de notre répertoire Windows depuis l’environnement Linux.
Lorsque l’on quitte le shell d’un système Linux, tous les processus en cours sont généralement interrompus ou bloqués. C’est là que la commande nohup peut vous être utile. Tous les processus exécutés à l’aide de la commande nohup ignoreront le signal SIGHUP (Signal Hang UP), même après avoir quitté l’interpréteur de commandes. Cela permet donc d’exécuter des commandes en arrière-plan sans qu’il soit arrêter si vous fermez le terminal ou la session SSH.
Dans ce tutoriel, je vous explique comment utiliser la commande Nohup de Linux.
Comment utiliser la commande Nohup sur Linux
Démarrage d’un processus en arrière-plan à l’aide de Nohup
Dans ce premier exemple, vous souhaitez lancer en arrière-plan le téléchargement d’un fichier iso avec la commande wget.
nohup wget http://exemple.com/monfichier.iso &
Cette commande utilise nohup pour lancer un processus wget afin de télécharger un fichier volumineux. En ajoutant & à la fin, la commande s’exécute en arrière-plan, ce qui permet d’utiliser le terminal pour d’autres tâches. Le processus se poursuit même si l’utilisateur se déconnecte, ce qui garantit que le téléchargement s’effectue sans surveillance. La commande vous indique le numéro du travail entre crochet sui par le PID du processus :
[1] 33186
Vous pouvez lister les travaux en arrière-plan à l’aide de la commande jobs :
jobs -l
Si le script ou la commande ne produit aucune sortie standard, cette sortie est écrite dans nohup.out et non dans le terminal. Pour vérifier la sortie, nous pouvons utiliser tail pour suivre les mises à jour effectuées dans le fichier.
tail -f nohup.out
Vérifiez toujours le fichier ‘nohup.out’ pour toute sortie ou erreur de votre commande.
Arrêter le processus en arrière-plan
Si vous souhaitez arrêter ou tuer le processus en cours, utilisez la commande kill suivie de l’identifiant du processus, comme suit
kill 33186
Comment rediriger la sortie de la commande nohup
Imagions le cas où vous souhaitez exécuter un script en arrière-plan, tout en récupérant la sortie dans un fichier. Cela est possible grâce aux redirections de sortie Linux.
nohup ./script.sh > output.log 2>&1 &
Dans cette exemple, la commande nohup exécute un script personnalisé (script.sh). La redirection de la sortie est utilisée ici (> output.log 2>&1) pour capturer à la fois la sortie standard et l’erreur standard dans un fichier nommé output.log, garantissant ainsi que toute sortie du script est sauvegardée pour un examen ultérieur. Le & à la fin exécute le processus en arrière-plan.
Lorsque vous vous déconnectez d’une session Linux, le système envoie un signal HUP (hangup) à tous les processus actifs associés au terminal. Ce signal indique aux processus de se terminer. Mais lorsque l’on administre un système Linux, il peut parfois être nécessaire d’exécuter des commandes en arrière-plan. Par exemple, car on a besoin de libérer le terminal pour exécuter une seconde commande. Dans d’autres cas, lorsque l’on prend la main à distance par SSH, il peut être nécessaire que l’exécuter d’un script continue après la fermeture de la session.
Dans ce tutoriel, je vous donne plusieurs solutions pour lancer des commandes en arrière plan sur Linux.
Comment exécuter des commandes et processus en arrière-plan sur Linux
Avec le caractère &
Ajoutez l’esperluette à la fin d’une commande pour placer la commande en arrière-plan. Voici un exemple où on télécharger un fichier en arrière-plan avec wget :
Toutefois, cela ne suffit pas, si vous souhaitez que l’exécution du processus perdure après l’arrêt du terminal ou de la session. En d’autres termes, si vous vous déconnectez de votre terminal, tous les travaux en cours seront interrompus. Pour éviter cela, vous pouvez passer l’option -h à la commande disown. Cette option marque chaque jobID pour que le SIGHUP ne soit pas envoyé au job si l’interpréteur de commandes reçoit un SIGHUP. La syntaxe est la suivante :
disown -h <job-id>
Imaginons que vous souhaitez exécuter une mise à jour du système avec apt-get en root en arrière-plan et qui ne s’arrête pas si la session se termine. Voici les commandes à utiliser :
sudo -i # Pour devenir root apt-get upgrade &> /root/system.update.log & # Mise à jour du système avec redirection de la sortie dans un fichier disown -h # Marquer apt-get pour que SIGHUP ne soit pas envoyé à la sortie exit # On quitte le shell root
La commande nohup de Linux est un outil puissant qui vous permet d’exécuter vos processus en arrière-plan. Elle est extrêmement utile lorsque vous souhaitez exécuter un processus qui prend beaucoup de temps et que vous ne voulez pas occuper votre terminal ou votre session pendant toute cette durée.
La commande screen est un gestionnaire de fenêtres plein écran qui multiplexe un terminal physique entre plusieurs processus. Elle vous permet d’exécuter plusieurs sessions de terminal dans une même fenêtre et de passer de l’une à l’autre sans effort.
Voici comment démarrer une nouvelle session nommée ‘nom_session” avec la commande screen :
screen -S nom_session
Pour reprendre la session, utilisez l’option -r en indiquant le nom de la session :
Tmux, abréviation de “terminal multiplexer”, est une autre commande qui vous permet d’exécuter plusieurs sessions de terminal dans une seule fenêtre. Elle est similaire à screen, mais offre plus de fonctionnalités et une interface plus moderne.
tmux new -s ma_session
Dans cet exemple, nous démarrons une nouvelle session tmux nommée ‘ma_session’. La sortie “[detached (from session ma_session)]” indique que la session est en cours d’exécution en arrière-plan.
Pour s’attacher à la session, utilisez la commande attach :
Supprimer un service Linux (ou daemon) est une opération essentielle pour gérer efficacement un système d’exploitation basé sur Linux. Lorsqu’un service n’est plus nécessaire ou qu’il pose des problèmes, il est conseillé de le supprimer pour libérer des ressources système, améliorer les performances ou éviter des messages d’erreur. La suppression d’un service peut être réalisée de différentes manières selon la distribution Linux utilisée, mais généralement, elle implique l’utilisation de commandes spécifiques telles que “systemctl disable” ou “service stop“. Il est important de noter que la suppression d’un service peut entraîner des conséquences sur d’autres services ou fonctionnalités, il est donc recommandé de bien comprendre les implications avant de procéder à la suppression.
Suivez ce guide pour apprendre à supprimer un service dans Linux sans endommager le système.
Comment arrêter un service avec systemctl
Pour rappel, le fichier de déclaration d’un service en systemctl peut se trouver à deux emplacements /usr/lib/systemd/system/ ou /etc/systemd/system/.
Listez les services actif dans le système :
systemctl list-units --type=service
Puis identifiez le nom du service que vous souhaitez arrêter
Puis utilisez la commande suivante en remplaçant le nom du service :
sudo systemctl stop <nom service>
Par exemple pour arrêter le service CUPS :
sudo systemctl stop cups.service
sudo systemctl status cups.service
Il faut vérifier alors la ligne Active. Lorsque le service est désactivé, il est marqué en inactive (dead).
Active: inactive (dead) since Fri 2024-03-22 14:50:54 CET; 10min ago
Comment supprimer un service avec systemctl
Voici les commandes que vous devez utiliser pour supprimer un service dans Linux. Veuillez à remplacer <nom service> par le nom du service.
systemctl stop : arrête le service comme vu précédemment
systectl disable : désactive le service du démarrage de Linux en retirant les liens symboliques
Les commandes rm suppriment les fichiers du service. Attention car en supprimant le fichier de configuration, vous pourrez plus réactiver le service par la suite, sauf en réintégrant manuellement ce dit fichier
Enfin en dernier lieu, on réinitialise la configuration de systemctl
Pour simplifier encore, vous pouvez utiliser la commande ci-dessous. Définissez le nom du service à supprimer dans la variable service.
Dans un article précédent, j’explore les permissions de fichiers dans Linux. Mais il est très important de définir des autorisations appropriées pour garantir la sécurité absolue de vos données critiques. Tous les utilisateurs, à l’exception du propriétaire et de l’utilisateur root, ont des privilèges limités sur les fichiers et les répertoires. Vous devez disposer des privilèges sudo pour élever vos privilèges. Vous pouvez également gérer les autorisations à l’aide du bit SUID.
Cet article explore ces trois autorisations spéciales dans les systèmes de fichiers Linux. Nous allons nous plonger dans les détails de chaque permission et discuter de la manière de les définir sur les fichiers et les répertoires. Plus précisément, nous verrons comment définir SUID sur un fichier et SGID sur un répertoire et comment activer la permission sticky bit.
Qu’est-ce que le SUID ?
SUID, abréviation de Set User ID, est une autorisation spéciale qui peut être attribuée aux fichiers exécutables. Lorsque l’autorisation SUID est activée pour un fichier exécutable, elle permet aux utilisateurs qui exécutent le fichier d’assumer temporairement les privilèges du propriétaire du fichier. Cela signifie que même si un utilisateur ne dispose pas des autorisations nécessaires pour accéder à certaines actions ou les effectuer, il peut le faire en exécutant un fichier doté de l’autorisation SUID.
Si le bit suid est activé sur un exécutable, chaque fois que ce programme est exécuté, le processus acquiert les privilèges du propriétaire du fichier, quel qu’il soit. Par exemple, si j’ai un binaire suid qui appartient à “root” et que j’exécute sous mon nom d’utilisateur normal (non root), il s’exécutera avec toutes les autorisations de root. Il y a aussi SGID. Dans Linux, certains binaires de Linux ont des bits SUID. Par exemple, le binaire /usr/bin/passwd. passwd est une commande permettant de modifier le mot de passe de l’utilisateur et possède un bit SUID. Lorsque nous tapons la commande, nous l’exécutons en tant qu’utilisateur root.
Qu’est-ce que le SGID ?
SGID, qui signifie Set Group ID, est une autre autorisation spéciale qui peut être appliquée aux fichiers et aux répertoires exécutables. Lorsque l’autorisation SGID est activée pour un fichier exécutable, elle permet aux utilisateurs qui exécutent le fichier d’assumer temporairement la propriété de groupe du fichier. Pour les répertoires pour lesquels l’autorisation SGID est activée, les fichiers et répertoires nouvellement créés dans ce répertoire héritent de la propriété de groupe du répertoire parent plutôt que de la propriété de groupe par défaut de l’utilisateur.
L’autorisation SGID est notamment utilisée dans les environnements collaboratifs où plusieurs utilisateurs doivent travailler sur des répertoires partagés. En définissant l’autorisation SGID sur un répertoire partagé, tous les fichiers et répertoires créés dans ce répertoire auront automatiquement la même propriété de groupe, garantissant ainsi une collaboration et un contrôle d’accès adéquats.
Le SUID, SGID : comment ça marche
L’attribut suid qui te note (s) est utilisé pour exécuter une commande comme propriétaire du fichier au lieu de l’utilisateur qui a émis la commande en premier lieu.
le binaire passwd a des permissions suid indiqué par le s à la place de x
Or la commande passwd peut être exécuté par n’importe quel utilisateur pour modifier son mot de passe. Alors comment le fichier /etc/shadow se met à jour puisque seul root peut écrire dedans ? Grâce au suid sur le binaire passwd. En réalité, ce dernier s’exécute en root même si appelé par un utilisateur Linux :
Voila tout l’intérêt du suid. On peut attribuer ou supprimer le suid avec chmod de la manière suivante :
chmod u+s fichier
chmod u-s fichier
Le guid fonctionne dans la même logique pour le groupe et se note (S).
Comment changer le SUID d’un fichier ou répertoire
Pour attribuer le SUID à un fichier, on utilise la commande chmod via l’attribut s. Voici la syntaxe à utiliser :
chmod u+s <fichier>
Ainsi pour donner le droit SUID sur le fichier script.sh :
chmod u+s script.sh
Une autre façon de définir l’autorisation SUID sur un fichier, il faut utiliser la commande chmod avec la représentation numérique de l’autorisation. La valeur numérique de SUID est 4.
chmod 4xxx <fichier>
Soit pour attribuer les permissions 755 ainsi que l’attribut SUID au fichier script.sh :
chmod 4755 script.sh
Enfin pour retirer l’attribut SUID, on repasse le bit à 0 comme ceci :
chmod 0755 script.sh
Comment changer le SGID d’un fichier ou répertoire
Pour changer le SGID à un fichier ou répertoire, on utilise aussi la commande chmod pour attribuer l’attribut s au groupe comme ceci :
chmod g+s <fichier>
Vous pouvez aussi utiliser la valeur numérique 2 comme ceci :
chmod 2xxx <fichier>
Qu’est-ce que le sticky bit
Enfin le sticky bit qui se note (t) est la dernière forme de permissions de fichiers. Il permet d’interdire la suppression ou déplacement de fichiers dans un répertoire créé par un autre utilisateur. L’utilisateur ne pourra supprimer que ses propres fichiers.
Cet attribut est utile par exemple dans un dossier partagé NFS, vous désirez que les utilisateurs puissent créer des fichiers dans un répertoire mais ne puissent pas les supprimer.
Enfin sur Linux, le dossier /tmp possède cet attribut t pour éviter les suppressions de fichiers entre applications qui utilisent un utilisateur différent ou entre utilisateurs locaux.
Pour attribuer le sticky bit, utilise l’attribut t avec la commande chmod :
chmod o+t <fichier>
chmod g+s <fichier>
Comment trouver les fichiers avec le bit SUID
Utilisez la commande find pour rechercher tous les fichiers contenant le SUID. La commande suivante répertorie tous les fichiers dont le bit SUID est défini dans le répertoire actuel :
GRUB, acronyme de GRand Unified Bootloader, est le chargeur de démarrage par défaut de la plupart des systèmes d’exploitation Linux. Le chargeur de démarrage GRUB est le premier programme qui s’exécute au démarrage de l’ordinateur. Comme vous l’avez peut-être remarqué, le thème par défaut du menu GRUB est fade. Il s’agit simplement d’un fond noir avec des caractères blancs. Certains d’entre vous n’aiment peut-être pas le thème par défaut de GRUB.
Dans ce tutoriel, je vais vous montrer comment changer le thème de GRUB ou appliquer des thèmes magnifiques afin de rendre votre menu GRUB plus beau et plus élégant sous Linux.
Vous pouvez supprimer le thème GRUB assez facilement en effectuant la procédure inverse. Il suffit :
d’éditer le fichier /etc/default/grub et supprimer les entrées GRUB_THEME et GRUB_GFXMODE
relancez la commande update-grub
supprimer le répertoire /boot/grub/themes
Là aussi certains script vous permette de supprimer le thème via leur script d’installation mais pas tous. Pour supprimer un thème installé, allez dans le répertoire cloné du projet :
Discord est une plateforme de communication populaire utilisée principalement par les joueurs, mais aussi par de nombreuses autres communautés en ligne. On peut le voir comme un mélange de service de messagerie instantanée et de service de chat vocal.
Vous souhaitez pouvoir utiliser Discord sur Linux ? Ne vous inquiétez pas, cela est possible. Pour réussir à installer Discord sur Linux, je vous propose, dans ce tutoriel, deux méthodes différentes.
Comment installer Discord sur Linux
Par APT
Sur Github, on trouve un projet proposant une source APT pour Discord. La méthode par APT est à privilégier car vous pouvez bénéficier des mises à jour très facilement.
Créer un fichier /etc/apt/sources.list.d/discord.list par exemple avec nano :
sudo nano /etc/apt/sources.list.d/discord.list
Puis copiez la source suivante :
deb https://palfrey.github.io/discord-apt/debian/ ./
Appuyez sur CTRL+O pour quitter l’éditeur nano
Validez par entrée sur le nom du fichier
Puis ajoutez le fichier de signature armoriée suivante :
Enfin mettez à jour les sources et installez discord
sudo apt-get update sudo apt-get install discord
Il ne reste plus qu’à démarrer l’application en faisant une recherche d’application
Des mises à jour s’effectue et Discord s’ouvre. identifiez-vous pour accéder à vos salons
Par la suite, vous pouvez mettre à jour discord de manière classique comme tout paquet :
sudo apt-get update
sudo apt-get upgrade
Manuellement
Dans cette seconde méthode, on télécharge puis installe le paquet manuellement. Cela signifie que lorsque Discord réclamera à être mis à jour, vous devez répéter cette opération pour mettre à jour le paquet. En effet, contrairement à APT, ici aucune mise à jour automatique n’est disponible mais l’avantage ici est que vous passez par les sources officielles.
MediCat est plutôt destiné aux utilisateurs avancées et personnes qui dépannent des PC. En effet, il nécessite une clé USB de 32 Go car ils embarquent beaucoup d’outils de diagnostics et de réparation. Ainsi, si vous rencontrez un problème ponctuel, il vaut mieux se tourner vers d’autres Live USB.
Ce projet est absolument gratuit à utiliser; Je ne charge rien pour MediCat USB
La clé USB MediCat complète vise à remplacer le CD / DVD de démarrage de Hiren’s Boot CD, pour les ordinateurs de pointe
Très complet avec de nombreux logiciels de maintenance et portable
MediCat USB est exempt de virus, de logiciels malveillants ou de tout type de code malveillant (même si Windows Defender peut émettre des alertes durant la création de la clé USB)
Modifiez les ISO et les menus de MediCat comme bon vous semble pour y ajouter d’autres live USB
Les projets dérivés sont autorisés et encouragés
Voici un tutoriel complet de MediCat et comment créer une clé USB de secours et de dépannage.
Qu’est-ce que Medicat ?
Cet utilitaire de dépannage informatique embarque un système d’exploitation basé sur Windows 10. Il fonctionne sous forme de Live USB. C’est à dire que vous pouvez le mettre sur clé USB pour démarrer le PC dessus et diagnostiquer, résoudre les problèmes de fonctionnement de Windows.
MediCat est compatible UEFI et BIOS Legacy. Il embarque entre autre Malwarebytes pour détecter et supprimer les virus. On trouve aussi beaucoup d’utilitaires PortableApps.
Voici quelques outils de dépannage proposés par MediCat :
Utilitaires de récupérations de données : Les Options Microsoft ou Easy Recovery pour Windows 11, Windows 10, Windows 8.1
Live USB : Active0 Data Studio, Mini Windows 10 et SystemRescue
Outils de disques : Acronis Disk Director, AOMEI Partition Assistant, DiskGenius, EaseUS Partition Master, Minitool Partition Wizard, Paragon Hard Disk Manager et bien d’autres
Outils de sauvegarde et de récupération de fichiers : Acronis True Image, Macrium Reflect, EaseUS Todo Backup et Date Recovery Wizard, Minitool Data Recovery et bien d’autres
Outils de réparation du démarrage : BootIt Bare Mteal, Boot-Repair Disk, EasyUEFI, Rescatux, Super Grub2 Disk
Outils de diagnostics : Memtest86+, TestDisk, HDAT2, Spinrite et Ultimate Boot CD
Analyses antivirus : Comodo Rescue Disk, MBAM
Réinitialiser et suppression de mots de passe Windows : Active Password Changer, Daossoft Windows Password Rescuer, Offline NT Password & Registry Editor, PCUnlocker, Boot Kon-Boot CD
Comment créer une clé USB de secours et de dépannage MediCat
Vous aurez besoin d’une clé USB de 32 Go minimum. MediCat fournit un installer qui permet d’automatiser la création de la clé USB. Voici comment l’utiliser :
Insérez votre clé USB et sauvegardez les fichiers qui s’y trouvent
Saisissez la lettre de lecteur de la clé USB et appuyez sur la touche Entrée
Cliquez sur YES afin de télécharger les fichiers de MediCat
Cliquez sur CDN afin d’avoir un téléchargement direct
Patientez durant le téléchargement, le fichier faisant environ 25 Go, cela va prendre du temps
Si le téléchargement se bloque, ne fermez pas la fenêtre de l’invite de commandes, faites un clic droit sur la fenêtre noire puis gauche, cela doit relancer l’étape précédente. Le téléchargement va alors reprendre depuis le moment où le téléchargement s’est bloqué (resume)
Ensuite Medicat Installer décompresse les fichiers sur la clé USB. Là aussi cela prendre du temps
Durant cette phase de copie, Sécurité Windows peut afficher des menaces détectées. Il s’agit ici d’alertes exagérées. Les fichiers vont être mis en quarantaine. Pour la plupart, il s’agit d’application portable. Vous pouvez les restaurer si besoin : Comment supprimer/restaurer un élément de la quarantaine de Windows Defender
Enfin quand l’installation est terminée, appuyez sur une touche, une vérification des fichiers est effectué afin de vérifier si des fichiers sont corrompus. Laissez l’opération se dérouler pour plus de sécurité
Vous pouvez alors démarrer l’utilitaire antivirus, de diagnostics ou autres depuis le menu MediCat.
Bravo ! vous avez réussi à télécharger puis créer la clé USB MediCat pour dépanner votre PC.
Comment utiliser la clé USB de dépannage MediCat
La clé USB MediCat s’utilise de la même manière que tous les clés USB bootable. Vous devez lancer la clé USB au démarrage du PC :
Celle-ci s’amorce pour arriver à l’environnement portable et vous arrivez sur le menu où vous pouvez exécuter chaque application.
A partir de là vous pouvez accéder aux utilitaires inclus dans le live USB à l’aide des touches de directions et en validant par entrée. Par exemple lorsque vous entrée dans Live_Operating_Systems, vous pouvez démarrer sur Active0 Data Studio, Mini Windows 10 ou SystemRescue.
Appuyez sur F3 pour afficher l’ensemble des utilitaires présents sur le Live USB.
Par exemple ci-dessous, on lance Malwarebytes Anti-Malware à partir de MediCat afin de désinfecter son PC. Comme vous pouvez le voir on retrouve un environnement Windows 10 pour dépanner son PC.
Comment ajouter d’autres Live USB dans MediCat
Enfin vous pouvez ajouter d’autres live USB dans MediCat afin de pouvoir booter dessus. Il suffit de copier le fichier ISO dans le dossier OS-Images.
Ensuite, allez dans le menu Windows Installer. La liste des ISO s’affichent. Validez celle que vous souhaitez ouvrir.
Sélectionnez Boot in normal mode pour démarrer le Live USB.
La FAQ
La FAQ avec certains questions reprises du site officiel.
MediCat est-il gratuit ?
Absolument. Le projet est totalement gratuit.
À quelle fréquence cela sera-t-il mis à jour?
Tous les ISO inclus sur l’image seront mis à jour vers leurs dernières versions, peu de temps après chaque sortie de Lubuntu tous les 6 mois (avril et octobre). Les liens ici seront toujours la dernière version. Les PortableApps peuvent être facilement mises à jour par l’utilisateur, une fois qu’elles ont été «gravées» sur USB.
Puis-je exécuter les PortableApps sur mon PC actuel sans démarrer MediCat? “
Oui, montez simplement le MediCat USB et ouvrez Start.exe pour lancer la plate-forme. Ce sont les mêmes applications exactes qui sont chargées dans Mini Windows 10. Donc, si vous les mettez à jour, elles s’afficheront également dans Mini Windows 10.
Comment créer une clé USB de 32 Go ?
-Installez Ventoy sur le lecteur. -Ouvrir le fichier .bin de Medicat avec 7-zip -Extrayez les ISO que vous souhaitez. -Extrayez tous les fichiers EFI de la partition EFI. -Mettez les fichiers ISO que vous avez choisis sur la partition FAT de votre clé. -Ouvrez l’assistant de partition MiniTool (ou Windows Disk Manager) et donnez à la partition EFI de votre clé une lettre de lecteur. -Ensuite, écrasez tous les fichiers EFI du stick avec ceux MediCat extraits. -La suppression de la lettre de lecteur de la partition EFI par la suite est complètement facultative et n’affecte en rien la fonctionnalité du lecteur.
La commande watch sur Linux est un utilitaire en ligne de commande qui permet d’exécuter périodiquement une autre commande ou un script et d’afficher sa sortie en temps réel. Cela permet de surveiller les résultats d’une commande ou d’un script de manière continue, sans avoir à ré-exécuter manuellement la commande à chaque fois.
L’utilitaire watch fait partie du paquet procps (ou procps-ng) qui est préinstallé sur presque toutes les distributions Linux.
Dans ce tutoriel, je vous montre comment utiliser la commande watch avec des exemples.
Syntaxe de la commande watch de Linux
Voici la syntaxe de l’utilitaire :
watch <options> <commande>
Options
Description
n, –interval=
Spécifie l’intervalle de temps en secondes entre deux exécutions de la commande. Par exemple, -n 5 spécifie un intervalle de 5 secondes.
-d, –differences
Met en évidence les changements entre deux exécutions consécutives de la commande.
-t, –no-title
Supprime la ligne de titre affichant l’heure actuelle et le nom de la commande.
-b, –beep
Joue un son d’alerte (bip) si la commande se termine par une erreur.
-p, –precise
Tente d’exécuter la commande après le nombre exact de secondes défini par l’option –interval.
-e, –errexit
Arrête la mise à jour de la sortie en cas d’erreur et quitte la commande après avoir appuyé sur une touche.
-c, –color
Interprète les séquences de couleurs et de styles ANSI.
-x, –exec
Transmet la commande définie par l’utilisateur à exec, ce qui réduit la nécessité d’utiliser des guillemets supplémentaires.
-w, –no-linewrap
Désactive le retour à la ligne et tronque les longues lignes.
-h, –help
Affiche le texte d’aide et quitte.
-v, –version
Affiche les informations sur la version et quitte.
Les options de la commande watch
Comment utiliser la commande watch avec des exemples
Utilisation basique
Pour mieux illustrer le fonctionnement de la commande watch, exécutons la commande date :
watch date
La commande watch efface le contenu du terminal (mais il n’est pas perdu) pour afficher le résultat de la commande. Par défaut, sans option, la fréquence d’exécution de la commande est de 2s.
En haut à gauche de l’en-tête de l’écran, vous pouvez voir l’intervalle de mise à jour de watch et la commande exécutée (Every 2.0s : date), tandis qu’en haut à gauche, watch affiche l’heure et la date actuelles. Si vous souhaitez désactiver l’en-tête, utilisez l’option -t(–no-title).
La sortie de la commande spécifiée est affichée à l’écran et mise à jour régulièrement toutes les deux secondes.
Pour quitter la commande watch, il suffit d’appuyer sur la combinaison de CTRL+C.
Comment modifier l’intervalle de temps
Que faire si l’intervalle de mise à jour par défaut de deux secondes ne convient pas à votre cas d’utilisation ?
L’option -n (–interval) suivie du nombre de secondes souhaité vous permet de modifier l’intervalle de temps entre les mises à jour :
watch -n <intervalle en seconde> <commande>
Par exemple, pour surveiller l’utilisation de l’espace disque avec la commande df et rafraîchir l’écran toutes les cinq secondes, vous devez exécuter la commande suivante :
watch -n 5 df
Mise en évidence de la différence entre les mises à jour
L’option -d (–différence) permet à watch de mettre en évidence les changements entre deux mises à jour successives.
watch -d <commande>
Supposons que vous souhaitiez surveiller le temps de fonctionnement du système en exécutant la commande uptime et mettre en évidence les changements. La commande serait la suivante :
watch -d uptime
Si vous souhaitez que les surlignements restent collés, ajoutez =cumulative à l’option -d. Cela signifie que toutes les valeurs qui ont été modifiées resteront en surbrillance.
watch -d=cumulative <commande>
Commandes avec des tuyaux (pipe)
Si vous voulez exécuter une commande qui contient des tuyaux, vous devez mettre la commande entre guillemets simples ou doubles. Si vous ne mettez pas la commande complète entre guillemets, watch n’exécutera que la première commande, puis dirigera sa sortie vers la commande suivante dans le pipeline.
watch <commande1> | <commande 2>
Par exemple, la commande suivante surveillera le nombre de connexions actives sur le port 80 en utilisant une combinaison des utilitaires ss et grep :
watch "ss -t|grep :https"
Quitter en cas de changement
L’option -g ou –chgexit permet à la commande watch de sortir en cas de changement dans la sortie :
watch -g <commande>
Par exemple, l’ajout de la commande free permet de surveiller la consommation de mémoire de votre système et de quitter la commande si la valeur change :
watch -g free
Masquer l’en-tête de la commande watch
Désactivez l’en-tête contenant l’intervalle de temps, la commande définie par l’utilisateur et l’heure actuelle du système dans la sortie de la commande watch en utilisant l’option -t ou –no-title :
watch -t <commande>
Revenons à l’exemple de l’affichage de la date et de l’heure du système, cette fois sans l’en-tête :
Sous Linux, il existe plusieurs façons d’installer un paquet (et donc un logiciel). Cela peut être déroutant pour les nouveaux utilisateurs, d’autant plus que les commandes utilisées pour installer les paquets varient en fonction de la distribution de Linux que vous utilisez.
Dans ce tutoriel complet, nous aborderons onze façons différentes d’installer des paquets sous Linux : à l’aide des gestionnaires de paquets commande rpm ou dpkg, de la commande yum, de la commande apt, dpkg, de la commande dnf mais aussi via l’interface graphique. Ainsi vous serez en mesure d’installer un paquet sur la plupart des distributions Linux telles qu’Ubuntu, Linux Mint, Debian, Fedora, Arch Linux et toutes leurs dérivés !
Comment installer un paquet sur Ubuntu, Linux Mint, Debian, etc
Avec APT
Sur les distributions Linux de type Debian et leurs dérivés, le gestionnaire de paquets est Advanced Packaging Tool (APT. Il permet de télécharger un paquet et l’installer depuis les dépôts officiels tout en gérant les dépendances. C’est la méthode la plus facile.
Pour chercher un paquet par un nom, description, etc :
apt-cache search <mot clé>
Ensuite, la syntaxe pour installer un ou plusieurs paquet(s) :
sudo apt install <nom paquet1> <nom paquet2>
Par exemple pour installer VLC, utilisez la commande suivante :
sudo apt install vlc
Enfin pour supprimer un paquet ou logiciel, utilisez la commande remove :
Aptitude : Aptitude est un frontal de l’outil APT avec des options supplémentaires
Snap : Les snaps sont des paquets fonctionnant sur de nombre distributions Linux différentes, permettant une livraison et un fonctionnement sécurisés des dernières applications et utilitaires
Avec dpkg
Dans certains cas, vous pouvez télécharger des paquets de logiciels directement depuis l’internet dans des formats tels que .deb (basé sur Debian). Bien que cela soit moins courant, vous pouvez les installer manuellement, mais soyez prudent car ces paquets peuvent ne pas provenir de sources fiables et peuvent potentiellement endommager votre système.
Pour installer un paquet au format .deb, vous devez utiliser la commande dpkg avec l’option -i comme ceci :
sudo dpkg -i <nom du paquet>.deb
Par exemple, si vous avez télécharger le paquet vlc_3.0.20-1+b2_amd64.deb, il faudra utiliser :
Comment installer un paquet sur Fedora, RHL Linux, Mageia, et OpenMandriva
Avec Dnf ou Yum
Yum (ou son sucesseur Dnf) est le gestionnaire de paquets sur les distributions de type Redhat comme RHL Linux, Mageia, OpenMandriva ou Fedora. Il permet de télécharger un paquet RPM depuis les dépôts de la distribution pour l’installer tout en générant les dépendances.
Pour rechercher un paquet par un nom, description :
RPM est l’acronyme de Red Hat Package Manager, bien qu’il soit devenu un terme plus large englobant à la fois le format des paquets et le système de gestion des paquets lui-même. Il permet d’installer un paquet au format RPM.
Comment installer un paquet sur Arch Linux avec pacman
Arch Linux et ses dérivés (Bluestar Linux, Manjaro Linux, EndeavourOS, SteamOS, …) utilisent le système de paquets pacman. Ainsi pour installer un paquet, on utilise la commande pacman avec l’option -S avec la syntaxe suivante :
sudo pacman -S <nom paquet1> <nom paquet2>
Par exemple, pour installer VLC :
sudo pacman -S vlc
Comment installer un logiciel sur Linux avec Flatpak
Flatpak veut corriger cela en offrant une plate-forme universelle pour installer, gérer et désinstaller les logiciels sur toutes les distributions Linux. Pas besoin de s’inquiéter des dépendances ou autres.
Lorsque vous vous rendez sur le site d’un éditeur, vous pouvez rencontrer des paquets au format Flatpak. De plus, il existe aussi le dépôt FlashHub pour télécharger des logiciels avec ce format.
La syntaxe pour installer un paquet au format flatpak est la suivante :
Logiciels de GNOME (ou GNOME Software) est est le centre d’applications logicielles par défaut de l’environnement de bureau GNOME, couramment utilisé dans les distributions Linux telles qu’Ubuntu, Fedora et d’autres.
Il fournit une interface conviviale pour :
Installer, mettre à jour et supprimer des logiciels
Naviguer et rechercher les applications disponibles
Gérer les dépôts de logiciels (sources de paquets de logiciels)
Discover – le center des logiciels KDE
Discover est le centre des logiciels KDE et fonctionne avec toutes les distributions qui supportent AppStream (Ubuntu, Debian, Arch-Linux, OpenSUSE, Red Hat, Fedora, …).Il vous permet de chercher des logiciels par catégorie ou via un moteur de recherche. Ensuite vous pouvez installer l’application souhaitée. Bien entendu, il est aussi possible de désinstaller une application.
Synaptic (pour Debian, Linux Mint, Ubuntu, …)
Synaptic est un gestionnaire de paquets en graphique pour les distributions Linux basées sur Debian comme Ubuntu, Mint et d’autres. Il fournit une interface graphique conviviale pour la gestion des paquets de logiciels, offrant des fonctionnalités telles que :
L’installation, la suppression et la mise à jour de paquets logiciels
La recherche de logiciels disponibles
Affichage d’informations détaillées sur les paquets installés
Gestion des dépendances des paquets (autres paquets nécessaires au fonctionnement du logiciel)
gsettings est un outil en ligne de commande pour interagir avec la base de données dconf, qui est une base de données clé-valeur utilisée par l’environnement de bureau GNOME pour stocker les paramètres de configuration. La commande gsettings vous permet d’interroger et de modifier les valeurs stockées dans la base de données dconf. Elle fournit également une validation de schéma pour s’assurer que les valeurs que vous définissez sont du bon type et qu’elles sont conformes aux contraintes définies dans le schéma.
Dans ce tutoriel, je vous montre comment utiliser la commande gsettings avec des exemples afin d’interagir avec la base de données dconf.
La syntaxe de gsettings
Commandes
Description
help
Afficher l’aide de la commande
list-schemas
Liste les schémas installés
list-relocatable-schemas
Liste les schémas réadressables
list-keys
Liste les clés dans un schéma
list-children
Liste les enfants d’un schéma
list-recursively
Liste les clés et les valeurs, récursivement
range
Demande le domaine de validité de la clé
describe
Demande la description de la clé
get
Renvoie la valeur d’une clé
set
Définit la valeur d’une clé
reset
Rétablit la valeur par défaut d’une clé
reset-recursively
Rétablit toutes les valeurs dans un schéma donné
writable
Teste si la clé est inscriptible
monitor
Contrôle les modifications
La liste des commandes de gsettings
Utiliser gsettings avec des exemples dans Linux
Lister les schémas
Pour lister tous les schémas, utilisez la commande list-schemas sans aucun argument.
gsettings list
Pour lister tous les enfants d’un schéma, utilisez la commande list-children en spécifiant le schéma comme ceci :
Pour lister les clés d’un schéma, utilisez la commande list-keys
gsettings list-keys org.gnome.desktop.background
Afficher la valeur d’une clé
Vous pouvez utiliser gsettings pour obtenir la valeur d’une clé particulière en exécutant la commande.
gsettings get <schema> <clé>
Par exemple, pour obtenir la valeur de la clé picture-uri dans le schéma org.gnome.desktop.background, vous devez exécuter la commande :
gsettings get org.gnome.desktop.background picture-uri
Modifier la clé d’une valeur
Vous pouvez également utiliser gsettings pour définir la valeur d’une clé en exécutant la commande :
gsettings set org.schema.exemple <clé> <valeur>
Par exemple, pour définir la valeur de la clé background dans le schéma org.gnome.desktop.background à //cdn.thegeekdiary.com/path/to/image.jpg, vous devez exécuter la commande :
gsettings set org.gnome.desktop.background picture-uri /chemin/de/image.jpg
Afficher le domaine de validité d’une clé
Enfin une clé peut avoir plusieurs types, utilisez la commande range pour connaître ceux attendus :
gsettings range org.gnome.desktop.background picture-uri
Dconf est le système de configuration de bas niveau utilisé par l’environnement de bureau GNOME. Il s’agit essentiellement d’une base de données, où les différentes configurations sont stockées sous forme de clés avec leurs valeurs. Les clés de la base de données peuvent être inspectées, modifiées ou vidées à l’aide de l’utilitaire dconf ou de l’outil graphique dconf-editor.
Dans ce tutoriel, vous allez apprendre ce qu’est dconf et quel est son utilité. Nous allons aussi voir la commande dconf pour gérer les clés dconf, comment les sauvegarder et les restaurer et comment maintenir l’état de la base de données en synchronisation avec un fichier de configuration. Enfin, je vous parlerai aussi de dconf-editor, un éditeur graphique pour modifier la configuration dconf.
Qu’est-ce que dconf
Dconf est une base de données de paramètres utilisée dans Gnome3 et les systèmes similaires (tels que Unity et XFCE). Dconf est le prédécesseur de Gconf qui était utilisé dans Gnome2. Il fournit un système de configuration utilisé par l’environnement de bureau.
Dconf agit donc comme une base de registre, un peu similaire à celle de Windows mais optimisé pour une lecture rapide. Le fichier de configuration est de type GVariant Database dont les données sont fournies se présente essentiellement une table de hachage.
Il fonctionne aussi sous la forme d’un service (/usr/libexec/dconf-service) avec une architecture client/serveur partielle en s’appuyant sur D-Bus. Le système de messagerie D-Bus permet aux applications de communiquer entre elles sous Linux Enfin il présente aussi sous la forme d’une commande dconf qui permet de gérer cette base de données.
L’utilisation principale de dconf est de :
stocker la configuration de l’utilisateur
fournit un profil de configuration matérielle et logicielle du système, que le système dconf collecte. Les profils dconf vous permettent de comparer des systèmes identiques pour résoudre des problèmes matériels ou logiciels
La compréhension de ce système peut aider les utilisateurs à comprendre comment apporter diverses modifications et corrections à leur système.
Où se trouvent les fichiers dconf dans Linux
Toutes les préférences sont stockées dans un seul grand fichier binaire. La superposition des préférences est est possible en utilisant plusieurs fichiers (par exemple, pour les valeurs par défaut du site). Le verrouillage est également pris en charge. Le fichier binaire pour les valeurs par défaut peut optionnellement être compilé à partir d’un ensemble de fichiers clés en texte clair.
Essentiellement, on trouve donc deux emplacements dconf :
~/.config/dconf/user est la base de données binaire utilisée par Dconf pour stocker la configuration utilisateur
/etc/dconf stocke la base de données et le configuration des profiles
Comment utiliser la commande dconf
Les commandes
Commande
Description
help
Afficher l’aide de la commande
read
Lire la valeur d’une clé
list
Liste le contenu d’un répertoire
write
Modifier la valeur d’une clé
reset
Réinitialise la valeur d’une clé ou d’un répertoire
compile
Compile une base de données binaire à partir des fichiers de clés
update
Mettre à jour les bases de données du système
watch
Surveiller les modifications d’un chemin d’accès
dump
Décharger un sous-chemin entier sur la sortie stdout
load
Remplir un sous-chemin à partir de stdin
Liste des commandes dconf
Avant de pouvoir utiliser dconf, vous devez comprendre la structure de la base de données.
Une clé est stockée dans un schéma avec un chemin de la manière suivante :
SCHÉMA[:CHEMIN] CLÉ
Par exemple la clé picture-uri se trouve dans le schéma org.gnome.desktop.background. La commande dconf sépare les schémas par des /
Pour lister les clés de la base de données dconf, on utilise l’option list suivi de la clé.
dconf list <clé>
Par exemple, pour lister le contenu racine :
dconf list /
Une clé commence et se termine forcément par le caractère / Autre exemple pour lister le contenu de la clé /apps/update-manager/ :
dconf list /apps/update-manager/
Récupérer la valeur d’une clé
Pour récupérer la valeur d’une clé stockée dans la base de données dconf, nous pouvons utiliser la commande read de l’utilitaire dconf. Prenons un exemple. Imagions que vous souhaitez connaître l’arrière-plan configuré dans GNOME. Vous pouvez alors lire la valeur de la clé suivante :
Bien entendu, il est aussi possible de modifier une valeur d’une clé, cela grâce à la commande write. Si on reprend l’exemple précédent, vous pouvez modifier l’arrière-plan en modifiant l’image stockée comme valeur dans la clé dconf.
Sauvegarde et restauration d’une base de données dconf
Enfin, il est possible de sauvegarder et rester la configuration dconf. Cela peut être utile avant toutes modifications. Pour exporter les clés dconf, utilisez la commande dump.
Ici pour exporter les clés complètes vers le fichier dconf_backup.txt :
dconf dump / > dconf_backup.txt
Pour importer et restaurer les clés dconf, on utilise la commande load :
dconf load / < dconf_backup.txt
dconf-editor : éditeur graphique pour dconf
Les fichiers de base de données du système, situés dans /etc/dconf/db, ne peuvent pas être modifiés car ils sont écrits au format GVDB. Pour modifier les paramètres du système à l’aide d’un éditeur de texte, vous pouvez modifier les fichiers clés qui se trouvent dans les répertoires de fichiers clés.
Dconf-editor est un programme GUI utilisé pour effectuer diverses modifications dans la base de données Dconf.
Vous pouvez l’installer avec APT pour les distributions de type Debian, Ubuntu, Linux Mint, etc
Vous pouvez le lancer depuis un terminal ou exécuter l’application Éditeur dconf.
Sur le côté gauche de la fenêtre se trouvent diverses catégories telles que apps, ca, com, desktop, org, et system. Chacune d’entre elles contient de nombreuses sous-catégories
La partie droite de la fenêtre affiche les paramètres de la catégorie ou de la sous-catégorie sélectionnée. Dans cette partie de la fenêtre, les utilisateurs peuvent modifier les paramètres. En bas de la fenêtre, l’utilisateur trouvera diverses informations sur le paramètre sélectionné
Voici une liste et une description de chacune des catégories/schémas principaux. Comme le montre la capture d’écran ci-dessus, les sous-dossiers de dconf diffèrent selon si l’application est exécutée avec l’utilisateur courant ou en tant que root.
apps – les paramètres pour des applications spécifiques
ca – paramètres relatifs à Dconf lui-même
com – les paramètres spécifiques/communs au système actuel
desktop – les paramètres du système de bureau (comme Gnome, iBus, etc.)
gnomes – les paramètres de GNOME
gkt – Les paramètres de GTK
org – les paramètres appartenant aux applications ou aux sous-systèmes de diverses organisations ou groupes se trouvent ici. Par exemple, de nombreuses applications sont développées par les développeurs de Gnome et les développeurs de Freedesktop, qui ont donc chacun une catégorie dédiée à l’ensemble de leurs logiciels.
system – les paramètres du système appartiennent à ce schéma
Bien entendu, certaines distributions Linux peuvent avoir des sous-catégories que d’autres systèmes n’ont pas. Tout dépend des logiciels installés et de leurs versions.
Voici par exemple la liste des clés et valeurs de /org/gnome/desktop/background/.
On peut alors modifier une valeur très facilement (ici picture-uri) comme vous pouvez le voir, une description est indiquée. Cliquez sur Appliquer pour enregistrer les modifications.
Utiliser le moteur de recherche
Maintenant, pour rechercher une entrée spécifique ou naviguer vers un chemin particulier dans l’éditeur dconf, nous cliquons sur l’icône de recherche et tapons le chemin complet dans la barre d’adresse :
Ensuite, par exemple, nous naviguons vers le chemin /org/gnome/desktop/datetime/ et cherchons la bascule automatique du fuseau horaire :
Ensuite, nous activons la bascule automatique du fuseau horaire, et nous cliquons sur l’icône de rechargement pour appliquer les changements :
Ainsi, les changements reflètent les paramètres de fuseau horaire de notre système.
Les raccourcis clavier
Vous pouvez également utiliser différents raccourcis clavier pour naviguer et interagir efficacement dans l’éditeur dconf. En haut à droite, cliquez sur l’icône trois points en haut à droite et raccourci clavier.
Quelques schémas utiles de dconf
Voici quelques schémas de configuration utiles :
Diverses applications web peuvent être activées ou désactivées dans Unity sous com.canonical.unity.webapps
Sous “org.gnome.desktop.thumbnail-cache“, les utilisateurs peuvent modifier la durée de conservation des vignettes dans le cache
Sous /org/gnome/mutter, vous pouvez activer certains paramètres liés à la gestion des fenêtres, tels que la centralisation des nouvelles fenêtres ou le pavage des fenêtres
Dans org.gnome.shell.clock se trouvent les paramètres d’affichage de l’horloge. Vous pouvez par exemple afficher les secondes
Les paramètres de bureaux multiples se trouvent dans org.gnome.shell.overrides