Outils pour utilisateurs

Outils du site


trucs_persos

Préambule

Je rassemble ici quelques trucs et commandes qui me sont / seront utiles. J'ai écrit tout ceci avant tout pour moi (j'ai une mémoire de moineau, et j'en ai marre de ré-inventer la roue à chaque fois), et puis finalement, une fois de plus, je me suis ravisé, et tente d'apporter un peu de pédagogie pour ceux que ça pourrait intéresser.

Je ne suis pas une référence sur le sujet (autodidacte), à vos risques et périls, mais je fais de mon mieux, et tout ceci reflète une quinzaine d'années de pratique au quotidien de Linux Debian Sid.

L'idée n'est pas de faire un nième manuel sur l'administration Linux (je n'ai de toute façon pas le niveau pour çà), mais de m'accompagner dans l'installation d'un nouveau système, puisque j'y suis contraint par la force des choses. Au moins la prochaine fois j'espère en bénéficier et me poser moins de questions. Cela me permettra aussi d'accélérer son installation, puisque j'y ajoute les applications que j'utilise le plus souvent / qui constituent le socle de mon système.

Guide d'installation et commandes utiles

Mes disques

J'ai organisé mes disques durs comme suit (4 racks de disques extractibles, 2 sont utilisés en permanence, 2 en réserve pour des copies, le SSD est monté en fixe dans le boîtier).

Le SSD est utilisé en disque de démarrage (pour sa rapidité), je l'ai initialisé avec le MBR (pour Grub). Les 2 autres disques (2 x 4To, l'un en /dev/sdc, l'autre en /dev/sdd) sont montés en RAID 1 (= 1 disque original + l'autre en sauvegarde).

J'utilise la numérotation UUID pour m'assurer qu'en cas d'insertion d'un autre périphérique (type clé USB) leur numéro ne changera pas et ainsi le système saura les retrouver.

  • / 80GB ext4 = SSD (sda)
  • swap 16GB swap sur le SSD (sda)
  • /home 1TB ext4 md0 (sdd1/sdc1)
  • /var 0.4TB ext4 md1 (sdd2/sdc2)
  • /usr 0.6TB ext4 md2 (sdd3/sdc3)
  • /opt 0.2TB ext4 md3 (sdd4/sdc4)
  • /DDprc 1.8TB ext4 md4 (sdd5/sdc5)

Plus tard, je me suis aussi créé une clé USB de dépannage (64GB) organisée comme suit :

  • / 30GB ext4
  • /usr 34GB ext4
  • (pas de swap)

Enfin, encore plus tard, après avoir formaté par erreur mon SSD :)), et avoir été confronté à un souci pour retrouver l'architecture de mon montage RAID 1, je teste autre-chose :

  • Je laisse tomber pour l'instant le RAID1 (qui s'avère compliqué à gérer quand tout est planté, qui me semble moins rapide qu'avant et qui me donne à chaque fois des sueurs froides), pour revenir à un montage classique et basique des disques avec une sauvegarde des fichiers importants sur un autre disque via un logiciel dédié (à tester).
  • J'ai formaté un disque de 1.5Tb en UEFI (puisque ma carte mère le supporte et Debian aussi depuis Debian 8 - et j'ai mis Debian 10 en place - en développement via le dépôt “Testing”), et ai récupéré un ancien disque de 1TB qui me servira à sauvegarder les données vraiment importantes (rien de confidentiel, juste des trucs créés personnellement que je ne pourrai donc retrouver ailleurs sur le web ou avec difficulté)

Voici sa structure :

  • /dev/sdb1 /boot/efi vfat 1Go (beaucoup trop gros, 1Mo aurait suffit mais je n'étais pas sûr de ça)
  • /dev/sdb3 / ext4 219.5Go (pas de /dev/sdb2, je ne sais pas pourquoi) C'est surtout pour le cache des paquets (que j'aime conserver, car utile quand un paquet est bugué pour revenir à l'ancienne version) et les volumineux fichiers de logs. Eventuellement aussi pour installer des logiciels dans /opt/
  • /dev/sdb5 /home ext4 488.5Go (le REX de Steam et Spring m'a montré qu'un gros Home était nécessaire)
  • /dev/sdb6 /mnt ext4 489Go (pour mes données)
  • /dev/sdb7 /usr ext4 274.6Go (même en installant pas mal de logiciels, un gros /usr n'est pas nécessaire)

Problème depuis la mise en place de l'EFI : je n'arrive plus à lire les disques formatés en MBR. Par contre je peux lire et écrire sur mon disque EFI depuis un disque formaté en MBR (testé depuis ma clé USB). J'ai activé l'option EFI+MBR dans mon BIOS (au lieu de EFI uniquement) mais cela ne change rien. Finalement en démarrant GParted,celui-ci m'indique qu'il ne parvient pas à lire la partition lvm2 de ma clé USB et qu'une des raisons possibles est l'absence d'un paquet logiciel, citant lvm2.

J'installe effectivement les paquets : # apt install lvm2 lvm2-dbusd udisks2-lvm2 lvm2-lockd

Mais je n'arrive toujours pas à lire ma clé USB, par contre je la vois à présent sous GParted (donc l'opération précédente était nécessaire).

J'ai testé la lecture de mes 2 disques RAID depuis mon disque EFI (j'avais précédemment installé mdadm mais sans rien paramétrer) : après avoir éteint mon PC, inséré les 2 disques RAID 1 dans leurs racks et redémarré : j'y ai accès depuis Caja (je vois le nom de leurs partitions “DDprc, “Home”, “Opt”, “Var” et “Usr” directement sous Caja) et je peux les monter en cliquant dessus (il me demande le mot de passe root pour le 1er montage, pour les autres ce n'est pas nécessaire). Génial !

J'avais formaté ma clé USB avec LVM depuis l'installateur Debian. Pour lire une partition LVM d'un disque externe, il suffit de lire ce tuto : memo-linux.com (comment monter une partition LVM d’un disque externe sous Linux).

Je l'applique dans mon cas :

# vgscan
  Reading all physical volumes.  This may take a while...
  Found volume group "DebianUSB-vg" using metadata type lvm2
# vgchange -ay DebianUSB-vg
  2 logical volume(s) in volume group "DebianUSB-vg" now active
# lvs
  LV     VG           Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root   DebianUSB-vg -wi-a----- <25,09g                                                    
  swap_1 DebianUSB-vg -wi-a-----  31,95g                                                    
# mount /dev/DebianUSB-vg/root /mnt/DDsec

Nota : la partition “swap_1” n'est pas une partition de swap (il s'agit de ma partition /usr :)), c'est l'installateur Debian qui me l'a nommé ainsi par défaut (j'ai fais en sorte de ne pas en créer car ça ne me sert à rien avec mes 32Gb de mémoire).

Et là ça fonctionne, je peux enfin lire les partitions de ma clé USB ! Yeees !

Réseau (paramétrage simplifié)

Dans ce paragraphe je ne m'étend pas sur le paramétrage du réseau, car ce paragraphe s'inscrit dans la continuité de l'installation d'une Debian. Pour un paramétrage plus approfondi / optimisé, voir le paragraphe Les Réseaux.

Ce sont les valeurs à entrer sous l'installateur Debian :

  • Interface : enp24s0
  • Adresse : 192.168.2.2/24
  • Gateway : 192.168.2.1
  • dns-nameservers 217.27.40.240 217.27.40.241

Mon cas est un peu spécifique, puisque je passe par mon autre PC (le “PC Internet”, un “vieux coucou”, en 192.168.2.1) qui historiquement me sert de pare-feu et de serveur internet pour ce PC et celui de Louis).

Elles se retrouverons plus tard dans le fichier /etc/network/interfaces :

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug enp24s0
iface enp24s0 inet static
	address 192.168.2.2/24
	gateway 192.168.2.1
	# dns-* options are implemented by the resolvconf package, if installed
	dns-nameservers 217.27.40.240 217.27.40.241

Une fois le système en place, il est préférable de commenter (on ajoute un ”#“ devant la ligne) la ligne dns-nameservers et de laisser network-manager (paquet éponyme) et resolv.conf (paquet éponyme, à installer) laisser gérer les connexions aux serveur DNS (pour l'optimisation des serveur DNS les moins chargés, et donc les plus véloces). Il suffit ensuite de redémarrer le système (si ça ne fonctionne pas, vous décommentez la ligne et redémarrez).

Si après une mise à jour de votre système vous n'avez plus de réseau, vérifiez le contenu de /etc/network/interfaces et si vous avez du ping mais pas de DNS, vérifiez le contenu de /etc/resolv.conf. Si ce dernier est vide, ajoutez les lignes suivantes (exemple pour les DNS de Free) :

nameserver 217.27.40.240
nameserver 217.27.40.241

Ce fichier pourra par la suite être vide, mais pour l'instant vous en avez besoin.

  • Pour relancer le réseau (avec network-manager) après un nouveau paramétrage : # service network-manager restart

Installation (à partir de disques vierges)

Utilisez au maximum l'installateur Debian qui permet d'avoir une bonne vue d'ensemble des périphériques (pour avoir leurs noms), de lancer un shell sur le disque souhaité et d'effectuer les opérations courantes nécessaires à l'installation (partitionnement, formatage, choix des points de montage, installation, …).

Sous l'installateur Debian :

  • 1. Partitionnez les disques
  • 2. Montez/sélectionnez-les en RAID : je ne suis plus trop de cet avis. C'est devenu compliqué et je ne trouve plus cela fiable. En cas de plantage de votre système Linux, ça complique beaucoup la récupération. Il vaut mieux utiliser un système de sauvegarde par un logiciel spécialisé (à étudier).
  • 3. Choisissez les points de montage (on les sélectionne un par un).
  • 4. Terminez le partitionnement et appliquer les changements (le menu se trouve tout en bas de l'interface, il n'est pas forcément visible)

Quelques conseils :

Ce n'est pas une bonne idée de récupérer en vrac /boot et /etc sur un ancien disque (il vaut mieux se reposer les bonnes questions).

Sous l'installateur Debian, faites bien attention au dépôt de logiciel retenu : ne prenez pas le dépôt Français qui n'est pas fiable, prenez le dépôt “États Unis”. Si vous avez raté l'option il vaut mieux revenir en arrière ou recommencer l'installation.

Installez dès que possible le paquet “aptitude” qui permet de résoudre des conflits très difficile à résoudre uniquement avec apt et dpkg. Si vous tardez trop à installer ce paquet, vous risquez de ne plus pouvoir l'installer en cas de conflits de paquets (vécu, j'ai dû tout ré-installer).

Modifiez dès que possible (car c'est pénible, ils sont incomplets) le PATH incomplet du système : éditez le fichier /etc/bash.bashrc, celui de l'utilisateur courant et celuyi de l'utilisateur root : en dernière ligne de chacun de ces fichiers ajoutez : PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/local/games:/usr/games

N'installez pas trop de paquets dès le début via l'installateur, car :

  • vous augmentez les risques de conflits de paquets qui seront difficiles à résoudre sans un environnement adapté (surtout si aptitude n'est pas encore installé, et que vous êtes encore en console sans un environnement graphique opérationnel).
  • Lorsque vous aurez à les mettre à jour par la suite (ce qui arrivera très vite car les versions installées sont en général anciennes) cela fera énormément de paquets à mettre à jour.

Personnellement j'ai choisi (en plus des options par défaut) : les environnement MATE (car je l'utilise au quotidien) et XFCE (pour sa stabilité et sa légèreté, en dépannage, car il fonctionne même lorsque MATE, GNOME et KDE sont plantés). Je n'ai pas retenu dès le départ GNOME et KDE (ce dernier m'a généré des conflits insolubles lors de ma précédentes installation + mise à jour de paquets sans aptitude : j'ai dû tout ré-installer). Ce n'est qu'une fois l'accélération graphique installée et le bureau MATE opérationnel ainsi que Synaptic, que j'installe GNOME et KDE.

Commandes utiles au démarrage

Autour des disques

Si possible vérifier les disques et montages RAID avant de les monter (les monter éventuellement en lecture seule) pour éviter les mauvais assemblages.

  • Voir un résumé des disques (un peu trop détaillé) : /sbin/fdisk -l
  • ou plus concis (mais pas disponible sur une clé de démarrage) : /bin/lsblk ou mieux : /bin/lsblk -o NAME,UUID (pas d'espace entre NAME et UUID)
  • Monter un disque par son label (si vous donnez une étiquette à votre partition, c'est ensuite plus facile et plus fiable pour monter le bon disque, pas besoin de spécifier le système de fichier) : # mount -L Svg1 /mnt/Svg1 (pour monter la partition libellée “Svg1” sur le répertoire /mnt/Svg1), ou dans /etc/fstab : LABEL=Svg1 /mnt/Svg1 ext4 defaults 0 0
  • Voir l'état des montages RAID : cat /proc/mdstat et cat /run/mdadm/map
  • Voir les UUID des disques ​et leur système de fichier (ext4 ou autre) ​: # blkid
  • Mise à jour des RAMDISK (après mise à jour de mdadm.conf par exemple) : update-initramfs -u
  • Monter un disque en lecture seule (à adapter) : # mount -o ro -t ext4 /dev/sde1 /mnt/cle

Une fois sous le gestionnaire de fenêtre :

  • le gestionnaire de partition de gnome : gparted
  • ou celui de kde : partitionmanager

Autour de Grub2

Généralités

  • Paramétrages généraux : éditer /etc/default/grub (puis ne pas oublier : update-grub)
  • À chaque fois que l'on modifie /etc/default/grub ou un fichier de /etc/grub.d/, ne pas oublier de lancer un: # update-grub (sinon /boot/grub/grub.cfg ne sera pas mis à jour)
  • (contrairement à ce que j'ai lu ici (forum UBUNTU (bravo Beru :))) si l'on modifie un fichier dans /etc/grub.d/, il ne faut pas en faire une copie dans ce même répertoire sinon celle-ci est également assemblée pour former un méga-doublon dans /boot/grub/grub.cfg :))
  • Dépannage sous Grub : CoursInfoRevest (WIKI Grub-Rescue)

Résoudre le problème des consoles TTY (qui ont tendance à se figer)

(voir l'excellente doc sur Fedora.fr)

  • Éditer /etc/default/grub
  • Au paragraphe # GRUB_GFXMODE=800×600, mettre :
  • GRUB_GFXMODE=1280×1024,800×600,auto
  • GRUB_GFXPAYLOAD_LINUX=keep

Remarques :

  • pas d'espaces entre les résolutions
  • il tentera d'abord de passer en 1280×1024, puis s'il n'arrive pas il tentera 800×600, puis le mode auto en dernier recours

Autour du matériel (obtenir des infos sur votre matériel)

  • Il y a bien-sûr la commande : # lspci -vnn (ces options “Be verbose” et “Show both textual and numeric ID's” permettent notamment de voir quels sont les drivers utilisés : utile pour voir si un matériel ne dispose pas de driver disponible, surveillez notamment “Kernel driver in use: ”)
  • il y a aussi (à adapter à ce que vous cherchez) les messages système au démarrage : # dmesg | grep -i bluetooth
  • Si vous avez une interface graphique opérationnelle, il y a aussi : hardinfo (paquet éponyme)
  • Pour récupérer les infos des capteurs de votre carte mère, installez le paquet : lm-sensors
  • L'outil pour résumer de manière élégante les caractéristiques de votre installation : neofetch

Autour des processus

  • Voir les processus en cours (en console) : $ top (ou mieux : $ htop mais paquet éponyme à installer)
  • Voir les processus en cours (graphique) : $ mate-system-monitor (n'affiche pas les processus root et ne permet pas la recherche de processus) ou mieux, $ gnome-system-monitor (un peu moins beau mais plus performant)

Autour de la console

  • Modifier le bug Debian sur le PATH : je considère que c'est un bug car j'ai le même souci sur mes 2 PC (dont le dernier fraîchement installé) et c'est un truc élémentaire qui ne devrait pas exister : celui du chemin des répertoires systèmes incomplet. Par défaut, un : # echo $PATH affiche : /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games or dans ce chemin de recherche il manque des répertoires (/sbin, /usr/sbin, /usr/local/bin, /usr/local/sbin les 2 derniers sont vides, on peut s'en passer mais pas les autres). Il suffit d'éditer le fichier /etc/bash.bashrc et en dernière ligne ajouter : PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/local/games:/usr/games

Autour des paquets & fichiers

Dépôts (éventuellement les 3 car offre un choix plus large de noyaux. À mettre dans /etc/apt/sources.list) :

deb http://ftp.us.debian.org/debian/ sid main contrib non-free
deb http://ftp.us.debian.org/debian/ testing main contrib non-free
deb http://ftp.us.debian.org/debian/ stable main contrib non-free

Le premier paquet à installer ensuite : aptitude (comme ça si vous rencontrez un souci de dépendances, vous disposerez d'une arme très efficace pour régler le problème)

Recherche d'un paquet en console :

  • Recherche dans les paquets installés (à adapter) : # dpkg -l | grep nvidia
  • (paquet apt-file à installer au préalable) Recherche dans les paquets disponibles en dépôts (avec versions, lancer au préalable : # apt-file update) : # apt search nom
  • (paquet apt-file à installer au préalable) Recherche à quel paquet (installé ou non) appartient un binaire (à adapter, lancer au préalable : # apt-file update) : # apt-file search /usr/bin/binaire
  • (Moins bien) Recherche à quel paquet installé appartient un binaire (à adapter) : # dpkg -S /usr/bin/binaire

Recherche d'un fichier :

  • Il y a les commandes ci-avant (s'il fait parti d'un paquet)
  • La commande (lancer au préalable # updatedb avec les droits root si vous souhaitez une recherche dans les répertoires ayant les droits root, sinon $ updatedb avec les droits utilisateurs pour une recherche exclusive dans les répertoires de l'utilisateur courant) : # locate fichier ou $ locate fichier (voir ci-avant pour la raison). Il faudra remettre sa base de données à jour (updatedb) de temps en temps, ce qui prend un peu de temps (quelques minutes) pour examiner tous vos répertoires.

Reconfigurer un paquet :

  • # dpkg-reconfigure nom_du_paquet (sans le ”.dpkg“, ni sa version)

Désinstaller un paquet (voir le WIKI UBUNTU):

  • Désinstallation en conservant les fichiers de configuration : # apt remove paquet
  • Désinstallation y compris les fichiers de configuration : # apt purge paquet

Une recherche beaucoup plus simple si vous avez un autre PC fonctionnel à côté : Debian

Autour des versions de gcc / g++

Si vous tentez d'installer / de compiler un driver d'accélération graphique (pilote nvidia par exemple), vous serez peut-être confronté à un message d'erreur signalant que l'installateur ne parvient pas à compiler ce driver car la version de gcc par défaut n'est pas la même que celle qui a servie à compiler le noyau (dans le cas d'un ancien noyau par exemple).

Pour résoudre cela :

  • Attention, en dépôt vous devez installer les paquets gcc, gcc-version-base et gcc-version (pas uniquement gcc-version-base), exemple : installez gcc, gcc-9-base et g++-9
  • En revanche pour les paquets g++, il n'existe pas de paquet g++-version-base en dépôt, vous devez installer les paquets g++et g++-version, exemple : installez g++ et g++-9
  • version de gcc utilisée par défaut : # gcc –version (attention : il y a 2 tirets avant “version”)
  • installer une autre version de gcc (exemple ici, la v.6, en plus de la v.8) : # apt install gcc-6
  • voir les versions déjà installées : # ls -la /usr/bin | grep gcc
  • Changer la version de gcc utilisée par défaut (la 6.3 au lieu de la 8.3 dans mon cas) :
# rm /usr/bin/gcc
# rm /usr/bin/g++
# ln -s /usr/bin/gcc-6 /usr/bin/gcc
# ln -s /usr/bin/g++-6 /usr/bin/g++

(on efface le lien symbolique précédent (pointant vers gcc-8 dans mon cas) et on le remplace vers un lien symbolique pointant vers la version de gcc souhaitée (gcc-6 dans mon cas). Idem avec g++)

Ne pas oublier de faire l'inverse lorsque vous avez terminé (on ré-efface les 2 liens symboliques et on les recréé pour qu'ils pointent vers les dernières versions disponibles :

# rm /usr/bin/gcc
# rm /usr/bin/g++
# ln -s /usr/bin/gcc-8 /usr/bin/gcc
# ln -s /usr/bin/g++-8 /usr/bin/g++

Nota :

  • il existe une méthode plus simple à privilégier pour des besoins ponctuels avant une compilation par exemple, c'est d'utiliser la variable d'environnement CC, exemple : CC=gcc-6 ./script
  • Mais ici cette méthode simple (de variable d'environnement) n'a pas fonctionné (j'imagine que le script DKMS n'y fait pas appel ou ne la voit pas), donc pas d'autre solution que de changer les liens symboliques (en même temps ça n'est pas non plus très compliqué).

Quelques manières d'avoir les droits root

Sous Linux on a très souvent besoin d'acquérir les droits root pour accéder aux paramètres ou fichiers système.

La plus connue, celle utilisée notamment par UBUNTU, est sans doute la commande sudo ($ sudo binaire). Personnellement à mes débuts sous Debian je ne suis pas parvenu à l'utiliser. Il me semble qu'il faut utiliser visudo qui permet d'éditer le fichier /etc/sudoers, et je crois que ceci n'est même pas nécessaire, il suffit en fait de s'ajouter au groupe sudo. Finalement j'ai laissé tomber car je trouve de toute façon pénible de devoir saisir la commande sudo avant chaque commande, tant pis pour les puristes.

Donc j'ai toujours fais ce qui faisait dresser les cheveux des puristes : me connecter en root pour faire ce que j'avais à faire. Mais je suis bien d'accord qu'il ne faut pas en abuser (on peux faire des tas de trucs dangereux pour le bon fonctionnement de son système, propager les droits root sur tous les fichiers et répertoires que l'on manipule ainsi, ou encore ouvrir les portes de son système à des scripts potentiellement malsains dans le cas de jeux par exemple, les exemples sont nombreux).

L'idée ici est tout de même de présenter quelques outils permettant de le faire :

  • $ su root (le plus classique) : on saisi le mot de passe root en console, puis de la console on lance des commandes. Il m'est arrivé (autrefois) à de nombreuses reprises de lancer des applications du bureau tel que les gestionnaires de fichiers ou éditeurs, mais tous ne l'acceptent pas. À présent j'utilise plutôt Caja qui l'intègre nativement (voir ci-après).
  • $ pkexec binaire : on retrouve assez souvent cette commande dans les raccourcis pour lancer des applications nécessitant les droits root.
  • $ gksu binaire (n'est plus en dépôt “Testing” 64-bit) : donne les droits root à l'application jusqu'à ce qu'on la ferme (là aussi je l'utilisais en général pour ouvrir un gestionnaire de fichier)
  • Caja (dans son menu “Fichier” ➜ “Ouvrir en tant qu'administrateur”) : je suis ravi que les développeurs acceptent enfin que les utilisateurs puissent s'y connecter de la sorte.
  • $ su-to-root -X -c binaire : j'ai découvert récemment (c'est elle qui m'a donné l'envie de créer ce paragraphe). Très bien aussi

Gestionnaire d'affichage

Installation du bureau MATE et des gestionnaires d'affichage sddm et lightdm

  • apt install mate sddm lightdm lightdm-settings lightdm-gtk-greeter-settings
  • apt install sddm-theme-*

Gestionnaire d'affichage

Avec mon écran 2560×1600 et ses 2 prises HDMI qui sont interprétées par Debian comme 2 écrans connectés, il faut installer lightdm ou sddm (le meilleur), car les autres gestionnaires sont trop peu évolués, ne me permettant pas d'accéder au masque de saisie de l'utilisateur.

  • Pour changer de gestionnaire : # /usr/sbin/dpkg-reconfigure sddm (ou un autre, tous les gestionnaires installés seront affichés, le choix sera proposé)

Accélération graphique nvidia

Obtenir des infos sur votre carte graphique et sa reconnaissance par Linux

Adresses PCI :

  • $ lspci
  • (…)
  • 1c:00.0 VGA compatible controller: NVIDIA Corporation TU106 [GeForce RTX 2070] (rev a1)
  • (…)

Notez que l'adresse est en hexadécimal (1Ch=28d), dans /etc/X11/xorg.conf cette même adresse est en décimal, ce qui donnera : BusID “PCI:28:0:0”

Voir comment votre matériel graphique est-il perçu et géré par votre serveur graphique Xorg :

  • Une première option (pas la plus révélatrice) est d'examiner le fichier de log du serveur d'affichage Xorg : /var/log/Xorg.0.log
  • Finalement la lecture la plus riche (merci au site KODI (Configuring resolution via xorg.conf)) :
  • On quitte (Ctrl Alt F1) Xorg et on l'arrête (à adapter) : # /etc/init.d/sddm stop
  • On lance : # X -verbose 6 > xlog.txt 2>&1
  • On revient à la console de départ et on interrompt la commande : Ctrl Alt F1 et Ctrl C
  • On édite le fichier et on le lit sur cette même console (# nano xlog.txt)

(pour différents tests on peut l'améliorer en : rm xlog.txt && X -verbose 6 > xlog.txt 2>&1)

Sa lecture :

  • permet d'obtenir notamment la fréquence de rafraîchissement de votre écran et les interprétations de vos (optionnels) paramétrages de /etc/X11/xorg.conf
  • m'aura montré que de nombreuses options (la plupart) citées sur les forums sont à présent obsolètes et ignorées car déjà implémentées par Xorg (il n'en a pas besoin).

Installation du pilote graphique (nVidia)

Pour alléger ce WIKI, j'ai créé un journal de mes recherches (installation_du_pilote_graphique_nvidia) et n'ai conservé ici que le stricte nécessaire.

Il faut soit utiliser le pilote des dépôts Debian (à privilégier), soit utiliser le pilote du site Nvidia, pas les deux en même temps. Pour éviter les conflits de drivers, il vaut mieux désinstaller au préalable les paquets nvidia déjà installés (tentez votre chance avec # apt remove *nvidia*).

Installation du pilote nvidia des dépôts

Avantage : le pilote nvidia en dépôt fonctionne (généralement) bien et sa version est upgradée automatiquement (par les mainteneurs Debian). Il se compile automatiquement à chaque fois que vous changez votre noyau Linux (grâce à l'utilitaire DKMS).

Inconvénient : si votre carte est récente, il est possible qu'il ne fonctionne pas (à tester en premier). L'interface est horrible (les messages de compilation sont tronqués et quand il plante vous ne savez pas pourquoi). Fin 2019, la 1ere installation a fonctionné mais j'avais des soucis de plantages de Xorg après 15-20 minutes. J'ai tenté de le réinstaller et là il bloque à l'étape 2 à 4%. Incroyable que des trucs comme ça arrivent encore ! À noter que la version de gcc par défaut était gcc-9 alors que le noyau était compilé avec gcc-8 (signalé par le pilote nvidia propriétaire), ce qui explique probablement pourquoi ce pilote des dépôts ne parvenait pas à compiler le driver (mais il faudrait qu'il le signale !!!). Pour voir quelle version de gcc a été utilisée pour compiler le noyau en cours d'utilisation : # cat /proc/version

Installation :

  • Installez le fichier d'entête du/des noyaux courants (linux-headers-version du noyau)
  • Désinstallez tous les paquets nvidia* précédents.
Si votre carte graphique Nvidia est récente
  • Téléchargement et installation : apt install module-assistant kernel-package nvidia-kernel-source libgl1-nvidia-glx (ce dernier installe de nombreux autres paquets nvidia ainsi que dkms)
  • Contrôlez que la version courante de gcc (exemple gcc-8) correspond bien à la version de gcc utilisée pour compiler le noyau, sinon changez-la (voir le paragraphe changement de version de gcc sur ce WIKI), pour voir cette version saisissez : # cat /proc/version
  • Réinstallation manuelle : m-a a-i -f nvidia-kernel-source
  • Blacklistez le pilote nouveau : une fois l'installation graphique opérationnelle, vérifiez que le pilote nouveau n'est pas présent (si ”# rmmod nouveau“ vous renvoi un truc du genre “module in use”, ça veux dire qu'il n'est pas blacklisté et s'est chargé en mémoire) car son utilisation simultanée avec le pilote “nvidia” a tendance à faire planter le PC (ils sont incompatibles). Pour le blacklister, éditez le fichier /etc/modprobe.d/nvidia-kernel-common.conf ou un nom similaire, et ajoutez la ligne “blacklist nouveau” (sans les guillemets). À noter que si vous désinstallez tous les pilotes nvidia (pour installer le pilote propriétaire), le fichier de blacklist sera lui aussi supprimé par le processus de désinstallation. Si vous installez le pilote propriétaire, celui-ci vous proposera de blacklister le pilote “nouveau”.
Si votre carte graphique Nvidia est ancienne

(Le pilote précédent vous le dira)

  • Téléchargement et installation : apt install module-assistant kernel-package nvidia-legacy-340xx-kernel-source
  • Contrôlez que la version courante de gcc (exemple gcc-8) correspond bien à la version de gcc utilisée pour compiler le noyau, sinon changez-la (voir le paragraphe changement de version de gcc sur ce WIKI), pour voir cette version saisissez : # cat /proc/version
  • Réinstallation manuelle : m-a a-i -f nvidia-legacy-340xx-kernel-source
  • Blacklistez le pilote nouveau : une fois l'installation graphique opérationnelle, vérifiez que le pilote nouveau n'est pas présent (si ”# rmmod nouveau“ vous renvoi un truc du genre “module in use”, ça veux dire qu'il n'est pas blacklisté et s'est chargé en mémoire) car son utilisation simultanée avec le pilote “nvidia” a tendance à faire planter le PC (ils sont incompatibles). Pour le blacklister, éditez le fichier /etc/modprobe.d/nvidia-kernel-common.conf ou un nom similaire, et ajoutez la ligne “blacklist nouveau” (sans les guillemets). À noter que si vous désinstallez tous les pilotes nvidia (pour installer le pilote propriétaire), le fichier de blacklist sera lui aussi supprimé par le processus de désinstallation. Si vous installez le pilote propriétaire, celui-ci vous proposera de blacklister le pilote “nouveau”.

Installation du pilote nvidia obtenu depuis le site du constructeur Nvidia

Avantage :

  • c'est le pilote le plus récent disponible au moment où vous l'installez (néanmoins les dépôts Debian sont très réactifs). Le pilote nvidia propriétaire propose aussi l'installation de l'utilitaire DKMS (donc il se compilera lui aussi automatiquement à chaque fois que vous installerez un nouveau noyau).
  • Ce pilote est aussi bien plus clair dans ses messages que l'interface désuète des dépôts Debian (les messages sont tronqués et quand il plante vous ne savez pas pourquoi). À privilégier en roue de secours si le pilote des dépôts ne fonctionne pas pour vous. Ces fichiers de log vous informeront notamment quelle est la version du compilateur gcc à utiliser (il faut qu'elle soit identique à celle utilisée pour compiler le noyau).

Inconvénient : pas de mise à jour automatique du driver.

Rappel : il faut soit utiliser le pilote des dépôts Debian, soit utiliser le pilote du site Nvidia, pas les deux en même temps, donc pour installer le pilote du site nvidia il faudra au préalable désinstaller les paquets nvidia des dépôts Debian (tentez votre chance avec # apt remove *nvidia*). À noter que si vous désinstallez tous les pilotes nvidia (pour installer le pilote propriétaire), le fichier de blacklist du pilote “nouveau” sera lui aussi supprimé par le processus de désinstallation. Néanmoins le pilote propriétaire vous proposera de blacklister le pilote “nouveau”.

Installation :

  • Installez le fichier d'entête du/des noyaux courants (linux-headers-version du noyau)
  • Contrôlez que la version courante de gcc (exemple gcc-8) correspond bien à la version de gcc utilisée pour compiler le noyau, sinon changez la (voir le paragraphe changement de version de gcc sur ce WIKI), pour voir cette version saisissez : # cat /proc/version
  • Désinstallez tous les paquets *nvidia* précédents.
  • Téléchargez le pilote sur : Nvidia (unix)
  • Rendez le pilote exécutable (à adapter) : chmod +x NVIDIA-Linux-x86_64-430.26.run
  • Fermez toute console graphique (# /etc/init.d/sddm stop) ou mieux, redémarrez en mode sans échec (# reboot, puis au démarrage de Grub sélectionnez “Advanced options for Debian GNU/Linux” puis le noyau Linux souhaité comportant l'option ”(recovery mode)“, validez, et en fin de démarrage tapez le mot de passe root. Ne pas faire de Ctrl D qui poursuit le démarrage).
  • S'il y a des drivers nvidia chargés en mémoire (visualisez-les par : # lsmod | grep nvidia), tentez de les enlever (de la mémoire) dans l'ordre inverse de leur chargement (# rmmod nvidia_drm puis # rmmod nvidia_modeset puis # rmmod nvidia)
  • Lancez le pilote Nvidia par : $ ./NVIDIA-Linux-x86_64-430.26.run (à adapter en fonction de votre version).
  • À la question : “Would you like to run the nvidia-xconfig to automatically update your configuration file so that the NVIDIA X driver will be used when you restart X? Any pre-existing X configuration file will be backed up.” Répondez “No” (car le fichier de configuration de X n'est plus utile de nos jours - sauf cas extrêmement rare pour des configurations exotiques).
  • Rebootez : l'accélération graphique doit être opérationnelle (sinon vous l'auriez su pendant la compilation par un message d'erreur).

Si vous souhaitez désinstaller le driver propriétaire : # nvidia-installer –uninstall (attention : il y a 2 tirets avant “uninstall”)

Nota :

  • Les messages d'erreur de cet installateur (uniquement) se trouvent dans : /var/log/nvidia-installer.log
  • Les messages d'erreur de Xorg se trouvent dans : /var/log/Xorg.0.log
  • La version du compilateur gcc utilisée par défaut (voir le WIKI ci-avant pour savoir comment vous pouvez la changer) doit être la même que celle utilisée pour compiler le noyau (afin que ce driver lui soit compatible). Si la compilation plante, le fichier /var/log/nvidia-installer.log vous informera de la version de gcc à utiliser.

Paramétrage du serveur Xorg

Dans la majorité (totalité ?) des cas, créer un fichier /etc/X11/xorg.conf ne sert (plus) à rien car le serveur Xorg sait trouver de lui-même les configurations optimum.

Si ça ne vous intéresse pas, vous pouvez donc vous abstenir de lire ce paragraphe.

Initialisation du fichier /etc/X11/xorg.conf

Il y a plusieurs méthodes :

  • À l'aide de la commande : # X :1 -configure puis on copie le fichier /root/xorg.conf.new obtenu dans /etc/X11/xorg.conf
  • On peut aussi le créer avec le pilote nvidia (en fin d'installation du pilote notamment).
  • Mais ces méthodes ne donnent pas un fichier xorg.conf très lisible. Vous obtiendrez un fichier nettement plus compréhensible si vous le créez sur la base d'un exemple récupéré ailleurs et que vous le peaufinez vous-même. Pour base vierge, j'ai retenu l'exemple de la doc UBUNTU. Le fichier du site UBBUNTU-fr fonctionne à condition de commenter (ajout d'un # devant la ligne) la ligne “BusID “PCI:1:0:0”” puisque l'adresse du bus PCI de votre carte graphique sera très certainement différente.

Mon fichier actuel /etc/X11/xorg.conf (pour exemple) :

Section "Module"
    Load    "bitmap"
    Load    "freetype"
    Load    "glx" # client GLX pour OpenGL
    Load    "int10"
    Load    "type1"
    Load    "vbe"
EndSection

Section "Device"
    Identifier    "Carte"
     Driver         "nvidia"
#    Driver         "nouveau" # mais ne supporte pas encore la carte Geforce RTX 2070
#    Driver         "vesa"
    BusID           "PCI:28:0:0"  # à adapter pour vous
    VendorName     "NVIDIA Corporation"
EndSection

Section "Monitor"
    Identifier "Moniteur"
    
    Option     "VendorName" "HP" # Pas nécessaire, permet juste de mieux le repérer dans les logs
    Option     "ModelName" "LP3065" # Pas nécessaire, permet juste de mieux le repérer dans les logs
    
    Option     "DPMS" "false"
    Option     "IgnoreEDIDChecksum" "CRT"
    Option     "AllowDualLinkModes" "true" # Pour le driver nouveau et mon écran spécifique en DualLink

    HorizSync 19.3-96.5
    VertRefresh 59.9-59.9 

Modeline "2560x1600_60.00" 348.50  2560 2760 3032 3504  1600 1603 1609 1658 -hsync +vsync 
# Modeline "2560x1600_30.00" 164.25 2560 2696 2960 3360  1600 1603 1609 1630 -hsync +vsync

EndSection

Section "Screen"
    Identifier    "Ecran"
    Device        "Carte"
    Monitor       "Moniteur"

# Pour Edid :
Option "ExactModeTimingsDVI" "TRUE"
# A commenter pour laisser EDID trouver automatiquement les bons modes disponibles :
# Option "ModeValidation" "NoEdidModes"

    SubSection "Display"
        Depth        24
    EndSubSection
EndSection

Section "ServerLayout"
    Identifier    "Default Layout"
    Screen        "Ecran"
EndSection
Les Modelines

Les Modelines sont des lignes de paramétrage de l'affichage. Elles sont calculées avec l'utilitaire cvt (# cvt -h pour l'aide), on lance : # cvt résolHoriz résolVert fréquence_souhaitée

Exemples :

# cvt 2560 1600 60
# 2560x1600 59.99 Hz (CVT 4.10MA) hsync: 99.46 kHz; pclk: 348.50 MHz
Modeline "2560x1600_60.00" 348.50  2560 2760 3032 3504  1600 1603 1609 1658 -hsync +vsync 

# cvt 2560 1600 24
# 2560x1600 23.97 Hz (CVT) hsync: 38.95 kHz; pclk: 127.75 MHz
Modeline "2560x1600_24.00" 127.75 2560 2664 2920 3280 1600 1603 1609 1625 -hsync +vsync

Nota :

  • le driver “nouveau” ne supporte pas encore la Nvidia RTX 2070 (la liste des cartes supportées est affichée dans les logs de Xorg).
  • le driver “vesa” : c'est un driver standard, mais peu adapté aux cartes récentes, et dans mon cas il n'a pas fonctionné (il démarre X mais pas moyen de saisir mon mot de passe de connexion)
Voir comment Xorg interprète vos paramétrages

La commande : # X -verbose 6 > xlog.txt 2>&1)
produit le fichier xlog.txt dans le répertoire courant, permettant de voir comment Xorg interprète vos paramétrages. Ces logs sont très instructifs, vous permettant notamment de détecter les paramétrages inutiles ou erronés (voir un exemple dans le journal de mes recherches cité ci-avant).

Les Réseaux

Ce paragraphe vient compléter le paragraphe Réseau (paramétrage simplifié) (en début de WIKI) pour développer davantage son paramétrage et son optimisation.

Le Réseau ethernet (filaire)

Tout un programme. Il me faudra encore plein de soucis techniques pour remplir ce paragraphe :))
Là encore je n'ai pas le niveau d'un administrateur réseau, je ne suis qu'un débutant qui essaie de faire marcher son matériel correctement.
Je ne vais pas me lancer dans un cours sur les quelques compétences acquises (ça serait trop long, pas d'un niveau suffisant et il y aurait très certainement des erreurs de ma part), juste un mémo et des pistes de recherche pour moi (ça m'aide dans la résolution des soucis techniques rencontrés).

Connexion ethernet (filaire) en IPv4 via une passerelle (autre PC) avec utilisation automatique du serveur DNS le moins chargé

J'ai ouvert un Journal sur la résolution DNS avec nm-tray / network-manager / network-manager-gnome pour tracer mes errances explorations sur le sujet. Je n'en conserve ici que le résultat final.

On va utiliser notamment (pour la solution retenue et fonctionnelle) :

  • network-manager : un service système pour le réseau qui gère le matériel réseau et les connexions en essayant de garder la connectivité.
  • network-manager-gnome : un outil (utilisant network-manager) qui fournit une entrée dans le Centre de contrôle de MATE (“Configuration réseau avancée”) facilitant le paramétrage Wi-Fi, et un applet pour la zone de notification GNOME (également compatible avec MATE) affichant le débit de connexion,
  • nm-tray : une interface en Qt dans la zone de notification pour NetworkManager, permettant d'activer/désactiver rapidement et facilement la connexion Wi-Fi (et de choisir la box à utiliser).
  • resolvconf : un framework réseau permettant de maintenir à jour les informations système concernant les serveurs de nom.
  • net-tools : un ensemble d'utilitaires permettant de contrôler le sous-système réseau du noyau Linux (arp, ifconfig, netstat, rarp, nameif et route)

L'idée de départ est de remplacer ma configuration précédente - issue de l'installation de ma Debian Sid, par quelque-chose de plus évolué et intégré au bureau, qui sache (enfin je l'espère) maintenir la connectivité Internet lorsqu'un serveur DNS est saturé.

En plus, ça me permet de regrouper en une seule interface mes connexions Bluetooth, Wi-Fi et filaire vers ma box et de choisir en quelques clics laquelle je souhaite utiliser. Comme j'ai déjà installé ces outils, il n'y a rien de plus à installer.

À noter que le changement du paramétrage réseau va vous faire perdre le réseau, donc ne faites cette opération que si vous êtes à l'aise avec cela. Par prudence, prévoyez de pouvoir revenir à la situation précédente en n'effaçant pas vos réglages initiaux (vous les commentez au lieu de les effacer), au cas où ça ne fonctionnerait pas pour vous.

Avant de commencer, le paramétrage de la passerelle elle-même :

Dans ce WIKI je m'intéresse surtout à la partie paramétrage du client (le PC du Bottin). Pour être complet, je dois aussi faire un aparté sur le paramétrage de ma passerelle (que j'appelle le “PC Internet”, un vieux PC que j'utilise comme PC de dépannage et qui me sert aussi à distribuer internet sur le PC du Bottin et sur le portable de Louis - ce dernier étant sous Windows) :

Pour pouvoir utiliser le “PC Internet” en passerelle j'active sur cette machine :

  • l'IP forwarding (en IPv4 dans /etc/sysctl.conf on décommente la ligne “net.ipv4.ip_forward=1”)
  • et l'IP masquerading pour la translation d'adresse réseau (Network address translation, en IPv4 j'utilise guidedog, en dépôts, un outil graphique dédié, voir ci-après)

Il faut aussi disposer à minima de 2 interfaces ethernet (la première pour la connexion à la box, la seconde pour la connexion à l'autre PC) et paramétrer la 2nde interface avec un réseau local.
Personnellement j'ai choisi pour le réseau vers le Bottin (se définit dans /etc/network/interfaces, l'interface eth0 est reliée au PC du Bottin, l'eth1 est reliée à ma box, l'eth2 est un câble sur lequel Louis vient se connecter avec son portable lorsqu'il vient) :

# Vers le PC du Bottin (une connexion en IP statique, plus simple pour le pare-feu) :
auto eth0
allow-hotplug eth0
iface eth0 inet static
        address 192.168.2.1
        netmask 255.255.255.0

# Vers ma box (une connexion DHCP) :
auto eth1
allow-hotplug eth1
iface eth1 inet dhcp

# J'ai une 3ème interface réseau (pour le portable de Louis sous Windows)
auto eth2
allow-hotplug eth2
iface eth2 inet static
        address 192.168.3.1
        netmask 255.255.255.0

Numérotation IPv4 des interfaces : Pour un petit réseau local on choisi généralement un dérivé de 192.168.x.x (avec un netmask de “255.255.255.0”, on trouve aussi la notation 192.168.x.x/24, le 24 représentant le nombre de bits de masques, je ne m'étend pas davantage 255d=FFh=11111111b, 3 x 11111111b=24bits, le reste des réseaux dépassent mes faibles compétences) en séparant bien les numérotations pour chaque interface (le 3ème digit doit être différent pour chaque interface réseau du même PC). Sur un même réseau chaque PC à son numéro (exemple 192.168.2.1 pour le serveur et 192.168.2.2 pour le client).

Paramétrage de guidedog (en dépôts) :

Onglet “Routing” :

  • ☑ Enable routing
  • IP Masquerade : ☑ Enable IP Masquerade, ☑ Masquerade FTP, ☑ Masquerade IRC
  • C'est tout

Onglet “Forwarding” :

  • Vous pouvez y mettre quelques ports spécifiques en TCP et UDP (exemples pour le torrent : ports TCP/UDP 6881, TCP 4662, UDP 4672, TCP 5000, TCP 4661, TCP/UDP 4665, TCP 445, TCP 4242, TCP 4500, ou pour les jeux en WAN tel qu'openra : TCP 1234 → 192.168.2.2 et UDP 1234 → 192.168.2.2)

Onglet “Advanced” : ☐ (désactivé) Disable Guidedog

Vous validez et enregistrez, c'est tout.

Retour au PC du Bottin :

Si pour vous ne l'avez pas fait, commencez par installer les paquets : # apt install network-manager network-manager-gnome nm-tray resolvconf net-tools

Pour rappel, les valeurs utilisées sous l'installateur Debian :

  • Interface : enp24s0
  • Adresse : 192.168.2.2/24
  • Gateway : 192.168.2.1
  • dns-nameservers 217.27.40.240 217.27.40.241

Mon cas est un peu spécifique, puisque je passe par mon autre PC (le “PC Internet”, un “vieux coucou”, en 192.168.2.1) qui historiquement me sert de pare-feu et de serveur internet pour ce PC et celui de Louis).

Mon interface réseau filaire (ma carte réseau) est nommée ci-après : enp24s0

Ces réglages se retrouvent ensuite dans le fichier /etc/network/interfaces :

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug enp24s0
iface enp24s0 inet static
	address 192.168.2.2/24
	gateway 192.168.2.1
	# dns-* options are implemented by the resolvconf package, if installed
	dns-nameservers 217.27.40.240 217.27.40.241

Sauf si vous avez installé le paquet resolvconf - auquel cas les adresses DNS se trouvent dans /etc/resolv.conf qui est lui-même un lien symbolique qui pointe vers /etc/resolvconf/run/resolv.conf

Nota dans le cas de cette ancienne méthode : pour la résolution de nom, on peut soit indiquer les noms de serveurs DNS dans ce fichier (ligne “dns-nameservers 217.27.40.240 217.27.40.241” ci-dessus), soit ne pas préciser cette ligne et mettre ces adresses (une par ligne) dans le fichier /etc/resolv.conf (mais dans ce cas pensez à désinstaller au préalable le paquet resolvconf - qui sinon viendra écraser vos modifications dès le prochain démarrage de votre PC)

On commence donc par simplifier / commenter (car je préfère conserver la possibilité de revenir en arrière rapidement si je ne suis plus satisfait) une bonne partie de ces commandes, ce qui donne :

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
# allow-hotplug enp24s0
# iface enp24s0 inet static
#	address 192.168.2.2/24
#	gateway 192.168.2.1
	# dns-* options are implemented by the resolvconf package, if installed
#	dns-nameservers 217.27.40.240 217.27.40.241

Puis éditez le fichier /etc/NetworkManager/NetworkManager.conf qui contient avant modification :

[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=false

et remplacez “managed=false” par “managed=true”
(si vous souhaitez revenir à votre configuration précédente n'oubliez pas de faire l'inverse)

Ensuite rebootez votre PC (préférable) ou redémarrez le réseau (c'est le plus rapide mais pas le plus fiable) par :

# service network-manager restart

ou, si la commande service n'est pas reconnue :

# systemctl restart networking.service

(Nota : pour voir l'état du réseau : # systemctl status -l networking.service)

  • Puis dans le Centre de configuration MATE, section “Internet et réseau”, cliquez sur l'icône “Configuration réseau avancée”.
  • Une fenêtre “Network Connections” (ou “Connexion réseau”) s'ouvre.
  • Cliquez sur le signe ”+“ pour créer une nouvelle connexion (auquel je fais référence par : “fichier de connexion”).

Sous ce nouveau fichier de connexion que j'ai par la suite nommé “Connexion Ethernet (enp24s0)” j'ai :

Onglet Ethernet :

  • Périphérique : enp24s0 (via le déroulant)
  • Adresse MAC clonée : (vide)
  • MTU : automatique
  • Wake on LAN : ☑ Par défaut (par défaut)
  • Mot de passe Wake on LAN : (vide)
  • Négociation de lien : Automatique
  • Vitesse : (désactivé)
  • Duplex : (désactivé)

Onglet Général :

  • ☑ Se connecter automatiquement avec priorité 0 (par défaut)
  • ☑ Tous les utilisateurs peuvent se connecter à ce réseau (par défaut)
  • ☐ Se connecter automatiquement au VPN (par défaut)
  • Connexions limitées : Automatique (par défaut)

Onglet Sécurité 802.1X

  • ☐ Utiliser la sécurité 802.1X pour cette connexion (par défaut)

Onglet DCB

  • ☐ Utiliser Data Center Bridging (DCB) pour cette connexion (par défaut)

Onglet Proxy

  • Méthode : Aucune

Onglet Paramètres IPv4

  • Méthode : Manuel
  • Adresses : 192.168.2.2 (adresse), 24 (Masque de réseau), 192.168.2.1 (Passerelle)
  • Serveurs DNS : 217.27.40.240, 217.27.40.241 (DNS de Free, ajoutez-en, voir + bas au # “Infos annexes”)
  • Domaines de recherche : vide (par défaut)
  • ID de client DHCP : désactivé (par défaut)
  • ☐ Requiert un adressage IPv4 pour que cette connexion fonctionne (par défaut)
  • Bouton “Routes…” : (vide)

Onglet Paramètres IPv6

  • Méthode : Ignore (pour l'instant, mais je regarde si je peux faire fonctionner également l'IPv6)
  • Adresses : (désactivé)
  • Serveurs DNS : (désactivé)
  • Domaines de recherche : (désactivé)
  • ID de client DHCP : (désactivé)
  • ☐ Requiert un adressage IPv4 pour que cette connexion fonctionne (par défaut)
  • Bouton “Routes…” : (vide)

Ensuite :

  • clic droit sur l'icône de nm-tray dans la zone de notification du bureau (ressemble à un petit rectangle)
  • Sélectionnez “Informations de connexion”. Pour l'instant la fenêtre est probablement vide, mais lorsque la connexion s'établie elle vous donne les paramètres utilisés (pour info uniquement).
  • clic gauche sur l'icône de nm-tray, et décochez puis recochez “Activer le réseau”, ce qui aura pour effet de réinitialiser le réseau. La fenêtre “Informations de connexion” vous affiche les paramètres correspondants.
  • Votre connexion internet est opérationnelle. That's all folks! :)

Infos annexes

Ajoutez (dans l'ordre de vos préférences) d'autres serveurs DNS (accélérera vos connexions si le serveur DNS de votre FAI est lent) : Lifewire (Free and Public DNS Servers) (une excellente doc sur les serveurs DNS gratuits alternatifs disponibles)

nm-tray me permet à présent :

  • (via son menu “Informations de débogage” et dans le dépliant “root”) de choisir pour ma connexion internet, entre la connexion filaire (Ethernet passant par mon autre PC) ou la connexion Wi-Fi (directe à ma box).
  • D'activer ou désactiver le Wi-Fi en un clic.
  • D'activer ou de désactiver tout le réseau en un clic.

And last but not least, les connexions aux pages internet sont redevenues rapides :)
Ça me convient parfaitement.

Infos en console lorsque la connexion est fonctionnelle :

$ route -n
Table de routage IP du noyau
Destination    Passerelle    Genmask         Indic Metric Ref Use Iface
0.0.0.0        192.168.2.1   0.0.0.0         UG    100    0   0   enp24s0
192.168.2.0    0.0.0.0       255.255.255.0   U     100    0   0   enp24s0

$ route
Table de routage IP du noyau
Destination    Passerelle    Genmask         Indic Metric Ref Use Iface
default        _gateway      0.0.0.0         UG    100    0   0   enp24s0
localnet       0.0.0.0       255.255.255.0   U     100    0   0   enp24s0

$ ifconfig -a
enp24s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
      inet 192.168.2.2  netmask 255.255.255.0 broadcast 192.168.2.255
      inet6 fe80::2d8(...)
      (...)

$ nmcli d
DEVICE   TYPE      STATE          CONNECTION                      
enp24s0  ethernet  connecté       Connexion Ethernet (enp24s0) (la ligne est affichée en vert)
wlo1     wi-Fi     indisponible   --                           (la ligne est affichée en gris)
lo       loopback  non-géré       --                           (la ligne est affichée en gris)

$ ping 192.168.2.1
PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data.
64 bytes from 192.168.2.1: icmp_seq=1 ttl=64 time=1025ms
64 bytes from 192.168.2.1: icmp_seq=2 ttl=64 time=0.099 ms
(Ctrl C)
--- 192.168.2.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1025ms 
rtt min/avg/max/mdev = 0.099/0.113/0.128/0.014 ms

$ ping yahoo.net
PING yahoo.net (74.6.136.151) 56(84) bytes of data.
64 bytes from w2.src1.vip.bf1.yahoo.com (74.6.136.151): icmp_seq=1 ttl=42 time=118 ms
64 bytes from w2.src1.vip.bf1.yahoo.com (74.6.136.151): icmp_seq=2 ttl=42 time=118 ms
^C
--- yahoo.net ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 117.799/118.068/118.338/0.269 ms

Remarque : Ne vous préoccupez pas du Metric (100 ou 0, ça ne le gêne pas du tout :)), ni du mtu de 1500.

nm-tray (dans “Informations de connexion”) m'affiche :

Général
Interface:             Ethernet (enp24s0)
Adresse matériel:      00:D8:xx:xx:xx:xx
pilote:                igb
Vitesse:               1000000 Kb/s

IPv4
Adresse IP:            192.168.2.2
Masque de sous-réseau: 255.255.255.0
Route par défaut:      192.168.2.1
DNS(1):                217.27.40.240
DNS(2):                217.27.40.241
DNS(3):                8.8.8.8

(j'ai ensuite testé d'autres DNS à la place de ceux-ci : ça marche très bien)

Et lorsque je clique sur l'icône de connexion de network-manager-gnome dans la barre des tâches je vois çà :

Réseau Ethernet
   Connexion Ethernet (enp24s0)
   Se déconnecter
Réseau Wi-Fi
   Le réseau Wi-Fi est désactivé
.......................
Connexions VPN   >

Connexion ethernet (filaire) en IPv6 via une passerelle (autre PC) avec utilisation automatique du serveur DNS le moins chargé

Pour l'instant je ne sais pas faire :))
Je laisse ce paragraphe pour mémo. J'espère y arriver un jour.
Je sais par contre me connecter en IPv6 en Wi-Fi (voir le paragraphe Le Wi-Fi (en IPv4 et IPv6!) ci-avant).

Je suis bloqué parce que :

  • l'outil que j'utilise sur ma passerelle, guidedog n'est à priori plus maintenu et ne fonctionne qu'en IPv4 pour l'instant. L'autre alternative est iptables ou nftables (son remplaçant), mais ces outils sont trop arides pour moi, je ne souhaite pas y mettre les mains.
  • l'IP forwarding fonctionne bien - et logiquement, en IPv4, mais en IPv6 il se comporte différemment (il me désactive le réseau IPv6 sur le “PC Internet”). Je n'ai pour l'instant pas compris cette manière de fonctionner.

Sur le PC du Bottin, je suis à peu près sûr de mes réglages sous network-manager-gnome (accessible dans le Centre de configuration MATE, section “Internet et réseau”, cliquez sur l'icône “Configuration réseau avancée”) :

Onglet IPv6 Settings

  • Method : Manual
  • Addresses : fe80::2d8:61ff:fe4f:2fd (“Adress” : l'adresse IPv6 locale du PC du Bottin obtenue par un “$ ifconfig -a” en console sur ce PC) / 64 (“Prefix”, le netmask pour un réseau IPv6) / fe80::221:85ff:fe34:d3e2(“Gateway”, l'adresse IPv6 locale du “PC Internet” obtenue par un “$ ifconfig -a” en console sur ce PC)
  • DNS servers : 2a01:e00::2, 2a01:e00::1, 2620:119:35::35, 2620:119:53::53 (les 2 premières sont les adresses DNS IPv6 de free, les 2 autres celles d'OpenDNS au cas où celles de Free feraient défaut)
  • Additional search domains : vide (par défaut)
  • IPv6 privacy extensions : Disabled (par défaut)
  • IPv6 address generation mode : Stable privacy (par défaut)

* ☐ Requiert un adressage IPv6 pour que cette connexion fonctionne (désactivé, par défaut)

  • Bouton “Routes…” : (pas utilisé, rien de défini sous ce menu additionnel)

Le Wi-Fi (en IPv4 et IPv6!)

Il s'agit ici de la version courte (plus orientée WIKI) de mes tests. Pour la version longue (journal), voir Le Wi-Fi

Là aussi je découvre totalement, puisque je n'avais auparavant jamais eut de matériel de ce type (j'ai eut autrefois un portable sous Linux mais n'utilisais pas sa connexion Wi-Fi). L'idée ici pour moi est de rassembler de l'information pour me l'approprier, d'organiser mes idées et recherches, et de capitaliser du savoir (pour l'éventuelle fois prochaine, que j'espère la plus tardive :).

Dans un premier temps j'ai envie de voir si je peux me connecter directement sur ma Freebox en Wi-Fi (sans passer par le PC Internet, ça pourrait servir en dépannage).

Quelques docs (inutile de ré-inventer la roue) :

  • Celle d'UBUNTU-fr (ce qui se fait de mieux, avec Arch Linux) : Wi-Fi

Les paquets disponibles :(sous synaptic, filtrer sur wireless)

Les paquets complémentaires à installer (par rapport à la connexion Bluetooth) : # apt install network-manager-gnome nm-tray wireless-tools

On va utiliser notamment (pour la solution retenue et fonctionnelle) :

  • rfkill (paquet éponyme, déjà installé par les dépendances) : un outil permettant d'activer/désactiver les périphériques sans fil,
  • iw (paquet éponyme, déjà installé par les dépendances) : un outil pour configurer les périphériques sans fil,
  • lspci (fait partie de toutes les distributions) : un outil permettant de lister les périphériques connectés au bus PCI, c'est à dire l'essentiel de votre matériel.
  • network-manager-gnome : un service système pour le réseau qui gère le matériel réseau et les connexions en essayant de garder la connectivité.
  • network-manager-gnome : un outil (utilisant network-manager) qui fournit une entrée dans le Centre de contrôle de MATE (“Configuration réseau avancée”) facilitant le paramétrage Wi-Fi, et un applet pour la zone de notification GNOME (également compatible avec MATE) affichant le débit de connexion,
  • nm-tray : une interface en Qt dans la zone de notification pour NetworkManager, permettant d'activer/désactiver rapidement et facilement la connexion Wi-Fi (et de choisir la box à utiliser).
  • wireless-tools : fournit plusieurs commandes Wi-Fi (iwconfig, iwevent, iwgetid, iwlist, iwpriv, iwspy)

Identifiez au préalable le matériel :

$ lspci | grep -i net
17:00.0 Network controller: Intel Corporation Wireless-AC 9260 (rev 29)
18:00.0 Ethernet controller: Intel Corporation I211 Gigabit Network Connection (rev 03)

Comme le matériel est commun avec la connexion Bluetooth, une bonne partie du boulot a été fait (l'identification du matériel et l'installation du firmware Intel, voir le paragraphe Bluetooth ci-avant).

Voici à présent ce que me donne la commande rfkill :

# rfkill list
0: phy0: Wireless LAN
	Soft blocked: no
	Hard blocked: no
1: hci0: Bluetooth
	Soft blocked: no
	Hard blocked: no

et iw :

# iw dev
phy#0
	Unnamed/non-netdev interface
		wdev 0x2
		addr xy:xx:xx:xx:xx:xx
		type P2P-device
		txpower 0.00 dBm
	Interface wlo1
		ifindex 3
		wdev 0x1
		addr xx:xx:xx:xx:xx:xx
		type managed
		txpower 0.00 dBm

nota : j'ai masqué les adresses (en les remplaçant par “xx:xx:xx:xx:xx:xx” et “xy…), je ne sais pas si ça peux se retourner contre moi, peut-être est-ce idiot - à priori je pense que oui, quelqu'un passant dans ma rue avec un portable et ce même outil les trouvera sans doute :).

Mon interface s'appelle : wlo1

Je reprend une nouvelle fois la doc UBUNTU (pour l'avoir sous la main, je ne sais pas si ça va me servir) :

  • Pour lister les réseaux visibles sur l'interface wlo1 : # iw dev wlo1 scan
  • Pour afficher l'état de la connexion Wi-Fi : # iw dev wlo1 link
# iw dev wlo1 link
Not connected.

Des solutions il y en a certainement des tonnes. Mais celle qui m'aura permis moi - débutant, d'y parvenir est celle passant par network-manager-gnome (installé par le paquet éponyme).

Avant de commencer, il vous faut connaître le SSID (=le Nom de votre point d'accès WIFI - autrement dit, celui que vous aviez donné à votre box dans ses paramétrages, il est dénommé ci-après ESSID), vous pouvez le trouver en lançant la commande (remplacez wlo1 par le nom de votre interface, voir ci-avant) :

$ iwlist wlo1 scan
wlo1      Scan completed :
          Cell 01 - Address: xx:xx:xx:xx:xx:xx
                    Channel:11
                    Frequency:2.462 GHz (Channel 11)
                    Quality=70/70  Signal level=-40 dBm  
                    Encryption key:on
                    ESSID:"Toto"
                    (...)

Dans l'exemple ci-dessus, le SSID est Toto.

Ne vous trompez pas de box (car toutes les box accessibles sont affichées, ne prenez pas celle du voisin :)

Nota :

  • Le BSSID est l'adresse MAC du point d'accès sans fil (chaque point d'accès a son adresse MAC). Il n'est pas nécessaire de le saisir pour la connexion. Dans le cas présent il s'agit de l'adresse citée après le libellé “Cell 01 - Address: xx:xx:xx:xx:xx:xx” ci-dessus (si vous avez retenu pour point d'accès “Toto”).

Paramétrage de network-manager-gnome :

On accède à network-manager-gnome par le Centre de contrôle de MATE, au paragraphe “Internet et réseau”, il y a un icône “Configuration réseau avancée” (il s'agit de l'application /usr/bin/nm-connection-editor installé par le paquet network-manager-gnome), on clique dessus :

NB : attention, pour pouvoir enregistrer vos modifications (sinon le bouton “Enregistrer” restera désactivé), il faudra saisir le SSID (voir ci-avant) dans l'onglet “Wi-Fi”.

  • Je clique sur ”+”,
  • puis “Sélectionner un type de connexion” : Wi-Fi
  • Je clique sur “Créer”

Onglet “Général”

  • ☐ Se connecter automatiquement avec priorité : 0 (décochez, sauf si vous souhaitez une connexion permanente au Wi-Fi)
  • ☑ Tous les utilisateurs peuvent se connecter à ce réseau (par défaut)
  • ☐ Se connecter automatiquement au VPN (par défaut)
  • Connexions limitées : Automatique (par défaut)

Onglet “Wi-Fi” :

  • SSID : Toto (exemple factice, voir ci-avant comment le trouver, indispensable pour pouvoir enregistrer votre configuration)
  • Mode : Client (par défaut)
  • Bande : Automatique (par défaut)
  • Canal : (par défaut, grisé)
  • BSSID : (laissez vide, pas nécessaire) (si vous souhaitez le saisir, il est de la forme “xx:xx:xx:xx:xx:xx”, voir ci-avant)
  • Périphérique : wlo1 (xx:xx:xx:xx:xx:xx) (facile à trouver car le sélecteur le propose)
  • Adresse MAC clonée : (laissez vide) (par défaut, au choix par sélecteur : “Conserver”, “Permanente”, “Aléatoire”, “Stable”)
  • MTU : automatique (par défaut, je ne l'ai pas changé)

Onglet “Sécurité Wi-Fi”

  • Sécurité : WPA et WPA2 personnel (au choix : “Aucune”, “Clé WEP 40/128-bit (Hex ou ASCII)”, “WEP 128-bit à phrase secrète”, “LEAP”, “WEP dynamique (802.1X)”, “WPA et WPA2 personnel”, “WPA et WPA2 entreprise”)
  • Mot de passe : ……………………….. (la clé WIFI de votre box)

Onglet “Proxy” : (je ne passe pas par un proxy)

  • Méthode : Aucune (par défaut)

Onglet “Paramètres IPv4”

  • Méthode : Automatique (DHCP) (là encore plein de choix, mais celui-ci était le bon car ma box est configurée pour une utilisation en DHCP)

Onglet “Paramètres IPv6”

  • Méthode : Automatique
  • Serveurs DNS supplémentaires : 2620:119:35::35, 2620:119:53::53 (ceux d'OpenDNS, car il s'agit ici de serveurs supplémentaires au cas où ceux de Free - qu'il trouve tout seul, feraient défaut)
  • Domaines de recherche supplémentaires : (laissé vide)
  • Extension de confidentialité IPv6 : Désactivé (par défaut)
  • Mode de génération d'adresse IPv6 : Confidentialité stable (par défaut)
  • Requiert un adressage IPv6 pour que cette connexion fonctionne : (décoché) (par défaut)
  • Routes : (pas cliqué / rien saisi)

À présent que j'ai saisi mes paramétrages, il me reste à voir comment activer la connexion.

J'installe le paquet nm-tray (une interface en Qt dans la zone de notification pour NetworkManager).
Excellente idée !!!

Je lance nm-tray en console avec la commande (pas besoin de l'ajouter aux applications à lancer au démarrage de MATE, car il s'y est mis tout seul) : $ /usr/bin/nm-tray

Paramétrage de nm-tray :

Une fois lançé, il apparait dans la zone de notification. on y accède via le clic gauche.
Son menu :

  • ☑ Activer le réseau
  • ☑ Activer le Wi-Fi
  • ☑ Activer les notifications
  • Informations de connexion
  • Informations de débogage
  • Wi-Fi - request scan
  • Éditer les connexions…
  • À propos
  • Quitter

Plus en détail :

  • ☑ Activer le réseau : active / désactive toutes les connexions.
  • ☑ Activer le Wi-Fi : active / désactive le Wi-Fi uniquement.
  • ☑ Activer les notifications : je n'ai pas vu la différence pour l'instant.
  • Informations de connexion : fait apparaître une fenêtre vide avant la connexion, puis lorsqu'il y a connexion, affiche les informations correspondantes (interface utilisée, débit de connexion, sécurité, adresse IPv4 avec serveurs DNS utilisés, adresse IPv6).
  • Wi-Fi - request scan : refait un scan Wi-Fi pour mettre à jour les points d'accès Wi-Fi disponibles.
  • Éditer les connexions… : une fenêtre d'accès (pas très jolie mais fonctionnelle, il s'agit en fait de l'interface textuelle de nmtui qui appartient au paquet network-manager, je lui préfère network-manager-gnome) aux fichiers de configuration des réseaux disponibles. Grâce à ce panneau (en mode texte) vous pouvez ajouter / supprimer / éditer le fichier de paramétrages de connexion à utiliser. Ces fichiers de paramétrages peuvent être créés soit depuis ce menu (pas très sexy), soit depuis network-manager-gnome (voir ci-avant, l'avantage c'est une interface conviviale avec un mot de passe affiché en clair pour la saisie), soit depuis nm-tray (via le menu “Informations de débogage” décris ci-après, avantage pour la simplicité, mais pas de mot de passe affichable en clair). Le fichier souhaité pourra ensuite être sélectionné dans le menu “Informations de débogage” ci-après.
  • Informations de débogage (permet aussi la création et le choix d'une connexion) : ouvre une fenêtre séparée en 3 zones. La zone “Sans-fil disponible” affiche les bornes Wi-Fi trouvées (votre box y est affichée, pour actualiser la liste passez par le menu “Wi-Fi - request scan” ci-avant). Si vous double-cliquez sur l'une des bornes, une fenêtre s'ouvre vous proposant de saisir un mot de passe d'accès (mais sans affichage en clair), ce qui créera automatiquement un fichier de connexion portant le nom du point d'accès Wi-Fi (également disponible ensuite sous network-manager-gnome, simple et fonctionnel). La zone “Connexions actives” affiche les connexions en cours. La zone “Toutes les informations” est un menu dépliable (sous “root”) permettant notamment de sélectionner le fichier de paramétrage de connexion à utiliser (au paragraphe “connexions(s)” vous double-cliquez sur le fichier), de voir les connexions actives, et les périphériques actifs (mon interface wlo1 par exemple, mais je vois aussi mon interface réseau filaire enp24s0 inactive).
  • Pour l'anecdote, lors de ma 1ere tentative j'ai effectué un clic droit sur “Informations de déboguage” ce qui m'ouvert la fenêtre (en 3 zones) où j'ai pu sélectionner ma box parmis les autres trouvées, saisir le mot de passe WIFI (à l'aveuglette car il ne permet pas son affichage, ça c'est pas terrible, c'est un coup de bol si j'y suis arrivé du 1er coup :)) et là il s'est connecté. Simple et rapide (même si je n'avais pas tout compris à ce moment là :).
  • Ensuite un autre icône (l'applet nm-applet, installée par network-manager-gnome, démarrée automatiquement sous le nom “Réseau” dans les “Applications au démarrage” dans le Centre de contrôle) dans la zone de notification m'affiche la qualité de la réception (0 à 100%).
  • Gkrellm m'affiche une autre interface réseau avec quelques pics réseaux : wlo1
  • Le test ultime : j’éteins le PC Internet et lance une mise à jour via Synaptic : ça marche, il télécharge les paquets à près de 600KB et je peux continuer à écrire sur ce WIKI : nickel ! Petit bémol sur le coup, les pages internet ne se chargent pas toutes aussi facilement. Google trouve sa page mais pas DuckDuckGo (bizarre que l'un la trouve et pas l'autre). Mais à présent ça fonctionne bien.

Nota concernant l'IPv6 :

  • Pour que ça fonctionne il faut que votre FAI le supporte (c'est le cas pour moi avec Free) et que vous l'activiez dans les paramétrages de votre Box internet.
  • Les adresses locales (l'équivalent des “192.”, invisibles depuis l'extérieur de votre réseau) commencent par “fe80”, le netmask se nomme “Prefix” et est 64
  • Pour l'instant (le 21 juillet 2019) internet n'est qu'au démarrage de l'IPv6. De nombreux sites ne sont pas prêts et si vous tentez de vous y connecter uniquement en IPv6 vous n'y parviendrez pas.

Quelques sites testés en IPv6 :

  • Google.com : Ok
  • DuckduckGo : ne fonctionne pas en IPv6.
  • Qwant : ne fonctionne pas en IPv6.
  • Wikipedia : Ok
  • Mastodon : Ok
  • GitHub : ne fonctionne pas en IPv6.
  • Bitbucket : Ok
  • Debian : Ok
  • YouTube : ne fonctionne pas en IPv6.
  • Le Bottin des Jeux Linux : Ok (grâce à Tuxfamily ! Bravo TuxFamily !)
  • etc…

Pour l'instant ça me suffit (je voudrais passer à autre chose).
J'y reviendrai vraisemblablement pour explorer la connexion à mon “smart”phone (pourrait être utile en cas de perte de ma box).

Le Bluetooth

Il s'agit ici de la version allégée (sans trop de pédagogie) de ma documentation initiale.
Si la version longue vous intéresse, consultez le journal correspondant : Installation du Bluetooth

C'est encore expérimental pour moi, ma nouvelle carte mère (une MSI B450 Gaming pro carbon AC) est équipée d'une antenne WIFI et d'une antenne Bluetooth. J'espère pouvoir m'amuser un peu avec.

Le noyau utilisé :

# uname -a
Linux goup2net 4.19.0-5-amd64 #1 SMP Debian 4.19.37-5 (2019-06-19) x86_64 GNU/Linux

Quelques documentations :

On va utiliser notamment :

  • rfkill (paquet éponyme, déjà installé par les dépendances) : un outil permettant d'activer/désactiver les périphériques sans fil,
  • blueman-manager (paquet blueman) : un outil de gestion de la connexion Bluetooth. Il permet de lancer des recherches de périphériques, de les valider, de les paramétrer et de faire des échanges de fichiers.
  • Différents drivers/firmwares (paquets firmware-iwlwifi, et bluez-firmware) et infrastructures logicielles pour le Bluetooth (paquets bluetooth bluez bluez-tools),
  • Pulseaudio (paquet éponyme, le serveur de son), mais aussi pavucontrol (paquet éponyme, PulseAudio Volume Control, pour un contrôle plus fin des paramétrages sonores) et pasystray (paquet éponyme, PulseAudio controller for the system tray, permettant d'accéder plus facilement aux paramètres de pavucontrol via son raccourci situé dans la zone de notification).

Installation :

Nota : le paquet firmware-iwlwifi listé ci-après couvre les appareils (votre carte Wireless) basés sur Intel. Si votre matériel est basé sur un autre composant, il faudra remplacer ce paquet par un autre (firmware-atheros pour Qualcomm, ou firmware-realtek pour Realtek).

  • Installez les paquets suivants : # apt install firmware-iwlwifi bluez-firmware blueman bluetooth bluez bluez-tools rfkill pulseaudio-module-bluetooth pasystray pavucontrol
  • Pas indispensable, mais me semble intéressant (notifies new discovered bluetooth devices) : # apt install bluewho
  • Redémarrez votre PC (nécessaire pour que les firmwares soient chargés au démarrage, un “modprobe” ne suffit pas).
  • Vous pouvez à présent vous rendre sur blueman-manager (il se charge dans la zone de notification sur le bureau). Lorsque vous cliquez sur le bouton “Rechercher”, un barre-graphe en bas de l'interface montre une recherche.
  • Ouvrez votre tablette, activez le Bluetooth, et relancez la recherche sur blueman-manager : il vous la trouve.
  • Vous pouvez tester l'envoi d'un fichier, une fenêtre s'ouvre sur la tablette, acceptez. Vous pourrez voire le transfert se faire via blueman-manager. Une fois terminé, sur la tablette vous cliquez sur votre gestionnaire de fichiers, et dans la “Catégorie Téléchargement” vous verrez votre fichier.
  • Vous pouvez aussi bien-sur faire l'inverse, lancer une recherche Bluetooth depuis votre tablette : sous blueman-manager dans le menu “Adaptateur” puis “Préférences”, sélectionnez “Temporairement visible” et règlez sur 5 minutes (il y a d'autres options), puis lancez une recherche Bluetooth depuis la tablette, celle-ci trouve le PC, propose un mot de passe, et ensuite sous blueman-manager il vous demande de confirmer que le mot de passe (qu'il a reçu) est le bon, validez, et ils sont appairés.

Pour jouer de la musique située la tablette sur votre PC :

  • Il suffit de lancer la connexion depuis la tablette (goup2net apparaît dans la liste des périphériques appairés, il suffit de le sélectionner).
  • Il n'y a rien à sélectionner sous PulseAudio : lorsque la tablette et le PC sont appairés, le son est automatiquement joué sous PulseAudio, le flux de son de la tablette est géré comme une application classique, elle apparaît dans l'onglet “Applications” avec un icone Firefox et le nom “AudioPC Server”.

Cas particulier de mon enceinte Bluetooth :

En effet pour moi, cette enceinte Bluetooth n'était pas reconnue, et j'obtenais en console l'erreur “Sap driver initialization failed.” au démarrage du Bluetooth :

# /etc/init.d/bluetooth status
● bluetooth.service - Bluetooth service
   Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2019-07-07 11:35:46 CEST; 3min 9s ago
     Docs: man:bluetoothd(8)
 Main PID: 14270 (bluetoothd)
   Status: "Running"
    Tasks: 1 (limit: 4915)
   Memory: 1.5M
   CGroup: /system.slice/bluetooth.service
           └─14270 /usr/lib/bluetooth/bluetoothd

juil. 07 11:35:46 goup2net bluetoothd[14270]: Bluetooth daemon 5.50
juil. 07 11:35:46 goup2net systemd[1]: Started Bluetooth service.
juil. 07 11:35:46 goup2net bluetoothd[14270]: Starting SDP server
juil. 07 11:35:46 goup2net bluetoothd[14270]: Bluetooth management interface…zed
juil. 07 11:35:46 goup2net bluetoothd[14270]: Sap driver initialization failed.
juil. 07 11:35:46 goup2net bluetoothd[14270]: sap-server: Operation not perm…(1)
juil. 07 11:35:47 goup2net bluetoothd[14270]: Endpoint registered: sender=:1…rce
juil. 07 11:35:47 goup2net bluetoothd[14270]: Endpoint registered: sender=:1…ink
juil. 07 11:35:57 goup2net bluetoothd[14270]: Endpoint unregistered: sender=…rce
juil. 07 11:35:57 goup2net bluetoothd[14270]: Endpoint unregistered: sender=…ink
Hint: Some lines were ellipsized, use -l to show in full.

Le bug a été résolu grâce aux documentations :

En effet, il est précisé que SAP (SIM Access Profile) n'est pas très utile et peut-être inhibé en éditant le fichier /etc/systemd/system/bluetooth.target.wants/bluetooth.service pour modifier la ligne :

ExecStart=/usr/lib/bluetooth/bluetoothd 
en : 
ExecStart=/usr/lib/bluetooth/bluetoothd --noplugin=sap

Il ne reste qu'à redémarrer le service :

# systemctl daemon-reload
# service bluetooth restart
# /etc/init.d/bluetooth status
● bluetooth.service - Bluetooth service
   Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2019-07-07 12:07:27 CEST; 16s ago
     Docs: man:bluetoothd(8)
 Main PID: 1829 (bluetoothd)
   Status: "Running"
    Tasks: 1 (limit: 4915)
   Memory: 1.4M
   CGroup: /system.slice/bluetooth.service
           └─1829 /usr/lib/bluetooth/bluetoothd --noplugin=sap

juil. 07 12:07:27 goup2net systemd[1]: Starting Bluetooth service...
juil. 07 12:07:27 goup2net bluetoothd[1829]: Bluetooth daemon 5.50
juil. 07 12:07:27 goup2net systemd[1]: Started Bluetooth service.
juil. 07 12:07:27 goup2net bluetoothd[1829]: Starting SDP server
juil. 07 12:07:27 goup2net bluetoothd[1829]: Excluding (cli) sap
juil. 07 12:07:27 goup2net bluetoothd[1829]: Bluetooth management interface 1.14 initialized

Ca ne charge plus sap et donc plus d'erreur, et en plus ça débloque la reconnaissance de l'enceinte Bluetooth.

On rappuie sur le bouton marche/arrêt de l'enceinte Bluetooth, on relance une recherche de périphérique Bluetooth et elle apparaît enfin sur l'interface Blueman sur le PC.

Autres réglages à faire :

  • Pour que ça apparaisse sous PulseAudio, il faut paramétrer la connexion sous blueman-applet (clic gauche sur l'icône Bluetooth de la zone de notification puis “Périphériques…”), vous sélectionnez votre enceinte (pour moi “JBL Flip 4”) et cliquez sur le menu “Périphérique”, ce qui vous donne accès à 3 options “Headset”, “Handsfree” ou “Synchronie Audio”.
  • J'ai sélectionné “Synchronie Audio” et obtenu le bip caractéristique de synchronisation qui se fait entendre sur mon enceinte, et sous PulseAudio à l'onglet “Sortie”, je vois apparaitre “JBL Flip 4”, je la sélectionne mais le son de la musique reste sur les enceintes de mon PC tandis que les sons système se font entendre sur ma JBL (particulièrement si je change le volume sonore dans l'onglet “Sortie”, j'ai bien le bip de retour plus ou moins fort sur la JBL), mais pas (encore) la musique :). À l'onglet “Matériel” je vois aussi “JBL Flip 4” et je peux lancer les tests (“Front left” et “Front Right”). À l'onglet “Applications” je vois mon lecteur “Clémentine”, je peux modifier le volume, mais le son n'est pas redirigé vers ma JBL.

À ce stade votre enceinte Bluetooth est totalement opérationnelle. Si la musique ne se fait pas encore entendre dessus, c'est juste que l'application PulseAudio de la zone de notification (clic gauche sur l'icône en forme de Haut-Parleur puis “Préférences du son”) ne donne qu'un accès partiel aux paramétrages du son ! Notamment l'onglet “Applications” est incomplet !
Il faut passer par l'utilitaire pavucontrol (paquet éponyme, accessible dans le menu de MATE : “Applications” ➜ “Son et vidéo” ➜ “Contrôle du volume PulseAudio”. Dans son onglet “Lecture”, pour l'application Clémentine (mon lecteur Audio) il y a en plus un bouton permettant de sélectionner la sortie. Par défaut il est chez moi sur “Family 17h (Models 00h-0fh) HD Audio Controller Surround analogique 4.0”, il suffit de cliquer sur le bouton et de sélectionner “JBL Flip 4”) et … ça marche ! :)

On peut rendre la chose plus aisée en installant le paquet pasystray (j'ai ajouté cette entrée ci-dessous aux paquets à installer, et je lance l'utilitaire pasystray au démarrage de MATE).

À présent, la sélection (“départ arrêté” :) se passe ainsi :

  • j'appuie sur le bouton “marche/arrêt” de l'enceinte Bluetooth : la connexion se fait automatiquement et le son se fait entendre sur la JBL (le volume sonore se règle à partir de la zone de notification : clic gauche sur le petit icône en forme de Haut-Parleur - lui-aussi, puis “Volume Control…”, onglet “Lecture” où l'on a accès au curseur de réglage du volume sonore)
  • j'appuie à nouveau sur le bouton “marche/arrêt” de l'enceinte Bluetooth : la connexion s'interrompt et le son repasse automatiquement sur les enceintes du PC: génial !

Imprimante et scanner

Pas grand-chose à dire, si ce n'est que ça s'installe facilement et rapidement. Linux a fait de gros progrès sur le sujet (surtout pour les imprimantes).

Imprimante

(Presque) tous les les paquets sont installés par défaut lorsque l'on installe une distribution Debian.

Je récapitule les paquets (installés par défaut) : # apt install cups cups-browsed python3-cups cups-pk-helper python3-cupshelpers printer-driver-gutenprint cups-bsd

Et pour les imprimantes EPSON (j'ai une imprimante Epson Stylus SX235W) : # apt install printer-driver-escpr (pour d'autres types d'imprimantes : printer-driver-*)

Pour imprimer en PDF : # apt install printer-driver-cups-pdf

Une fois ces paquets installés, l'impression est opérationnelle.

Scanner

1. Trouver le pilote Linux

Là aussi c'est très simple :) La partie la plus difficile est de trouver le pilote Linux de votre scanner.

J'ai une imprimante multi-fonction (Imprimante/Scanner) EPSON Stylus SX235W.

Si vous faites une recherche directe sur le web, vous risquez de tomber comme moi sur la page des pilotes EPSON qui vous indique qu'il n'y a pas de pilote Linux pour votre scanner (Faux).

Si vous avez une scanner EPSON, pour moi la référence, c'est la doc UBUNTU-fr : ubuntu-fr (Scanner Epson)

La page pour télécharger le driver EPSON du scanner est ici : download.ebz.epson.net

J'ai sélectionné :

      Stylus SX235
Scanner Driver 	Linux
2.30.4 	All-in-one package 	All language
08-22-2019

Des paquets Debian (et RPM) Linux 32-bit et 64-bit sont proposés. J'ai téléchargé le paquet iscan-bundle-2.30.4.x64.deb.tar.gz que je décompresse dans un répertoire, puis dans ce répertoire je lance : # ./install.sh

Le script installe plusieurs paquets (iscan_2.30.4-2_amd64.deb, iscan-data_1.39.1-2_all.deb, iscan-network-nt_1.1.2-1_amd64.deb).

2. Installer les outils de scan

Ensuite, on installe le paquet (qui permet la recherche du scanner dans les périphériques USB) : # apt install sane-utils

Et une interface simple et bien conçue : # apt install skanlite

En test (démon de surveillance de l'appui sur le bouton de scan de votre scanner) : # apt install scanbd

Pour scanner il suffit de lancer l'application skanlite et de suivre les instruction.

Le bureau

Synaptic

  • Lancement de synaptic : alt f2 et synaptic-pkexec (ou # /usr/sbin/synaptic)
  • Obtenir la zone de recherche de paquets : installer le paquet apt-xapian-index (et redémarrer synaptic)
  • Quelques paramètres retenus :
    1. Configuration > Preferences > Onglet Fichiers : Laisser les paquets téléchargés dans le cache

Le bureau MATE

  • L'exécutable du Centre de Contrôle se nomme : $ mate-control-center

(Permet d'atteindre l'option “extinction du 2nd écran virtuel”, lorsque le bureau est affiché sur 2 écrans dont un virtuel où se trouvent les menus, du fait que les 2 prises HDMI de mon écran DualLink sont interprétées par Linux comme 2 écrans. On lance mate-control-center via Alt F2 et on active l'option d'extinction du 2nd écran).

Le son

Le son est déjà opérationnel sans paramétrage compliqué (ceux qui ont connu oss et alsa savent combien c'était difficile autrefois). Pulseaudio est installé et opérationnel. Les touches multimédia de mon clavier sont également immédiatement opérationnelles.

Il ne reste que quelques réglages simples via le clic droit sur le symbole du haut-parleur dans la boîte à miniatures de la barre de menu (clic droit puis “Préférences du son”).

  • En haut de l'interface, le niveau sonore de sortie
  • Onglet matériel, sélectionnez votre carte sonore (pour moi à présent une Family17h) puis le type de sortie en bas de l'interface (Sortie Surround analogique 4.0 pour utiliser mes 4 petites enceintes + le caisson de basse)
  • Onglet Entrée, j'ai sélectionné mon casque TRITTON AX 180 pour le micro
  • Onglet Sortie, sélectionnez votre carte sonore (chez moi la Family17h) ou si vous souhaitez rediriger le son sur votre micro-casque, sélectionnez celui-ci

La Webcam

La Webcam est devenue nettement plus simple à utiliser notamment grâce à Webcamoid et Cheese (tous deux en dépôt).

Webcamoid

J'ai une Logitech C920 PRO dont les spécifications affichent fièrement du 1080p en 30 FPS.

Au mieux sous Webcamoid (qui me propose près d'une vingtaine de résolutions différentes) en 1920×1080 le débit n'est que de 5 FPS (ça fleure bon l'arnaque).
Ma Webcam est connectée au hub de mon écran en USB 3 (et ça ne change rien aux résultats si je la branche directement sur l'une des prises USB 3 de mon PC).
Pour parvenir aux 30 FPS - le maxi, je dois descendre en 800×448 (sinon j'ai aussi accès à d'autres résolutions intermédiaires avec moins de débit).
Le meilleur compromis me semble être le 864×480 en 24 FPS

Pour obtenir le son

Nota :

  • Sous PulseAudio, ne pas se fier au statut “Désactivé” de la webcam dans l'onglet “Matériel” (il n'est pas fiable). Il m'arrive d'enregistrer avec le son sans soucis alors que la Webcam a le statut “Désactivé”.
  • Sous PulseAudio (v. 12.2 & noyau Linux 4.19), lorsque l'on coche “Sourdine” dans l'onglet “Entrée” pour activer/désactiver le microphone de la webcam, cela fait (souvent) planter l'acquisition du micro, ensuite vous êtes contraint de brancher/débrancher votre webcam pour réactiver le son. Je ne sais pas si le souci vient de la webcam elle-même, de PulseAudio, ou du noyau. Malheureusement si vous souhaitez désactiver le micro de la webcam (personnellement je n'ai pas envie de laisser le micro activé en permanence) c'est la seule solution. J'ai cru un moment qu'en sélectionnant un autre périphérique sonore que je n'utilisai pas (et qui n'avait pas de retour sonore) ça désactivait l'entrée sonore de la Webcam (car il n'y avait pas de retour visuel sur l'interface de PulseAudio, mais non, on peux le voir en lançant l'interface pavucontrol (éventuellement en console) : lorsque l'on sélectionne un autre périphérique, l'acquisition du micro de la webcam reste active. La seule manière de désactiver le micro de la webcam est bien de cliquer sur “Sourdine”.

Le plus fiable selon mes essais :

  • si le micro a été désactivé en ayant coché la case “Sourdine” dans l'onglet “Entrée” de PulseAudio, décocher cette case, et si vous n'avez pas de retour sonore, débranchez et rebranchez la webcam (pas pratique, et à la longue risque d'user prématurément / d'apporter du jeu à la prise USB).

1. sous Pulseaudio :

  • onglet “Matériel”, sélectionnez “HD Pro Webcam C920 Stéréo analogique” ou “HD Pro Webcam C920” (ne pas se fier au statut “Désactivé”).
  • onglet “Entrée”, sélectionnez “HD Pro Webcam C920 Stéréo analogique”. Réglez le volume d'entrée sonore sur 100% pour le test (vous pourrez ultérieurement le rajuster). Lorsque vous parlez (même sans avoir démarré Webcamoid) vous devez avoir un retour visuel (le barre-graphe doit s'animer). S'il n'y a pas de retour visuel : essayez de débrancher/rebrancher la prise USB de la webcam.

2. sous Webcamoid :

  • Sélectionnez le menu Audio de l'application (en bas de l'interface, icône en forme de note de musique). En haut à gauche de l'interface il y a 2 minuscules icônes bleus (l'un en forme de casque, l'autre en forme de point d'exclamation / de microphone), cliquez sur l'icône bleu en forme de microphone pour accéder au menu de sélection des entrées Audio, puis sélectionnez “HD Pro Webcam C920 Stéréo analogique” (et non pas “HD Pro Webcam C920”). Dans la zone de droite, sélectionnez “Sample Format : s32”, “Channels : 2 - stereo” et “Sample rate : 44100”. Vous pouvez ensuite fermer le menu (en cliquant à nouveau sur l'icône en forme de note de musique).
Pour enregistrer
  • Sélectionnez le menu d'enregistrement vidéo (cliquez en bas de l'interface sur l'icône en forme de pellicule).
  • Sélectionnez le format d'enregistrement souhaité (dans la zone de gauche). J'ai testé avec succès le “MP4 (MPEG-4 Part 14)” (petite taille mais qualité moyenne de la vidéo), l' “Ogg Video” (enregistrement doublé mais bien meilleur qualité), le Matroska (très bonne qualité mais taille x30 par rapport au MPEG4), le GIF (marrant, taille x10 et pas de son, normal).
  • Démarrez l'enregistrement (cliquez sur le bouton rouge en bas de l'interface “Démarrer l'enregistrement vidéo”), puis sélectionnez l'emplacement d'enregistrement du fichier.

Cheese

Cheese est un autre utilitaire d'enregistrement vidéo / prise de photo. Son interface est encore plus simple (mais il me semble en contrepartie moins évolué). Elle permet aussi d'appliquer des effets.

Pour le paramétrage sonore de la webcam sous Pulseaudio, voir ci-avant (idem Webcamoid).

Autour du bureau

Le graphisme

  • Pour améliorer le look du bureau, un site de référence sous Linux : gnome-look.org
Les icônes
  • Les icônes sont à copier dans ~/.icons/, puis activez-les sous MATE dans le Centre de contrôle ➜ Apparence ➜ Onglet “Thème” ➜ Bouton “Personnaliser…” ➜ Onglet Icônes“ ➜ Sélectionner la collection d'icônes nouvellement installée.
  • Exemple de la collection d'icônes “Suru Plus 30 Barcelona” : Suru Plus 30 Barcelona (copier simplement ses répertoires eSuru++/, Suru++/ et Suru++-Light/ dans ~/.icons/)
  • Quelques collections d'icônes que j'ai bien aimé il y en a des tonnes, mais soit ils sont vieux/moches, soit mal intégrés, soit incomplets donc certains icônes jurent sur le bureau) : eSuru++25, ePapirus, Faenza,
  • Quelques combinaisons qui me semblent sympa (Contrôles/Bordures de fenêtres/Icônes) : Arc/Arc/eSuru++25, Gilouche/Materia-light-compact/eSuru++25 (Menta + joli que Gilouche mais mal ajusté sur gedit)
  • Arc : paquet arc-theme
  • Gilouche : paquet gnome-theme-gilouche
  • Materie : paquet materia-gtk-theme

Les applications à lancer au démarrage

Là aussi, l'intérêt de ce paragraphe est limité pour vous, ce n'est qu'un mémo pour moi. Sous MATE, elles sont listées dans le Centre de contrôle ➜ Section “Personnel” ➜ Icône “Applications au démarrage.

Suite à un bug (temporaire ?) de fonctionnement de mon bureau MATE (après un démarrage, le gestionnaire de fichier Caja s'est mis à s'ouvrir en des dizaines d'instances qui ne s'interrompaient pas), dans l'onglet “Options” j'ai désactivé l'option “Se souvenir automatiquement des applications en cours d'exécution lors de la déconnexion”.
Comme j'aime retrouver mon environnement de bureau, j'ai donc entré ici les applications que je souhaite retrouver habituellement.
J'espère qu'un jour les progrès du bureau feront qu'elles se placeront toutes automatiquement sur le bureau à l'emplacement précédent ;).
(aujourd'hui c'est un peu le bazar : elles s'ouvrent sur le bureau et s'affichent en vrac dans des dimensions diverses, néanmoins certaines y parviennent, notamment firefox et gedit).

Je ne liste pas l'ensemble des applications lancées (notamment les services, qui se sont automatiquement inscrits ici), mais seulement les applications que j'ai ajouté manuellement, avec une exception pour quelques-unes qui ont été ajoutées automatiquement via l'installation de paquets.

  • Applet Blueman (blueman-applet) : Connexions Bluetooth - Accès à l'interface de réseau Blueman dans la zone de notification
  • Caja (caja -t /mnt/DDprc/Download '/mnt/DDprc/Fichiers/Commun/Doc perso en consultation/Fichiers Ooffice/Rédaction doc informatique/Le bottin des jeux Linux' '/mnt/DDprc/Fichiers/Commun/Doc perso en consultation/Fichiers Ooffice/Rédaction doc informatique/Screenshots' '/mnt/DDprc/Fichiers/Commun/Doc perso en consultation/Fichiers Ooffice/Rédaction doc informatique/Thumbnails' '/mnt/DDprc/Fichiers/Commun/Doc perso en consultation/Fichiers Ooffice/Rédaction doc informatique/Mastodon') : Gestionnaire de fichier
  • Clémentine (clementine %U) : Lecteur de musique
  • Firefox (/usr/bin/firefox) : Navigateur internet
  • Gedit (gedit /mnt/DDprc/Download/'Filtres & tags Bottin.txt' /mnt/DDprc/Download/Brouillons.txt /mnt/DDprc/Download/TEXTI /mnt/DDprc/Download/TEXTO) : Éditeur de textes
  • Gkrellm (gkrellm) : Surveillance des données système
  • Glances (tilix –command='/usr/bin/glances' ou tilix –command='pkexec /usr/bin/glances') : Surveillance des données système, notamment les accès disques) (attention : il y a 2 tirets avant “command”)
  • Gnome-Pie (/usr/bin/gnome-pie) : Lanceur d'applications
  • Kup (/usr/bin/kup-daemon) : Backup des données importantes
  • KBackup (1j) (/usr/bin/kbackup /mnt/Svg1/KBackup/goupildb-1j) : Backup journalier (minimaliste) de support à kup
  • Moniteur système GNOME (gnome-system-monitor) : Surveillance des données système
  • Nethogs (tilix –command='/usr/sbin/nethogs') : Surveillance des connexions réseau des applications (attention : il y a 2 tirets avant “command” / pour lancer nethogs sans devoir systématiquement entrer le mot de passe root, lancer au préalable la demande par : # setcap “cap_net_admin,cap_net_raw=ep” /usr/sbin/nethogs)
  • nm-tray (nm-tray) : Connexions Wi-Fi - Accès à l'interface de NetworkManager dans la zone de notification
  • PulseAudio System Tray (pasystray) : Accès à Pavucontrol (contrôle affiné de PulseAudio) dans la zone de notification
  • Qps (/usr/bin/qps) : Surveillance des processus en cours (liste des processus, occupation processeur, mémoire, graphe accès disques, …)
  • QuiteRSS (quiterss) : Lecteur de flux RSS
  • Redshift (/usr/bin/redshift-gtk) : ajustement colorimétrie de votre écran à l'heure (fatigue oculaire)
  • Réseau (nm-applet, fournit par le paquet network-manager-gnome) : Connexions Wi-Fi - Affiche le débit Wi-Fi dans la zone de notification
  • Saytime (saytime -f %P%l%M) : Horloge parlante
  • Tootle (/usr/bin/tootle) : Tootle : un client Mastodon

Quelques mémos/astuces par application

Raccourcis clavier sous MATE

Rien d'extraordinaire, je les indique ici pour moi, pour m'en rappeller. Sous MATE, ils se définissent dans le Centre de contrôle ➜ Section “Matériel” ➜ Icône “Raccourcis clavier”.

  • Tilix : tilix –working-directory=/mnt/DDprc/Download (attention : il y a 2 tirets avant “working”)
  • Synaptic : /usr/bin/synaptic-pkexec
  • Firefox : /usr/bin/firefox
  • Caja : caja -t /mnt/DDprc/Download '/mnt/DDprc/Fichiers/Commun/Doc perso en consultation/Fichiers Ooffice/Rédaction doc informatique/Le bottin des jeux Linux' '/mnt/DDprc/Fichiers/Commun/Doc perso en consultation/Fichiers Ooffice/Rédaction doc informatique/Screenshots' '/mnt/DDprc/Fichiers/Commun/Doc perso en consultation/Fichiers Ooffice/Rédaction doc informatique/Thumbnails' '/mnt/DDprc/Fichiers/Commun/Doc perso en consultation/Fichiers Ooffice/Rédaction doc informatique/Mastodon'

nota : l'application Clémentine (lecteur de musique) n'en a pas besoin, elle utilise nativement les touches multimédias.

Caja

J'ai vraisemblablement pompé ailleurs (je ne me souviens plus) un petit script de conversion de format d'un fichier graphique (exemple ”.png”, mais il marche aussi avec d'autres formats) en “.jpg” compressé à 75% (pratique pour le passer en copie d'écran du Bottin, lorsque le fichier d'origine est dans un format volumineux).
Voilà le script :

#!/bin/bash
while [ $# -gt 0 ]; do
    picture=$1
    jpg_file=`echo "$picture" | sed 's/\.\w*$/.jpg/'`
    /usr/bin/convert -quality 75 "$picture" jpeg:"$jpg_file"
    shift
done

Je l'ai nommé “convertir_en_jpg”, l'ai rendu exécutable (clic droit sous votre gestionnaire de fichier), et l'ai copié dans ~/.config/caja/script/

Pour l'utiliser, il suffit de sélectionner sous Caja le ou les fichier(s) souhaité(s) (exemple : image.png, il marche aussi en sélectionnant plusieurs fichiers), de faire un clic gauche, puis de sélectionner “Script” puis “convertir_en_jpg”, et le/les fichier(s) est/sont ainsi converti(s) (en image.jpg). Très pratique.

Tellico

  • Pour afficher le champ “Screenshot” en 1ere position sous Tellico. Celui-ci est verrouillé par défaut après la 1ere colonne sous Tellico (on ne peux pas manuellement le déplacer avant le champ “Title” pour le mettre en 1ere position par exemple, mais on peux le déplacer après n'importe quelle colonne). Pour pouvoir forcer son affichage en 1ere colonne : fermez Tellico, éditez le fichier ~/.config/tellicorc. Trouvez la ligne “ColumnOrder=” et inversez les 2 premiers chiffres (si précédemment vous aviez ouvert Tellico en affichant le champ “Screenshot” en 2nde position puis refermé Tellico), exemple : “ColumnOrder=0,2,3,1,36,40” devient “ColumnOrder=2,0,3,1,36,40”. Enregistrer le fichier puis rouvrez Tellico. Celui-ci risque de mettre plusieurs minutes à s'ouvrir, soyez patient.

Autres réglages :

  • Réinstaller les skins du Bottin (à récupérer sur la page “Download” du site du Bottin, télécharger le skin, la documentation d'installation est incluse, ensuite le choix du skin se règle dans le menu de configuration de Tellico, onglet “Modèles”).
  • dans le menu de configuration de Tellico, onglet “Général”, sélectionner l'option “Enregistrer les images dans un dossier aux côtés du fichier de données” (car par défaut il utilise l'option “Inclure les images dans le fichier des données” qui génère un fichier principal énorme avec des temps de latence tout aussi conséquents).
  • Pour l'export HTML, cocher “Formater tous les champs”, “Exporter seulement les entrées sélectionnées”, “imprimer les libellés des champs” (par défaut), et “Exporter individuellement les entrées”.

Tillix

  • Pour un maximum de lisibilité, il vaut mieux rester sur une police à chasse fixe tel que Monospace Regular 11
  • Correction du bug Debian vte : dans Debian/Ubuntu il manque le lien symbolique /etc/profile.d/vte.sh), ce qui fait que si l'on est sur un répertoire et que l'on ouvre un nouvel onglet, il ne se positionne pas automatiquement sur le précédent répertoire (il s'ouvre sur le ~). Pour corriger ce bug :
   # ln -s /etc/profile.d/vte-2.91.sh /etc/profile.d/vte.sh

(à adapter en fonction de la version présente)

Et cocher dans le profil utilisateur de Tilix (onglet “Par défaut” si pas créé), onglet Commande, cocher “Lancer la commande en tant que shell de connexion”.

  • Signets : pratiques pour créer des raccourcis (que l'on appelle sous Tilix par la combinaison de touches “Shift Ctrl B” puis on sélectionne son signet) vers des répertoires (que vous utilisez souvent, exemple pour moi : /mnt/DDprc/Download/), ou pour lancer des scripts (exemple pour moi, j'ai créé un signet qui lance mon script “Ztraitlots” de compression des images de mes extractions du Bottin via la commande : cd '/mnt/DDprc/Fichiers/Commun/Doc perso en consultation/Fichiers Ooffice/Rédaction doc informatique/BottinHTML' && ./Ztraitlots, et mon autre script “Zipbot” qui me compresse le répertoire du Bottin au format ZIP : cd '/mnt/DDprc/Fichiers/Commun/Doc perso en consultation/Fichiers Ooffice/Rédaction doc informatique' && ./Zipbot). J'ai aussi un raccourci pour lancer ZeroK : cd '/mnt/DDprc/Download/zero-k-portable' && ./Zero-K_old.sh
  • Son fichier de sauvegarde des raccourcis (signets) est : ~/.config/tilix/bookmarks.json
  • Je ne sais pas où il enregistre les autres paramètres sélectionnés (??).

Quelques utilitaires / scripts

  • Pour envoyer un message dans la zone de notification (signaler la fin d'un script par exemple) : $ notify-send -i yast_joystick 'Coucou' (“yast_joystick” est le nom d'un icône rappelant un joystick, à adapter pour un autre icône, voir gnome-pie ou une autre application pour trouver facilement ces icônes)
  • Pour afficher une fenêtre avec un message et une validation : $ zenity –info –text=“Coucou”
  • Jouer des sons en ligne de commande (mais difficulté avec mp3) : sox
  • Jouer des sons en ligne de commande (y compris mp3) : mpg123 (exemple : mpg321 fichier.mp3)
  • Conversion de formats sonores : # apt install soundconverter gstreamer1.0-plugins-ugly (puis lancer en console : $ soundconverter)

Gnome-pie

Gnome-pie est un lanceur d'applications affichant un ou plusieurs menu(s) circulaire (dénommés “tarte” pour son aspect j'imagine) à l'emplacement de la souris et peut se lancer d'un clic de bouton de souris (très pratique, je l'utilise au quotidien).

Quel en est l'intérêt ?

Sous MATE (ce qui n'était pas le cas autrefois sous d'autres gestionnaires de fenêtres) les applications sont très bien organisées et assez rapides d'accès (très bien). Le problème c'est quand il y en a beaucoup (ce qui est mon cas, c'est libre, je ne me prive pas d'en installer / désinstaller pour les tester et pour le plaisir), ça devient parfois difficile de retrouver l'utilitaire que l'on cherche, ou tout simplement de naviguer pour retrouver l'application que l'on utilise tout le temps (on peut aussi créer des raccourcis selon les menus installés, car là aussi on a le choix). L'intérêt de Gnome-pie pour moi, c'est un menu avec mes raccourcis les plus utilisés qui apparaît d'un clic de souris à l'emplacement où se trouve mon curseur. En plus il est beau (ce qui ne gâche rien :).

Comment je l'utilise ?

J'ai créé une tarte pour les applications bureautique/utilitaires et une autre pour les jeux (que je ne détaille pas ci-dessous), chacune se lançant par l'un des 2 boutons présents sur le côté gauche de ma souris.

Vous pouvez soit saisir les entrées manuellement, soit les entrer par glisser-déposer depuis le menu des applications (super pratique).

Pour les applications (Nom : raccourci lançé) :

  • Tilix (console) : tilix –working-directory=/mnt/DDprc/Download (attention : il y a 2 tirets avant “working”)
  • Caja (gestionnaire de fichier) : caja -t /mnt/DDprc/Download '/mnt/DDprc/Fichiers/Commun/Doc perso en consultation/Fichiers Ooffice/Rédaction doc informatique/Le bottin des jeux Linux' '/mnt/DDprc/Fichiers/Commun/Doc perso en consultation/Fichiers Ooffice/Rédaction doc informatique/Screenshots' '/mnt/DDprc/Fichiers/Commun/Doc perso en consultation/Fichiers Ooffice/Rédaction doc informatique/Thumbnails' '/mnt/DDprc/Fichiers/Commun/Doc perso en consultation/Fichiers Ooffice/Rédaction doc informatique/Mastodon'
  • Gedit (éditeur) : gedit /mnt/DDprc/Download/'Filtres & tags Bottin.txt' /mnt/DDprc/Download/Brouillons.txt /mnt/DDprc/Download/TEXTI /mnt/DDprc/Download/TEXTO
  • Tellico (édition du Bottin) : tellico
  • Speedcrunch (calculatrice) : speedcrunch
  • Upload bandeau (script perso uploadant l'image de bandeau du site du bottin). Il lance : '/mnt/DDprc/Fichiers/Commun/Doc perso en consultation/Fichiers Ooffice/Rédaction doc informatique/BottinHTML/bandeau'
  • Publication Bottin (script perso uploadant le Bottin). Il lance : '/mnt/DDprc/Fichiers/Commun/Doc perso en consultation/Fichiers Ooffice/Rédaction doc informatique/BottinHTML/cpmp'
  • Firefox (Navigateur Web) : /usr/bin/firefox
  • Chromium (Navigateur Web) : chromium
  • QuiteRSS (Lecteur de flux RSS) : quiterss
  • FileZilla (Upload des fichiers sur le site du Bottin) : filezilla
  • Tootle (client Mastodon) : tootle
  • Icedove (client mail) : icedove %u
  • Clementine (Lecteur de musique) : clementine %U
  • Gnome-pie (pour accéder plus facilement à sa configuration) : gnome-pie
  • Rés. on (script perso pour ouvrir le réseau sur goup2net) : /mnt/DDprc/Xinst/Divers/Scripts/LanOn
  • Rés. off (script perso pour fermer le réseau sur goup2net) : /mnt/DDprc/Xinst/Divers/Scripts/LanOff
  • KCharSelect (utilitaire d'affichage de polices de caractères) : kcharselect –qwindowtitle %c (attention : il y a 2 tirets avant “qwindowtitle”)
  • Table de caractères (autre utilitaire d'affichage de polices de caractères) : gucharmap
  • Screen Ruler (utilitaire pour prendre des mesures, de tailles d'interfaces dans mon cas) : screenruler
  • Flameshot (utilitaire pour les copies d'écrans) : flameshot gui
  • Phatch (Traitement de photos par lots) : phatch /mnt/DDprc/Download/ActionsPhatch.phatch
  • Webcamoid (Utilitaire génial de gestion de la Webcam) : webcamoid
  • SimpleScreenRecorder (enregistrement d'écran) : simplescreenrecorder
  • Skanlite (pour scanner/photocopier mes documents papiers) : skanlite c i
  • iotop (Quel processus utilise les disques durs ?) : tilix –command='pkexec /usr/sbin/iotop' (attention : il y a 2 tirets avant “command”)
  • Glances (Surveillance des données système, notamment les accès disques) : tilix –command='/usr/bin/glances' ou tilix –command='pkexec /usr/bin/glances') (attention : il y a 2 tirets avant “command”)
  • atop (écart sur les processus, pour mieux repérer les anomalies) : tilix –command='/usr/bin/atop' (attention : il y a 2 tirets avant “command”)
  • nethogs (Traffic réseau par application) : tilix –command='/usr/sbin/nethogs' (attention : il y a 2 tirets avant “command” / pour lancer nethogs sans les droits root, initialiser la demande par : # setcap “cap_net_admin,cap_net_raw=ep” /usr/sbin/nethogs)
  • Surveillance des montages RAID : tilix –command='watch cat /proc/mdstat' (attention : il y a 2 tirets avant “command”)
  • GSmartControl (Surveillance des données SMART des disques durs) : /usr/bin/gsmartcontrol-root
  • Analyseur d'utilisation des disques MATE : mate-disk-usage-analyzer
  • Filelight (autre analyseur d'utilisation des disques) : filelight %f
  • Qps (analyse des processus en cours) : qps
  • Gnome-system-monitor (affichage de l'utilisation des disques, mémoire, …) : gnome-system-monitor
  • Mate-system-monitor (idem en un peu moins bien, lorsque l'autre ne démarre pas :affichage utilisation des disques, mémoire, …) : mate-system-monitor
  • Visionneur de journaux système : mate-system-log
  • Informations et Benchmarks du Système : /usr/bin/hardinfo
  • Kup Prog (Programmation des sauvegardes incrémentales) : tilix –command='kcmshell5 kup' (attention : il y a 2 tirets avant “command”)
  • Kup 5 min (Consultation des sauvegardes incrémentales - à 5 min d'intervalle) : tilix –command='/usr/bin/kup-filedigger /mnt/Svg1/Kup/Kup5min' (attention : il y a 2 tirets avant “command”) (ou tilix –command='/usr/bin/kup-filedigger /media/goupil2/Svg1/Kup/Kup5min' si lecture depuis la clé de dépannage)
  • Kup Glob 2j (Consultation des sauvegardes incrémentales - à 2j d'intervalle) : tilix –command='/usr/bin/kup-filedigger /mnt/Svg1/Kup/KupIncrem' (attention : il y a 2 tirets avant “command”) (ou tilix –command='/usr/bin/kup-filedigger /media/goupil2/Svg1/Kup/KupIncrem' si lecture depuis la clé de dépannage)
  • Outil de recherche MATE : pkexec mate-search-tool
  • SayTime (horloge vocale, pour m'amuser) : saytime
  • mate-control-center (Centre de Contrôle de MATE) : /usr/bin/mate-control-center
  • Synaptic (gestionnaire de paquets) : /usr/bin/synaptic-pkexec

Youtube-dl

$ youtube-dl --embed-thumbnail --extract-audio --audio-format mp3 --audio-quality 0 -o "/repdecopie/%(title)s.%(ext)s" https://www.youtube.com/watch?v=xxx

Bug identifiés sous MATE

  • Dans le Centre de contrôle ➜ Apparence ➜ icône “Fenêtres” ➜ onglet “Comportement” : ne pas activer l'option “Sélectionner la fenêtre lorsque la souris est au dessus” : car cette option génère des bugs de copie lorsque l'on tente notamment de copier une adresse URL de Firefox vers une autre application (la copie effectuée n'est pas la bonne, n'enregistre pas le Ctrl C courant).
  • Dans le Centre de contrôle ➜ Informations personnelles ➜ icône “Applications au démarrage” ➜ onglet “Options” : ne pas activer “Se souvenir automatiquement des applications en cours d'exécution lors de la déconnexion” : car cette option génère l'ouverture des applications précédentes à l'infini jusqu'à saturation de la mémoire.

Autres paquets à installer

Pour finaliser votre distribution Debian, je vous propose ci-après une liste des paquets qui me semblent utiles d'installer (voir de désinstaller).

Cette liste sera complétée au fil de mes découvertes.

  • À commencer par désinstaller : # apt purge unattended-upgrades (le paquet est bugué depuis des lustres, il s'obstine à mettre à jour les paquets dont vous avez demandé le blocage de la version)
  • Et (car plante initramfs-tools lorsqu'on l'installe) : # apt purge plymouth plymouth-label
  • Mon “Socle de base” : # apt install apt-file aptitude apt-xapian-index deja-dup mate mdadm clementine gdebi gnome gnome-initial-setup gnome-pie gparted gwenview kbackup kde-full kipi-plugins krusader lightning lightning-l10n-fr locate lxde lxqt mumble pavucontrol pasystray redshift quiterss speedcrunch task-mate-desktop tellico thunderbird thunderbird-l10n-fr tilix tootle

(concernant le bureau mate, je termine l'installation en installant tous les paquets mate - sauf ceux relatifs aux laptops, sous le gestionnaire synaptic)

  • N'est plus dans Debian 10 / “Testing” ? (gksu peut être remplacé par pkexec) : # apt install gksu kdeartwork
  • Mon navigateur : # apt install firefox firefox-l10n-fr (ou firefox-esr)
  • Les gestionnaires de connexion graphiques lightdm et sddm (mes préférés pour leur bonne gestion du multi-écrans) : apt install sddm lightdm lightdm-settings lightdm-gtk-greeter-settings sddm-theme-*

(le gestionnaire lightdm se configure facilement depuis le Centre de contrôle si vous avez installé les paquets lightdm-settings lightdm-gtk-greeter-settings)

  • Si vous avez formaté vos disques en EFI et que vous souhaitez accéder à d'autres disques restés en MBR / formatés avec LVM : # apt install lvm2 lvm2-dbusd udisks2-lvm2 lvm2-lockd
  • Pour la gestion des réseaux : # apt install network-manager network-manager-gnome nm-tray resolvconf net-tools
  • Pour le Bluetooth : # apt install firmware-iwlwifi bluez-firmware blueman bluetooth bluez bluez-tools rfkill pulseaudio-module-bluetooth bluewho
  • Pour le Wi-Fi (complémentaires aux paquets cités pour le Bluetooth) : # apt install network-manager-gnome nm-tray wireless-tools
  • Pour les transferts de fichiers (vers mon site) : # apt install filezilla lftp
  • Pour les gros téléchargements (avec pause et reprise) en http : # apt install uget
  • Gestionnaire de fichier alternatif (je suis très satisfait de caja, nemo est un nautilus bien plus agréable) : # apt install nemo nemo-fileroller nemo-gtkhash
  • Autres : budgie*
  • Pour les hypocondriaque de leur machine : # apt install atop htop nethogs qps glances filelight gkrellm gkrelltop hardinfo iotop lm-sensors
  • Anti-virus : # apt install clamav clamav-daemon
  • Pour jeter un œil de temps en temps sur la santé de mes disques durs : # apt install smartmontools gsmartcontrol smart-notifier
  • Pour la recherche :
    • de textes et/ou de fichiers (puissant et complet mais pas très rapide, pour rappel) : # apt install krusader
    • de texte dans les fichiers (utilisation : $ ag “texte” /rep -u) (-u = unrestricted = all files) : # apt install silversearcher-ag
    • de fichiers :
      • fdfind est une alternative plus simple à la commande find (fdfind -h, fdfind fichier /répertoire, exemples : fdfind clamd.conf /etc/, fdfind -H .placeholder /etc/ pour les fichiers cachés) : # apt install fd-find
      • une autre alternative est le couple updatedb/locate (à lancer en root si vous souhaitez permettre la recherche dans les répertoires nécessitant les accès root : $ updatedb et $ locate
  • Pour la webcam : # apt install kamoso webcamoid obs-studio
  • Pour l'impression (installés par défaut, manque juste le driver de l'imprimante ci-après) : # apt install cups cups-browsed python3-cups cups-pk-helper python3-cupshelpers printer-driver-gutenprint cups-bsd
  • Et pour les imprimantes EPSON (j'ai une imprimante Epson Stylus SX235W, pour d'autres types d'imprimantes : printer-driver-*) : # apt install printer-driver-escpr
  • Et pour imprimer en PDF : # apt install printer-driver-cups-pdf
  • Pour le scanner : # apt install sane-utils skanlite
  • Autres plus ponctuels (et pas déjà installés par les dépendances ci-dessus): # apt install caja-actions caja-xattr-tags chromium feedreader flameshot gimp-data-extras iat gpaint inkscape kaffeine krita partitionmanager screenruler simplescreenrecorder scribus
  • Pour la compilation : # apt install build-essential cmake cmake-qt-gui devscripts nasm ninja-build meson libsdl1.2-dev libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-gfx-dev libsdl2-ttf-dev libopenal-dev libgegl-dev libfluidsynth-dev rustc libssl-dev
  • Utiliser les applis Java Web Start via le navigateur : # apt install icedtea-netx
  • Et : openjdk-(version)-jdk
  • J'aime tout ce qui est graphique et gadget (graphisme & son) : # apt install compiz gnome-colors saytime sox gnome-sound-recorder
  • et notamment : *-theme* tel que : deepin-icon-theme papirus-icon-theme gnome-icon-theme-extras numix-icon-theme-circle tango-icon-theme moka-icon-theme tangerine-icon-theme nuvola-icon-theme faenza-icon-theme elementary-xfce-icon-theme gnome-dust-icon-theme gnome-human-icon-theme gnome-illustrious-icon-theme gnome-noble-icon-theme gnome-wine-icon-theme gnome-wise-icon-theme gnome-icon-theme-yasis human-icon-theme kdeartwork-theme-icon gnome-icon-theme-symbolic sugar-icon-theme obsidian-icon-theme gnome-icon-theme-nuovo gnome-icon-theme-suede gnome-brave-icon-theme moblin-icon-theme gnome-theme-gilouche
  • Pour les jeux :
    • Commun : # apt install dosbox opl3-soundfont playonlinux q4wine wine64 python-pygame python-pygame-sdl2 python3-pygame
    • Flatpak : # apt install flatpak gnome-software-plugin-flatpak qt5-default
  • Pour créer des notifications (par mes scripts) : # apt install sox mpg123 soundconverter gstreamer1.0-plugins-ugly)
  • Économiseurs d'écran (attention : à tendance à planter X) : # apt install rss-glx

(j'aime bien : Flocks, Flux, Helios, Hyperspace, Lattice, Lorenz Attractor, Skyrocket)

  • Déjà installé par les dépendances ci-dessus, mais pour mémo : # apt install firebird3.0-common gdebi gimp gwenview synaptic vlc youtube-dl
  • Sympa mais ne semble plus être dans les dépôts Debian 64-bit : tomboy caja-extension-fma phatch
  • À tester : # apt install debian-faq-fr doc-linux-fr-pdf slim
  • À tester (suite) : apt install mate-sensors-applet moblin-cursor-theme moblin-sound-theme gtrayicon famfamfam-silk wm-icons gkrellm-hdplop gkrellmwireless

Quelques solutions de Sauvegarde / Restauration / Réparation

J'ouvre ce paragraphe, car j'ai lu des trucs intéressants sur les sauvegardes, et j'y ai moi-même été sensibilisé par la force des choses :)

L'idée n'est pas de faire un truc encyclopédique mais plutôt un mémo pour des trucs / des docs à tester plus tard.

État de santé de vos disques durs

La doc d'UBUNTU-Fr : Smartmontools

On installe : # apt install smartmontools gsmartcontrol smart-notifier

Je ne m'étend pas sur cette partie, la doc d'UBUNTU est parfaite. J'ai particulièrement apprécié l'interface gsmartcontrol (accessible via le menu MATE Applications ➜ Outils système ➜ GSmartControl, ou par /usr/bin/gsmartcontrol-root)

La sauvegarde / Restauration de données

Doc généraliste d'introduction :

J'ai créé une doc dans ce WIKI récapitulant les quelques tests effectués : La sauvegarde / Restauration de données.

Je ne liste ici que les outils retenus, car correspondant le plus à mes besoins : Kup (paquet kup-backup) pour la sauvegarde de base (3 plans de sauvegarde) et Kbackup pour une petite sauvegarde journalière en roue de secours. Kup est incontestablement le meilleur, par sa puissance (rapide et taux de compression important des données) et ses fonctionnalités (plusieurs types de sauvegarde simultané, et son interface pour la sauvegarde incrémentale est excellente), mais j'ai rencontré un bug avec Kup sur mon plan de sauvegarde à 5min, c'est pourquoi j'ai renforcé mon plan de sauvegarde.

Après avoir testé Kup, je me rend compte que le RAID logiciel que j'utilisai précédemment perd une grande partie de son intérêt : en bureautique Kup est totalement transparent (je ne vois pas de ralentissement de mon bureau). De plus il me rend nettement plus serein pour la sauvegarde de mes onglets Firefox (m'évitera de les sauvegarder régulièrement manuellement) et les plantages (devenus plus rares, mais je restais prudent) de Tellico.

Bref, l'essayer, c'est l'adopter :)

Mais son utilisation (bug de sauvegarde de Kup) m'a montré qu'il faut rester prudent, donc je l'utilise en conjonction avec KBackup (petite sauvegarde journalière) et j'y ai ajouté un 3ème plan de sauvegarde en clair (=miroir) sous Kup.

Le "Ghost"

Le “Ghost” (copie miroir manuelle d'un disque) :

Le RAID logiciel

Le RAID logiciel (J'en suis nettement moins fan à présent). Ce n'est pas une solution de sauvegarde, ça permet de palier à la panne matérielle d'un disque, mais ça ne protège pas contre l'effacement accidentel ou la malveillance. J'utilise le RAID 1, mais là aussi la réalité m'a montré ses limites : si pour une raison x, le disque “modèle” est effacé ou écrit avec de mauvaises données, la copie RAID viendra se détruire d'elle-même. Le RAID protège (partiellement) contre un disque défectueux, mais pas contre une opération mal-intentionnée ou une bêtise. Non seulement il n'est pas simple à mettre en œuvre, mais en cas de plantage de votre installation, il complique beaucoup les choses pour récupérer vos données. Je pense qu'il vaut mieux privilégier une sauvegarde de vos fichiers / répertoires par un outil spécialisé (sauvegarde incrémentale ou autre).

La restauration de données (après panne)

Quelques docs trouvées :

Quelques logiciels :

Ils permettent la restauration de fichiers, mais pas la restauration de partitions telles qu'elles étaient à l'origine (il n'y a pour l'instant que Windows qui sait faire ça).

  • TestDisk (en dépôts Debian) : Tuto (pour windows) et Testisk (wiki) : il est multi-plateforme et GPL v2+. En revanche pour Linux, si j'ai bien compris, il ne récupère que les données, pas les partitions.
  • PhotoRec (distribué avec TestDisk). Idem, il ne récupère que les données, pas les partitions.
  • Il y a aussi Foremost mais ça ne semble pas simple, et orienté lui aussi vers les fichiers.

Test de Photorec

Documentation :

Gros avantage : c'est simple, ça fonctionne bien. Il sait récupérer des fichiers zip, texte, vidéo, images, html. Photorec ignore le système de fichiers, donc il fonctionne même si le système de fichiers est très endommagé. Gros inconvénient : c'est de la récupération en vrac. Les fichiers récupérés ont perdus leur nom d'origine, idem pour les répertoires.

Il s'installe via le paquet testdisk : # apt install testdisk

Disque à sauver pour mon test : mon disque SSD de 80Go (de mémoire occupé à 20%-30% maxi, soit env. 20Go) formaté (pour dépanner Louis) avec Windows 10 (bravo ! :)), contenant mon système de démarrage (exclusivement Linux). Les seuls trucs qui m'intéressent ce sont quelques fichiers texte de paramétrage (ceux du RAID 1 notamment). Il se trouve actuellement sur /dev/sdb (/dev/sda étant occupé par ma clé de dépannage - que j'ai initialisé avec amour pour disposer d'un environnement agréable en cas de plantage).

Récupération :

Pour accueillir les données à récupérer il est nécessaire de disposer de suffisamment de place sur un autre disque (on ne doit pas utiliser le même disque que celui à analyser pour ne pas écraser les données à récupérer, ça semble évident).

La place nécessaire : j'ai lu (de mémoire) qu'il faut compter le double ou le triple (voir davantage) de l'espace occupé par le disque initial.

Personnellement j'ai utilisé un ancien autre disque pour accueillir les données à récupérer, que j'ai monté sur /mnt/DDsec/sda1/RecPhotorec.

Lancement :

$ su root
# cd /mnt/DDsec/sda1/RecPhotorec/
# /usr/bin/photorec /dev/sdb

Ensuite il suffit de se laisser guider, c'est très simple.

En ce qui me concerne, pour 20Go (estimé) de données à récupérer, j'ai obtenu (après environ 1/4 d'heure) 41Go de données, en 57292 fichiers (nommés “fxxxxxxx.txt”, ou .elf, .xml, .java, …) répartis dans 115 répertoires (nommés “recup_dir.xxx”). Là-dedans il y a des tonnes de fichiers de paramétrage et de fichiers de logs. De plus de nombreux fichiers textes sont dédoublés, ou tronqués au début, à la fin ou les deux.

Sachant que je cherche 1 à 2 fichiers .txt, voilà de quoi occuper mes longues soirées d'hiver :))

Cela dit, je suis surpris de certains fichiers récupérés (notamment une facture en PDF que je pensais être sur /mnt/… ou sur /home - tous deux sur des disques externes, et non pas sur / !)

Heureusement, il y a l'utilitaire “ag” (# apt install silversearcher-ag) qui permet d'une ligne de trouver les fichiers répondant à mes critères : $ ag 'UUID' /mnt/DDsec/sda1/RecPhotorec/recup_dir.114

exemple :

$ ag "UUID" /mnt/DDsec/sda1/RecPhotorec/recup_dir.114
/mnt/DDsec/sda1/RecPhotorec/recup_dir.114/f153306215.txt
2:# device; this may be used with UUID= as a more robust way to name devices
7:UUID=16baa59f-12cd-47a1-afb0-aff63e5a1d0d /               ext4    errors=remount-ro 0       1
9:UUID=4cab2c6c-9836-4662-b458-f21a09b6f461 /home           ext4    defaults        

/mnt/DDsec/sda1/RecPhotorec/recup_dir.114/f153043135.txt
2:# device; this may be used with UUID= as a more robust way to name devices
7:UUID=16baa59f-12cd-47a1-afb0-aff63e5a1d0d /               ext4    errors=remount-ro 0       1
9:UUID=4cab2c6c-9836-4662-b458-f21a09b6f461 /home           ext4    defaults        

/mnt/DDsec/sda1/RecPhotorec/recup_dir.114/f153307079.txt
2:# device; this may be used with UUID= as a more robust way to name devices
7:UUID=16baa59f-12cd-47a1-afb0-aff63e5a1d0d /               ext4    errors=remount-ro 0       1
9:UUID=4cab2c6c-9836-4662-b458-f21a09b6f461 /home           ext4    defaults        

/mnt/DDsec/sda1/RecPhotorec/recup_dir.114/f153096639.txt
163:Jul  6 19:05:38 localhost /usr/lib/gdm3/gdm-x-session[27389]: Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.2.0-4-686-pae root=UUID=6b84721a-d77c-476e-abf2-d3c1683f96e3 ro vga=788 quiet

/mnt/DDsec/sda1/RecPhotorec/recup_dir.114/f153178112.txt
585301:Jul  6 19:46:16 localhost kernel: [    0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.6.0-1-rt-686-pae root=UUID=6b84721a-d77c-476e-abf2-d3c1683f96e3 ro vga=788 quiet
585767:Jul  6 19:46:16 localhost systemd[1]: Listening on UUID daemon activation socket.
goupil2@DebianUSB:/mnt/DDprc/Download$ 

ou encore plus simple et complet (à la racine des répertoires, ainsi il m'affiche toutes les occurrences de mon texte dans tous les répertoires à examiner) :

$ ag "UUID" /mnt/DDsec/sda1/RecPhotorec/

(le problème c'est le nombre d'occurrence très important)

Finalement j'ai trouvé ce que je cherchais avec la commande (lançée dans le répertoire racine des répertoires et fichiers récupérés):

$ ag "mdadm"
(...)
recup_dir.62/f96733208.txt
1:# mdadm.conf
3:# Please refer to mdadm.conf(5) for information about this file.
(...)

Ce fichier f96733208.txt contient (partiellement) le fichier de configuration mdadm.conf, avec les lignes que je cherchais :

(...)
# definitions of existing MD arrays
ARRAY /dev/md/0  metadata=1.2 UUID=fa32620f:6167fa5d:3b255997:ccc62228 name=goup2net:0
ARRAY /dev/md/1  metadata=1.2 UUID=880cdac5:dbc27222:d7eb5dc4:fc019ee1 name=goup2net:1
ARRAY /dev/md/2  metadata=1.2 UUID=6fe8d964:83f645a5:23b3f8da:43e65f36 name=goup2net:2
ARRAY /dev/md/3  metadata=1.2 UUID=3131463f:df0d8a0b:76c3e45c:8931867b name=goup2net:3
ARRAY /dev/md/4  metadata=1.2 UUID=5480c6a8:7923d831:3d42b52f:5fad339c name=goup2net:4

Sur ma nouvelle installation, je copie ces lignes dans /etc/mdadm.conf, puis je lance la commande (indiquée dans le nouveau fichier /etc/mdadm.conf, afin que initramfs soit lui aussi mis à jour) :

# update-initramfs -u

Ensuite j'éteins mon PC, y insère mes 2 disques RAID, puis redémarre et … ça marche !!!!! Yeeeeessssss !!!!

Merci qui ? Merci Photorec et ses développeurs, et les développeurs / mainteneurs Debian !!!

Dépannage à partir de la clé d'installation Debian

Encore une documentation conçue en situation : avec Debian Sid, vous avez toutes sortes de mises en situation. Si vous avez les nerfs solides, vous allez en apprendre des choses ! :))

J'ai à peine ré-installé mon système précédent (après un changement de carte mère et carte graphique) qu'une nouvelle version de Grub vient casser son démarrage :))

J'ai vu passer les paquets grub, mais je ne me suis pas méfié…

Pour éviter de rendre cette documentation indigeste, j'ai séparé son contenu :

  • la partie WIKI ci-dessous,
  • le journal du dépannage en question : Panne de Grub2

Du coup c'est l'occasion d'aborder le dépannage à partir d'un netinstall Debian (indispensable) que vous aurez installé sur une clé USB (à partir d'un autre PC ou lorsque votre système fonctionne).

Quelques documentations :

Le netinstall Debian 64-bit : Installing Debian via the Internet
(la version 64-bit s'appelle amd64)

Dans la procédure qui suit, je suppose que vous avez copié cette netinstall Debian sur votre clé USB.

Procédure :

  • Insérez votre clé USB dans le port USB de votre choix
  • Rebootez votre PC, puis après le bip ou le logo de votre carte mère, maintenez appuyé la touche “Suppr”, ce qui vous fait entrer dans son BIOS (pour les anciennes cartes mères) /UEFI (pour les cartes mères récentes).
  • Trouvez le menu permettant de choisir le périphérique de démarrage et sélectionnez votre clé USB à la place de votre disque dur, enregistrez et quittez, le boot va reprendre et cette fois-ci va lire votre clé USB. Une fois votre opération de dépannage effectuée, il vous suffira de faire l'inverse.

Via le menu "Graphical rescue mode"

Je découvre avec cette documentation que je ne l'avais jamais utilisé auparavant, je passais par le menu classique d'installation que j'interrompais en cliquant sur le bouton “Revenir en arrière'.

Celui-ci à l'avantage d'être mieux conçu pour du dépannage et plus convivial (lorsque l'on est en console, on est toujours dans la fenêtre graphique de l'installateur, bénéficiant notamment du bouton de retour en arrière et des ascenseurs pour revenir sur de longs messages qui ont défilés trop vite en console par exemple).

  • Sur le menu de démarrage du netinstall Debian choisissez “Advanced options…” puis ”… Graphical rescue mode”
  • Le netinstall Debian va vous poser quelques questions (pays, informations pour atteindre le réseau - voir le paragraphe “Réseau” ci-avant, nom de la machine, domaine et il va tenter de récupérer l'heure). Les questions sur le nom de la machine, son domaine et l'heure n'ont pas d'importance si vous n'êtes pas connecté en DHCP (si vous êtes en IP statique, je ne me prononce pas si vous êtes en DHCP, je n'ai pas les compétences pour cela).
  • Vous devez ensuite choisir le périphérique qui vous servait de système de fichiers racine (/dev/sdb1 dans mon cas, pensez au décalage de périphériques du fait de la présence de la clé de dépannage)
  • Notez que la commande mdadm (montage de disques RAID) est disponible sous ce netinstall Debian dans les shell proposés ci-après.

Vous avez accès à un menu fort bien conçu qui vous propose :

  • Exécuter un shell dans /dev/sdb1
  • Exécuter un shell dans le contexte de l'installateur
  • Réinstallation du programme de démarrage GRUB
  • Changer de système de fichiers racine
  • Redémarrer le système

Exécuter un shell dans /dev/sdb1

C'est un chroot direct sur votre disque. Il vous permet - si vous y avez accès (votre partition racine doit être complète, donc si vous avez des partitions externes contenant par exemple /usr ou /var, vous devez les monter manuellement) d'installer des paquets comme si vous veniez de démarrer normalement sur ce système, et d'effectuer toutes sortes d'opérations.

Lorsque vous avez terminé, il vous suffit de cliquer sur le bouton “Revenir en arrière”

Réinstallation du programme de démarrage GRUB

Utile pour réinstaller Grub sur le MBR (mais ça ne fonctionne pas toujours malheureusement.

Exécuter un shell dans le contexte de l'installateur

Dans ce cas précis vous n'êtes pas en chroot, votre disque à dépanner est monté sur l'un des répertoires (dénommé “/target”) de votre netinstall Debian et vous y avez accès à la fois en lecture et en écriture (et il est prêt à être chrooté si besoin).

Là il vous précise que /dev/sdx (votre disque racine) est monté sur /target et que vous pouvez utiliser les outils disponibles dans l'environnement de l'installateur. Si l'on a besoin d'utiliser /target comme racine, on peut utiliser la commande “chroot /target”. Si l'on a besoin d'autres systèmes de fichiers, comme un système de fichiers /usr distinct, on doit le monter soi-même.

Vous cliquez sur “Continuer” et vous voilà dans votre shell “externe” (vous n'êtes pas en chroot sur votre système en panne) sur le système de fichiers de la clé USB et votre disque en panne est monté sur /target

Si vous avez des répertoires en RAID1, il faudra les monter manuellement via la commande mdadm (disponible sur ce netinstall).
Vous pouvez lancer la commande (pour voir les périphériques disponibles) : # fdisk -l
Vous y verrez vos disques RAID non assemblés (sous la forme de /dev/sdx et /dev/sdy, au lieu de /dev/md).

D'excellentes docs sur le RAID : UBUNTU-fr (RAID logiciel avec mdadm), et pour le RAID 1 : UBUNTU-fr (Comment installer Ubuntu sur un RAID-1 logiciel ?), ou WIKI Debian-fr (Raid logiciel (mdadm))

Cette dernière indique :

Cas 2 : panne du disque système, la grappe RAID est OK
(...)
"Choix 2 - Si vous aviez sauvegardé le fichier /etc/mdadm/mdadm.conf, vous pouvez le restaurer et taper la commande suivante :
# mdadm --assemble --scan
Choix 3 - (...)
# mdadm --assemble /dev/md0 /dev/sdb1 /dev/sdc1
Choix 4 - (...)
# fdisk -l
(pour repérer les disques, puis : )
# mdadm --examine /dev/sdb1
(à adapter, pour examiner les disques, puis : )
# mdadm --assemble /dev/md0 /dev/sdb1 /dev/sdc1
(à adapter, pour examiner les disques, puis : )
Une fois que tout est en ordre et bien synchro, tapez ceci :
# mdadm --detail --scan --verbose > /etc/mdadm/mdadm.conf

Via le menu d'installation classique

C'est la méthode que j'utilisais habituellement, mais je me rend compte qu'elle est obsolète (même si elle est tout à fait utilisable). Elle a le mérite de me permettre d'expliquer le chroot ;)

  • Sur le menu de démarrage du netinstall Debian choisissez (je ne me souviens plus : à compléter)
  • Vient les questions habituelles sur le pays, … (voir ci-avant, c'est identique)
  • puis lorsqu'il va aborder le partitionnement des disques, vous pourrez choisir l'option “Revenir en arrière” qui vous fera revenir au menu principal de la clé.
  • Choisissez “Exécuter un shell” et vous voilà en ligne de commande, sous la partition racine virtuelle montée par votre clé USB (ce n'est pas réellement sa partition physique mais une partition montée en mémoire).
  • Il vous faudra connaître le périphérique de votre disque de démarrage (moi c'est /dev/sdb pour mon SSD) et le type de système de fichier installé (le plus courant actuellement étant ext4) et dans ce cas vous pouvez créer un répertoire (je l'ai appelé “tt” ci-après) sur cette partition virtuelle pour y monter votre disque :
# mkdir tt
# mount -t ext4 /dev/sdb1 tt
# cd tt
# ls

Vous êtes sur la partition racine de votre disque dur.

Le chroot permet de monter votre système client (ici votre disque dur à dépanner) sur votre système hôte (la partition racine virtuelle créée par votre clé USB) comme si vous aviez démarré dessus, afin d'y effectuer les opérations souhaitées.

Dans mon cas, l'idée est de voir si je peux soit réinstaller grub2 sur son MBR ou, si çà ne fonctionne pas comme prévu, d'essayer de réinstaller la précédente version de grub2 qui fonctionnait bien.

La méthode classique pour réaliser un chroot (selon Debian & UEFI):

# mount /dev/sdXX /mnt
# mount --bind /dev  /mnt/dev
# mount --bind /proc /mnt/proc
# mount --bind /sys  /mnt/sys
# mount --bind /usr  /mnt/usr
# chroot /mnt

Je reprend la doc du site DebianFacile pour l'adapter à mon exemple :

Je reviens à la partition racine virtuelle de ma clé USB et y monte les périphériques que ma clé USB netinstall a trouvée (ces périphériques se trouvent sous la forme de fichiers sur le répertoire /dev virtuel de la clé USB, la commande –bind permet de les rediriger) :

# cd /
# mount --bind /dev /tt/dev (attention : il y a 2 tirets avant "bind")

On monte aussi le répertoire /proc (un répertoire virtuel système, son système de fichier est de type “proc”, voir la doc Ubuntu-fr ci-avant pour l'utilité de ce répertoire)

# mount -t proc /proc /tt/proc

Puis l'on fait notre chroot, et l'on monte les autres disques :

# chroot tt
ou 
# chroot tt /bin/bash
(si vous souhaitez utiliser la console bash (il me semble que par défaut c'est la console sh)
# mount -a

Une fois cette commande lancée, le système se comporte comme si vous étiez sur votre client et aviez démarré dessus.

Dans le cas de montages RAID, la commande de montage risque de ne pas fonctionner. Il vous faudra sans doute charger les modules part_gpt.mod, diskfilter.mod, mdraid1x.mod et ext2.mod qui ne sont pas chargés en mémoire je pense (je n'ai pas testé mais peut-être qu'un # modprobe suivi de ces modules devrait permettre d'y arriver). Si ça ne suffit pas, voir la partie montage RAID sur le journal “Panne de Grub2 le 10/07/2019” au paragraphe Via le menu "Graphical rescue mode".

Tentative de démarrage via le mode de dépannage de Grub

Une autre méthode de dépannage envisageable (mais aride) : tenter un démarrage depuis le disque d'origine en passant par le paramétrage de GRUB2. Une bonne documentation : CoursInfoRevest (WIKI Grub-Rescue)

Ça n'est pas très ragoûtant parce que GRUB2 est tout sauf ergonomique. Les commandes sont obscures, le clavier en QWERTY, et il n'y a pas de rappel de commandes : à chaque fois que l'on valide une commande si l'on a fait une erreur de syntaxe (avec un clavier en QWERTY, rien d'anormal) il faut tout retaper, bref, une purge ce truc.

J'ai écris le journal de mes tentatives ici : Tentative de démarrage via le mode de dépannage de Grub


trucs_persos.txt · Dernière modification: 03/01/2020 14:45 par goupildb