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 puis Testing.

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 et le dépannage de mes PC sous Linux.

Et pour preuve, si vous recherchez des documentations de qualité, je vous suggère notamment celles-ci :

Je pense que mon WIKI n'est pas non plus dénué d'intérêt, par son approche pragmatique de l'utilisation quotidienne de Debian côté utilisateur final. C'est ma meilleure arme pour m'installer un système aux petits oignons et ensuite pour lutter contre ses affreux petits bugs :)

Profitez-en : c'est libre !

Guide d'installation et commandes utiles

Installateur Debian

L'installation d'une distribution Debian commence généralement par la création d'une clé USB d'installation Debian, dénommée “netinstall Debian”. D'autres méthodes sont possibles, notamment en passant par un DVD d'installation du commerce distribué via des revues d'informatique, et les geek ont aussi certainement d'autres moyens d'installer une Debian.

Néanmoins, personnellement je vous recommande cette clé USB à faire vous-même : c'est simple, vous apprendrez quelque-chose, vous pourrez plus tard l'effacer pour mettre un netinstall Debian plus récent et ça vous donnera un outil supplémentaire pour du dépannage éventuel de votre PC.

Cet installateur Debian vous permettra 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, …). C'est donc un outil très utile pour le dépannage.

Il vous faudra une clé USB avec 500Mo de disponible et disposer d'une connexion internet au cours de l'installation (le PC à passer sur Linux devra être relié si possible directement à votre box internet ou via une connexion Wi-Fi, bien que je n'ai pas testé ce dernier cas), car le netinstall va devoir télécharger des composants complémentaires (il détectera votre matériel réseau).

Le netinstall Debian 64-bit se télécharge ici : Installer Debian par Internet.

Je suggère pour les débutants le téléchargement “Petits CD ou clefs USB” (le livrable pèse 350Mo). Je n'ai pas testé “Très petits CD, clefs USB personnalisées, etc.” qui abouti à un livrable “mini.iso” de 50Mo plus minimaliste (voir un netboot de 37Mo), qui me semble plus indiqué pour les geeks Linux (qui se débrouillent bien avec la ligne de commande). J'ai très envie de tester ce dernier, mais c'est trop tard (au moment où j'écris ces lignes j'installe une Debian avec un ancien installateur :).

Plusieurs architectures sont disponibles (amd64, i386, arm64, …).

  • amd64 : pour un PC Debian 64-bit, que vous ayez un processeur AMD ou INTEL (le nom est trompeur)
  • i386 : pour un PC Debian 32-bit, que vous ayez un processeur AMD ou INTEL
  • arm64 : pour les processeurs ARM équipant les smartphones, tablettes et autres systèmes embarqués

N'installez plus de Debian 32-bit, elle est dépassée, le support va s'arrêter d'ici quelques années au plus tard (et de plus l'interface de Steam ne supporte plus Linux 32-bit, vous pourrez charger l'interface de Steam mais ne pourrez pas naviguer depuis cette interface, ce qui le rend quasiment inutilisable). Donc pour votre PC de bureau ou votre PC portable, choisissez “amd64” pour installer votre Debian 64-bit.

Une fois votre netinstall téléchargé (c'est un fichier “.iso”), il vous faut en extraire le contenu et le copier sur votre clé USB (inutile de la formater). Je vous laisse vous débrouiller pour trouver comment faire :). Une fois le contenu (pas le fichier iso lui-même, mais son contenu) entièrement copié, votre clé est prête.

Rendez-vous dans le BIOS (ou l'UEFI) de votre PC : vous redémarrez votre PC et maintenez la touche “Suppr” (ou “Del”) jusqu'à ce que vous voyez apparaître un menu (c'est le BIOS pour les PC anciens, ou l'UEFI pour les PC récents). Là vous naviguez dans les menus jusqu'à trouver l'option permettant de sélectionner l'ordre de démarrage des périphériques (sur les BIOS en général il se trouve dans les menus de droite, juste avant l'option d'enregistrement de vos modifications, dans l'UEFI il faut chercher dans les options de démarrage). Dans ce menu sélectionnez comme 1er périphérique de démarrage la clé USB, puis en 2nd le disque dur. Puis vous sélectionnez l'option permettant d'enregistrer vos modifications avant de quitter, et quittez.

Vous insérez votre clé USB et attendez que votre système démarre dessus. Ensuite vous suivez les instructions, je ne décris pas tout ici, seulement le démarrage et quelques conseils (le reste est intuitif) :

  • Dans le menu de la clé USB, choisissez Graphical Install
  • pour la langue : Français
  • Situation géographique : France
  • Disposition du clavier : Français
  • Ensuite, il va installer quelques composants, puis rechercher une connexion réseau avec votre box internet en DHCP :
    1. Si votre PC est relié directement à votre Box internet, il va trouver la connexion et vous n'aurez rien à faire.
    2. Si votre PC est relié à un autre (que l'on nomme “passerelle”) pour sa connexion et que vous l'avez configuré en IP statique (par opposition au DHCP, ce qui est mon cas), il vous indique que la configuration DHCP a échouée (normal puisqu'il n'y en a pas), donc vous :
      1. cliquez sur “Continuer” puis sélectionnez “Configurer vous-même le réseau”,
      2. cliquez sur “Continuer” puis entrez l'adresse IP que vous avez choisi pour ce PC (dénommé “machine”) : moi je rentre 192.168.0.2 (j'avais choisi la 192.168.0.1 pour l'interface correspondante sur le PC relié à Internet. Je précise “l'interface correspondante” car sur ce PC Internet il y en a 3 au total)
      3. cliquez sur “Continuer” puis on vous propose le masque de sous-réseau “255.255.255.0”. Pour un petit réseau domestique, c'est OK, vous pouvez valider (seuls les Geek / les entreprises avec un énorme réseau changerons éventuellement ce masque)
      4. cliquez sur “Continuer” puis entrez l'adresse IP de la passerelle (=l'autre PC relié à internet), il me propose par défaut “192.168.0.1”, c'est ok, je valide.
      5. cliquez sur “Continuer”, et là il vous demande les adresses des serveurs de noms, en vous proposant par défaut l'adresse de votre passerelle (il me propose “192.168.0.1”). Mais ce qu'il propose ne correspond pas à mon souhait (je n'ai pas installé de serveur de nom sur ma passerelle), je souhaite qu'il utilise des serveurs de noms externes (il est probable que vous lui indiquiez les adresses des serveurs de nom de votre FAI, mais vous pouvez aussi lui donner d'autres serveurs de noms gratuits que l'on trouve sur le net : voir plus bas). Personnellement je lui donne les adresses de serveurs de noms de mon FAI : 217.27.40.240 217.27.40.241 (jusqu'à 3 adresses maxi, espacées par un espace). A noter que ces adresses seront modifiables plus tard une fois votre distribution installée (dans le fichier /etc/network/interfaces).
  • Ensuite il va vous demander le nom de ce système : donnez-lui un nom court (et pas trop débile :), car ce nom apparaîtra un peu partout une fois installé (on doit aussi pouvoir le changer postérieurement). Moi j'ai choisi “goup2net” (pourquoi pas :).
  • Ensuite il vous demande le nom de domaine. Si vous êtes un Geek, et que donc vous savez ce que vous faites, vous allez entrer quelque-chose. Personnellement je ne met rien. Je valide.
  • Ensuite il vous demande le mot de passe du super-utilisateur (aussi nommé “root”, il aura tous les droits sur ce PC, y compris celui de modifier / d'effacer des fichiers systèmes) : ne l'oubliez pas celui-là :). Choisissez puis validez.
  • Ensuite il vous demande de lui donner le nom du 1er utilisateur normal (il aura des droits restreints, il ne pourra pas modifier des fichiers système). Moi je rentre goupil2 et je valide.
  • Ensuite il vous propose de choisir un identifiant (aussi nommé “login”). Par défaut il propose le même (goupil2 pour moi). Je valide.
  • Puis viens le mot de passe de cet utilisateur. Je le saisi et valide.
  • Vient ensuite la phase de partitionnement des disques. Il propose plusieurs choix : “Assisté - utiliser un disque entier”, “Assisté - utiliser tout un disque avec LVM”, “Assisté - utiliser tout un disque avec LVM chiffré”, ou “Manuel”. Personnellement je préfère le faire manuellement, donc je choisi “Manuel” et valide.
  • Ayant choisi “Manuel”, il me propose “Partitionnement assisté”, “Configurer les volumes iSCSI”, puis il me liste les disques trouvés, et ensuite les options “Annuler les modifications des partitions” et “Terminer le partitionnement et appliquer les changements”. ATTENTION à ne pas sélectionner votre clé USB ou un disque important autre que celui à formater ! Je choisi mon disque (en l'occurrence un nouveau SSD, qu'il me trouve, répondant au doux nom de “/dev/nvme0n1 - 960.2 GB Unknown”) et valide.
  • J'arrive alors au menu “Partitionner les disques”.
    • Il m’avertis que j'ai choisi de partitionner un disque entier, et me demande “Faut-il créer une nouvelle table des partitions sur ce disque ?”. Je choisi “oui”.
    • Il m'affiche ensuite un menu avec comme choix “Partitionnement assisté”, “Configurer le RAID avec gestion logicielle”, “Configurer le gestionnaire de volumes logiques (LVM)”, “Configurer les volumes chiffrés”, “Configurer les volumes iSCSI”, et mon disque “/dev/nvme0n1 - 960.2 GB Unknown” avec une première partition “pri/log 960.2GB Espace libre”, et ensuite les options “Annuler les modifications des partitions” et “Terminer le partitionnement et appliquer les changements”. Je choisi la partition “pri/log 960.2GB Espace libre” et valide.
    • J'arrive à un autre menu “Action sur cet espace disponible :” où j'ai comme choix “Créer une nouvelle partition”, “Partitionner automatiquement l'espace disponible” ou “Afficher les informations sur les cylindres, têtes et secteurs”. Je choisi “Créer une nouvelle partition”.
    • Là il me propose par défaut 960.2 GB (la taille maxi de mon disque SSD). Si vous validez, cela revient à utiliser tout le disque et vous n'aurez donc qu'une seule partition. Pour un utilisateur débutant, c'est un choix valide. Néanmoins si votre disque est de grande taille, il y a quelques inconvénients (notamment : les vérifications de disque ultérieures seront très longues et si vous saturez votre disque par des données perso, le système ne pourra plus démarrer sans une intervention externe via une clé de dépannage). Personnellement je préfère le couper en partitions. Je commence par créer la partition racine (/), j'utilise ma cartographie citée ci-après, donc je retiens 150GB (on saisi également le “GB”), je valide.
    • J'arrive au menu “Type de la nouvelle partition”, où il me propose “Primaire” ou “Logique”. Sur ce type de partitionnement (sans LLVM) on ne peux avoir que 4 partitions primaires et autant de partition secondaires que l'on veut (ce n'est pas gênant qu'elles soient secondaires). Il se trouve que de toute façon je n'en créé que 4, donc je vais toutes pouvoir les mettre en primaire. Je sélectionne donc “Primaire”. Je valide.
    • Au menu suivant il demande “Veuillez indiquer si vous souhaitez placer la nouvelle partition au début ou à la fin de l'espace disponible”. Ne voyant pas dans quel cas cela pourrait être utile de la placer à la fin, je choisi “Début” et je valide.
    • Au menu suivant, il m'indique “Vous modifiez la partition n°1 sur /dev/nvme0n1. Aucun système de fichiers n'a été détecté sur cette partition. Caractéristiques de la partition :
      • Utiliser comme : système de fichiers journalisé ext4 (j'ai choisi de rester en ext4, mais si vous créez une partition de swap (voir plus bas), vous préciserez ici un formatage en swap pour votre partition de swap, vous pouvez aussi choisir d'autres systèmes de formatage tel que BTRF ou XFS, ou choisir du RAID ou LVM)
      • Point de montage : / (par défaut, ce que je retiens pour cette partition, mais pour les prochaines partitions en appuyant sur ENTER vous avez là aussi la possibilité de sélectionner l'un des points de montages classiques ou de créer le votre - comme par exemple /mnt/DDprc/, voir plus bas).
      • Options de montage : defaults (par défaut, je ne change rien ; les Geek pourrons retenir d'autres options)
      • Étiquette : aucune ⇒ je change et j'indique “Racine”, car j'aime bien voir les étiquettes, c'est souvent plus parlant quand des utilitaires affichent les étiquettes. Mais vous pouvez indiquer “Toto”, ça n'a pas d'importance.
      • Blocs réservés : 5% (par défaut, je ne change rien)
      • Utilisation habituelle : standard (par défaut, je ne change rien, à réserver aux Geek)
      • Indicateur d'amorçage : absent ⇒ je le sélectionne et valide ce qui a pour effet de le basculer en “présent”. IMPORTANT si vous voulez que ce disque soit amorçable/bootable sur cette partition racine. On ne le fait que pour la partition racine (/).
      • Supprimer la partition
      • Fin du paramétrage de cette partition (je valide sur ce menu une fois mes modifications ci-dessus réalisées).
    • Je me retrouve au menu précédent avec comme choix “Partitionnement assisté”, “Configurer le RAID avec gestion logicielle”, “Configurer le gestionnaire de volumes logiques (LVM)”, “Configurer les volumes chiffrés”, “Configurer les volumes iSCSI”, et mon disque ”/dev/nvme0n1 - 960.2 GB Unknown“ avec une première partition “pri/log 150.0GB B f ext4 /”, et une seconde partition “pri/log 810.2GB Espace libre”, puis les options “Annuler les modifications des partitions” et “Terminer le partitionnement et appliquer les changements”. Je choisi la partition “pri/log 810.2GB Espace libre” et valide, afin de passer au partitionnement de mon /home. Je ne vous redétaille pas tout, c'est le même principe, j'ai choisi le système ext4, une étiquette “Home”, pas d'indicateur d'amorçage.
    • Je fais de même pour /mnt/DDprc et /usr.
    • Puis je sélectionne “Terminer le partitionnement et appliquer les changements” et valide.
    • Là il m’avertis “Aucune partition n'a été choisie comme espace d'échange. L'activation d'un espace d'échange (“swap”) est recommandée pour que le système utilise au mieux la mémoire physique disponible et se comporte mieux quand elle est limitée. Vous pourriez rencontrer des difficultés lors de l'installation si vous ne disposez pas asse de mémoire physique. Si vous ne revenez pas au menu de partitionnement pour choisir une partition pour l'espace d'échange l'installation continuera sans celui-ci. Souhaitez-vous revenir au menu de partitionnement ? Non Oui (par défaut). Comme je l'ai précisé plus bas, mon cas est un peu particulier, ce PC dispose de beaucoup de mémoire (32GB) donc je n'en ai pas besoin, c'est normal (donc j'ai sélectionné : Si vous avez moins de 16GB de mémoire sur votre PC je vous recommande fortement de réserver 8-10GB de mémoire de SWAP dans les menus précédent (vous pouvez encore revenir en arrière sans soucis à ce stade, et modifier votre partitionnement).
    • Menu suivant, il précise “Si vous continuez, les modifications affichées seront écrites sur les disques. Dans le cas contraire, vous pourrez faire d'autres modifications. Les tables de partitions des périphériques suivants seront modifiées : /dev/nvme0n1. Les partitions suivantes seront formatées : partition n°1 /dev/nvme0n1 de type ext4, partition n°2 /dev/nvme0n1 de type ext4, partition n°3 /dev/nvme0n1 de type ext4, partition n°4 /dev/nvme0n1 de type ext4. Faut-il appliquer les changements sur les disques ? Je sélectionne “oui” et valide.
  • Le système de base s'installe et vient ensuite une autre série de questions (voir le paragraphe plus bas, après “Nota”).

Serveurs de noms utilisables :

  • Pour Free : 217.27.40.240, 217.27.40.241
  • Autres serveurs de noms gratuits alternatifs : Lifewire (Free and Public DNS Servers)
  • J'ai déjà testé avec succès ceux :
    • d'OpenDNS : 208.67.222.222, 208.67.220.220
    • de Google : 8.8.8.8

Il faut juste avoir en tête que le serveur en question connaîtra toutes vos connexions en temps réel, donc prenez-en un de confiance.

Cartographie de formatage de mon SSD de 960.2GB (choix retenus pour un PC avec pas mal de jeux installés) :

  • / 150GB
  • /home 500GB
  • /mnt/DDprc 110.2GB (pour des données de stockage perso)
  • /usr 200GB

Nota :

  • si vous ne créez pas de partitions spécifiques (exemple : si vous ne créez pas de partition /usr ou /home, …), les autres répertoires systèmes (/home, /usr/, /var, …) seront automatiquement rattachés à /
  • Je n'ai pas créé de partition de swap (/swap) car ce PC est équipé de 32GB de mémoire. En dessous de 16GB de mémoire, il est fortement recommandé d'en créer (sur mon autre PC, quand il n'avait encore que 6GB de mémoire, j'avais régulièrement des plantages lorsque je lançais des jeux qui saturaient la mémoire).
  • Formatage des disques en RAID (utilise ensuite mdadm) : je ne suis plus fan du tout. 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). N'utilisez donc pas le RAID sauf si vous êtes un geek et n'avez pas peur de perdre vos données (j'ai longtemps pratiqué et je n'ai plus envie).
  • Vient ensuite le menu “Configurer l'outil de gestion des paquets”. Pour le choix du dépôt Debian à utiliser, retenez les dépôts Debian des États-Unis (tout en bas de la liste, ce sont les plus fiables). Si vous avez raté l'option il vaut mieux revenir en arrière ou recommencer l'installation.
  • Puis le menu “Si vous avez besoin d'utiliser un mandataire HTTP (souvent appelé “proxy”) pour accéder au monde extérieur, indiquez ses paramètres ici. Sinon laissez ce champ vide. Je laisse ce champ vide (même si j'ai a une passerelle). À réserver là aussi aux Geeks.
  • Dans le choix du bureau à installer, n'installez que la version minimaliste Debian (c'est le choix par défaut) ou mieux, n'installez que les paquets fournis par la clé elle-même). Ne prenez pas KDE, ni les autres choix. L'idée est de n'installer que le stricte minimum, car si vous souhaitez basculer vers une distribution plus récente (la Debian Testing), vous devrez ensuite mettre à jour tous ces paquets (vous pourrez le faire depuis votre système Linux Debian toute fraîche), ce qui sera beaucoup plus long et difficile si vous avez installé énormément de paquets.
    • La version minimaliste Debian abouti tout de même à un bureau Gnome tout à fait opérationnel, idéale pour débuter sous Linux. Gros avantage : elle installe un noyau moins récent avec tout le nécessaire pour faire fonctionner l'accélération graphique (version de gcc adaptée et fichier d'entête du noyau).
    • À NE PLUS FAIRE : La version minimaliste se contentant des paquets de la clé aboutit à un système Debian opérationnel mais sans bureau graphique, ce qui serait suffisant pour un utilisateur qui a déjà manipulé la console, et à priori serait idéale pour passer tout de suite à la version Testing, voir ci-après (“pour les Geeks”).

Sauf que dans la pratique (vécu) c'est une grosse galère pour obtenir une accélération graphique opérationnelle avec une carte graphique récente. Pourquoi ? Parce que les mainteneurs Debian ne gèrent pas l'aspect dépendances de l'accélération graphique dans Debian Testing (qui ne fonctionne pas avec le dernier noyau disponible, d'où l'intérêt de conserver tout ce qui faut pour installer l'accélération avec le précédent noyau).

Pour exemple, en partant de cette version minimaliste je suis parvenu à installer l'accélération graphique des dépôts Debian (installé avec la commande # m-a a-n (…)) avec ma carte graphique Nvidia RTX 2700. J'avais un bureau graphique et glxgears affichait sa roue dentée avec 1200FPS (ces 1200FPS auraient du me mettre la puce à l'oreille). Mais je me suis aperçu (ou plutôt Louis, bravo à lui pour sa suggestion que l'accélération ne devait pas fonctionner !) que cette accélération graphique ne fonctionnait que partiellement avec cet installateur des dépôts. En effet en lançant le jeu Zero-K, le processeur tournait à fond alors que le jeu tournait au ralenti. J'ai donc tenté d'installer le pilote propriétaire nvidia et c'est là que la galère à commencée et que je voulais en venir.

NB : Pour éviter la galère qui suit, les mainteneurs Debian devraient veiller à systématiquement conserver dans la version Testing un ancien noyau avec son fichier headers (linux-headers-version) et la version de gcc avec laquelle il a été construit.

En effet, il n'y a aucun suivi entre les noyaux, fichiers d'entête de noyaux, et les versions de gcc. Les versions doivent correspondre pour pouvoir compiler un pilote de carte graphique.

C'est quand même pas compliqué (ils sont vraiment nuls sur le sujet les mainteneurs Debian) : la compilation d'un driver pour un noyau donné nécessite :

  • une version de gcc/g++ sur 2 digits (exemple : gcc-6.3 ; elle est indiquée par la commande # cat /proc/version), donc il faut qu'elle reste disponible en dépôt Debian tant que ce noyau est disponible
  • et le fichier d'entête de la même version que le noyau (exemple : linux-headers-4.19.0-8-amd64 si le noyau est un noyau linux-image-4.19.0-8-amd64).

Mais ils ne sont pas foutus de veiller à cette correspondance dans les dépôts. La plupart du temps on a un noyau mais pas l'entête qui va avec, ou l'entête mais pas la version de compilateur gcc utilisée pour le compiler. Et c'est pas une nouveauté, cela fait des années (dizaines ?) que la situation persiste. C'est le bordel, ils sont nuls sur le sujet !

Je me demande s'ils ont conscience du temps perdu pour les utilisateurs expérimentés, et du découragement des utilisateurs non expérimentés (qui vont voir ailleurs), à cause de cela.

En effet, lorsque j'ai voulu compiler le driver nvidia propriétaire, il ne parvenait pas à compiler le fichier d'entête. J'ai donc dû renouveler l'opération sur un noyau moins récent (le 4.19.0-8-amd64). Mais celui-ci n'était plus dans Testing (bullseye). J'ai ajouté le dépôt (buster) et l'ai installé. Mais là le problème est qu'il avait été compilé avec gcc-8.3 alors que la version disponible était la 8.4. Pour revenir à la 8.3 j'ai du désinstaller quelques paquets (mais heureusement pas trop) pour installer la 8.3 puis recréer les liens dynamiques gcc et g++ (voir ce WIKI pour les créer). J'ai eut aussi un souci avec le lien dynamique “cc” qui n'existait pas (message “unable to find the development tool 'cc' in your path. Please make sure you have the package 'gcc' installed. If gcc installed on your system, please check 'cc' is in your path”). Il suffisait de créer le lien (# ln -s /usr/bin/gcc /usr/bin/cc). Bref, un nombre de soucis importants qui auraient pu être évités si j'avais installé la version minimaliste Debian avec le bureau gnome, citée ci-avant.

Après des heures passées à chercher une combinaison disponible et cohérente, je l'ai trouvée :
# cd /var/cache/apt/archives
# dpkg -i linux-headers-4.9.0-12-common_4.9.210-1_all.deb
# dpkg -i cpp-6_6.3.0-18+deb9u1_amd64.deb
# dpkg -i gcc-6_6.3.0-18+deb9u1_amd64.deb
# rm /usr/bin/gcc
# rm /usr/bin/g++
# ln -s /usr/bin/gcc-6 /usr/bin/gcc
# ln -s /usr/bin/gcc-6 /usr/bin/cc
# ln -s /usr/bin/g++-6 /usr/bin/g++
# cd /mnt/DDprc/Download
# sh nvidia.run

Le driver nvidia se compile bien. Mais Xorg ne démarre pas :)) Il y a des jours comme ça…

En fait, contrairement à mon habitude, il fallait autoriser l'installateur propriétaire à créer le fichier /etc/X11/xorg.conf (ça se fait dans la dernière ou avant dernière question de l'installateur, il suffit de répondre “Yes” à la question correspondante). L'analyse du fichier d'erreur de Xorg (/var/log/Xorg.0.log) m'ayant montré en effet qu'il chargeait les drivers (nouveau, nv et nvidia, bien que nouveau soit blacklisté et nv inexistant) mais que le chargement du driver nvidia (sans erreur) ne provoquait pas la reconnaissance des écrans, alors qu'en installant le fichier xorg.conf ça l'a aidé.

Mais ceci est à faire au cas par cas : sur l'un de mes PC (celui du Bottin), il n'y a pas de fichier xorg.conf (c'est en principe la règle maintenant, il n'en a pas besoin), alors que sur l'autre (celui relié à Internet), la création du fichier xorg.conf a été nécessaire.

À retenir : si l'installateur du driver ne signale pas d'erreur, que le module nvidia se charge sans erreur par un ”# modprobe nvidia” et que Xorg ne démarre pas avec votre gestionnaire de connexion, recomnencez l'installation du driver et autorisez la création du fichier de configuration xorg.conf.

Pour les Geeks :

  • 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).
  • Finalement pas une bonne idée (voir ci-avant) : opérations à réaliser le plus vite possible (dès le 1er redémarrage sans la clé USB) si vous souhaitez passer en Debian Testing :
    • changez le dépôt (Debian Testing vs Debian Stable) en commentant (ajoutez un ”#” devant les lignes) les anciennes lignes et en ajoutant son dépôt dans le fichier /etc/apt/sources.list (ajout de la ligne suivante) :
      deb http://ftp.us.debian.org/debian/ testing main contrib non-free
    • Puis vous lancez les commandes suivantes :
# apt update
# apt install aptitude
# apt install cinnamon (actuellement mon gestionnaire de fenêtre préféré)
# apt install mate-desktop-environment (un bon gestionnaire de fenêtre, mais en perte de vitesse)
# apt remove plymouth (car il plante à l'installation lors du passage en Debian Testing)
# apt install gnome sddm module-assistant build-essential
# apt install linux-headers-5.5.0-1-all-amd64 linux-image-5.5.0-1-all-amd64 mesa-utils
# 
  • Redémarrez votre PC (pour charger le noyau que vous venez d'installer). S'il n'y a pas de console graphique apparente (il n'y a pas encore d'accélération graphique), essayez une autre console (Ctrl Alt F1 à F8 jusqu'à ce que vous trouviez une console disponible).
  • Installez le pilote graphique de votre carte graphique (installez le pilote propriétaire si vous avec une carte graphique récente, car celui des dépôts ne fonctionne pas complètement. pour une nvidia : # m-a a-i -f nvidia-kernel-source)
  • Redémarrez votre PC (pour recharger le gestionnaire de démarrage en mode graphique). Vous devriez avoir votre bureau graphique !
  • D'une manière générale, 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 celui 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
  • Puis je m'attaque à la mise à jour des paquets sous Synaptic (je clique sur le bouton “Recharger” pour mettre les paquets à jour puis sur le bouton “Filtres personnalisés” et dans la section “Nouvelle version amont du logiciel” je sélectionne les paquets à mettre à jour par groupes. Quand le jeu des dépendances induit trop de désinstallations j'essaie d'autres paquets. Ça ne se passe jamais bien, il faut y aller par petites touches, jusqu'à ce que l'on ne puisse plus installer de paquets sans en désinstaller plein d'autres. Ensuite pour débloquer la mise à jour du reste des paquets, bien souvent il suffit de désinstaller quelques paquets puis de les réinstaller.
  • Vérifiez bien qu'il n'y a pas d'erreurs signalées à la mise à jour. Surtout ne redémarrez pas votre système si une erreur est détectée sur Grub, le noyau, ou le fichier de cache initrd sinon vous risquez d'obtenir une Debian qui ne démarre plus (vous seriez contraint de la réparer manuellement par une clé USB - ce qui est assez compliqué, ou de la réinstaller). Si le cas se produit, surtout notez sur un papier les paquets qui plantent et essayez de les réinstaller.
  • Si Synaptic plante sur des conflits, pas de soucis, vous ne perdez rien en quittant. Quittez-le et relancez-le. Tentez l'installation d'autres paquets. Par sécurité, après en avoir terminé avec vos mises à jour, lancez en console un “# apt-get -f install” pour lancer la réparation de paquets éventuellement cassés ou dont l'installation n'est pas achevée (il vous signalera s'il y en a).
  • Lorsque Synaptic n'y arrive plus, votre arme c'est la commande “# aptitude install nom_simplifié_du_paquet” (on ne précise ni la version ni le “.deb”) à utiliser en console pour installer les récalcitrants. Il vous proposera une 1ere solution qui passera par la désinstallation de certains paquets, si elle ne vous convient pas, vous dites non et il vous en proposera une autre. Si aucune ne convient il faut tenter de mettre à jour d'autres paquets.
  • Une fois mon système à jour et qu'il démarre, j'ai choisi (en plus des options par défaut) : les environnement Cinnamon (car je l'utilise au quotidien), MATE (j'aime beaucoup aussi, même s'il est en perte de vitesse) 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 Cinnamon opérationnel ainsi que Synaptic, que j'installe MATE, GNOME et KDE.

Commandes utiles

Je rassemble ici des informations utiles pour un dépannage (en général sans interface graphique :) (à peu près) serein.

Sur les disques

  • 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

Pour ceux qui utilise le RAID logiciel avec mdadm : Si possible vérifier les disques et montages RAID avant de les monter (les monter éventuellement en lecture seule) pour éviter les mauvais assemblages.

Une fois sous le gestionnaire de fenêtre :

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

Sur 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)

Activer le framebuffer

Merci aux intervenants sur le forum StackExchange pour le mode opératoire.

Pour le test, j'ai installé l'utilitaire : fbi (en dépôt)
Il permet d'afficher une image dans le framebuffer (et donc de pouvoir vérifier s'il est activé, sinon çà ne fonctionnera pas). J'ai copié l'image du jeu “0ad.jpg” dans le répertoire /mnt/DDprc/Download/

Dans /etc/default/grub :

  • J'avais déjà la ligne : GRUB_GFXMODE=1280×1024,800×600,auto
  • J'ai commenté la ligne (ajout d'un “#”) : # GRUB_GFXPAYLOAD_LINUX=keep
  • Sous cette ligne, j'ai ajouté la ligne : GRUB_GFXPAYLOAD_LINUX=1280×1024
  • Et la ligne suivante était déjà commentée (donc pas de changement pour moi) : #GRUB_TERMINAL=console

Dans /etc/grub.d/00_header :

  • sous la ligne “set gfxmode=${GRUB_GFXMODE}”, j'ai ajouté la ligne “set gfxpayload=keep” (sans les guillemets).

Puis :

  • je met à jour Grub en lancant en console (et en root) : # update-grub
  • je redémarre le PC
  • j'ouvre une console en root (Ctrl Alt F2), et je saisi le mot de passe root
  • je lance successivement :
    • cd /mnt/DDprc/Download
    • fbi 0ad.jpg

Et je vois l'image de 0ad en plein écran sur mes 2 écrans : yees !

J'avais fais tout ceci à l'origine pour tester la console terminology avec le framebuffer (qu'elle supporte), mais au lancement elle affiche de nombreux messages mais ne se lance ni en root ni en simple utilisateur :(

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

Accélérer un peu (gagner 4 secondes) le démarrage du système

Par défaut, Grub attend 5 secondes au cas où vous voudriez changer de noyau. Personnellement je trouve qu'1 seconde suffit amplement pour se décider.

  • Éditer /etc/default/grub
  • Remplacer GRUB_TIMEOUT=5 par GRUB_TIMEOUT=1

Sur le matériel

Pour 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

Sur les 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)

Sur 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

Sur le clavier

Le clavier Français ne pose en principe pas de soucis. Si vous souhaitez ajouter une autre langue : sous Cinnamon ou MATE ça se passe dans le Centre de Contrôle ➜ Matériel ➜ Clavier ➜ Onglet “Agencements”.

En ce moment j'ai un bug sur le clavier sous MATE : le clavier reste en Anglais et quand je tente d'ajouter le Français dans l'onglet “Agencements” en cliquant sur le bouton “+Ajouter” je vois une fenêtre qui s'ouvre et se referme aussitôt et ça plante la fenêtre en cours.

Si je lance en console :

$ mate-keyboard-properties
dpy: 0x55d6691aaa10
evt/error/major/minor: 85/137/1/0
Gdk-Message: 17:30:23.806: mate-keyboard-properties: Fatal IO error 11 (Ressource temporairement non disponible) on X server :0.

Alors qu'en console standard (Ctrl Alt F2) j'ai bien un clavier AZERTY mate-keyboard-properties appartient au paquet mate-control-center, il est en version 1.24.0-1 et ce même paquet dans la même version fonctionne bien sur mon autre PC :) Je pense que ce n'est pas cet utilitaire qui est en cause, mais il doit faire appel à un autre composant qui plante (je viens d'installer ce PC et des tas de paquets ont été mis à jour, installés et désinstallés, il est probable que l'un d'eux est mal installé ou pas installé). Mais lequel ?

En attendant, si ça ne fonctionne pas, on peux lancer en console : $ setxkbmap fr (ou $ setxkbmap us si vous voulez retourner en Anglais), ça fonctionne bien.

Sur les paquets & fichiers

Dépôts (contenu de mon fichier /etc/apt/sources.list) :

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

deb http://ftp.us.debian.org/debian/ sid main contrib non-free (trop peu sûr pour une utilisation courante)

(je conserve les dépôts “Stable” pour avoir un choix plus large de noyaux installables (notamment pour les cas où les noyaux courants ne fonctionnent pas)

Les premiers paquets à 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
  • mc (Midnight Commander) et gpm : (voir la doc spécifique plus bas) un navigateur de fichier en mode texte, avec une boîte à outils. Permet de naviguer plus facilement dans l'arborescence de vos disques, d'éditer des fichiers (utilise nano) et de taper des commandes en récupérant les noms des fichiers (les noms des paquets sont souvent très longs et pénibles à saisir). gpm est un démon pour la souris permettant d'utiliser la souris sous Midnight Commander.

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.
  • La commande (installer le paquet éponyme, puis lancer au préalable # /etc/cron.daily/plocate avec les droits root) : $ plocate *fichier*. La commande est extrêmement rapide (même pour initialiser sa base).

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

Sur les versions de gcc/g++

Si vous tentez d'installer / de compiler un driver (un pilote propriétaire nvidia par exemple), vous serez probablement confronté tôt ou tard à 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 (même les noyaux récents sont souvent compilés avec d'anciennes versions de gcc).

À savoir (sur le bout des doigts :)

  • Les mainteneurs Debian aiment les noms à rallonge, ça permet de se muscler les doigts :)
  • Le paquet gcc est nommé “gcc_version.deb”, celui de g++ est nommé “cpp_version.deb”
  • ils doivent être installés conjointement, avec la même version en 2 digits (exemple 9.3 ou 10.2, même si leur version réelle comporte davantage de digits, exemple gcc-9_9.3.0-3_amd64.deb avec gcc-9-base_9.3.0-3_amd64.deb et cpp-9_9.3.0-3_amd64.deb).
  • gcc et g++ sont installés dans /usr/bin/. Plusieurs versions sont en général disponibles dans ce répertoire. La version utilisée par défaut par le système, est un groupe de liens dynamique :
    • /usr/bin/gcc et /usr/bin/cc pointent vers le même binaire (exemple /usr/bin/gcc-9.3 - qui peut lui-même être un lien pointant vers le binaire du compilateur en question fournit par le paquet gcc-9_9.3)
    • /usr/bin/g++ pointe vers le binaire d'une version identique à celle de gcc (exemple /usr/bin/g++-9.3 - qui peut lui-même être un lien pointant vers le binaire fournit par le paquet cpp-9_9.3)
  • Un noyau est compilé avec une version de gcc spécifique. Si vous avez besoin de compiler un driver parce qu'il n'est pas livré avec ce noyau (le driver propriétaire nvidia par exemple, ou un autre driver de périphérique), vous devez compiler votre driver avec la même version de compilateur (gcc) que celle utilisée pour compiler ce noyau, afin que le driver soit compatible avec lui. Pour connaître la version de compilateur utilisée, installez ce noyau, démarrez dessus (il se sélectionne dès le démarrage, dans le menu de Grub) puis en console lancez : # cat /proc/version

Comment installer la version souhaitée de gcc/g++

Partie commune pour Synaptic, apt ou dpkg

  • Installez le méta-paquet des fichiers d'entête de noyaux (il installera systématiquement les fichiers d'entête des derniers noyaux disponibles) : # apt install linux-headers-amd64
  • Il vous faut connaître la version de gcc/g++ précise (sur 2 digits, exemple la 8.3) requise par votre noyau (voir ci-avant ; une fois démarré sur ce noyau, lancez en console : # cat /proc/version).

1ere alternative : via Synaptic (la plus simple, mais ne permet d'installer que la dernière version)

Par défaut cette méthode ne permet d'installer que la dernière version disponible du compilateur sur un seul digit (pour exemple, vous allez sélectionner gcc-9, et il va vous installer la 9.4, alors que votre noyau aura été compilé avec la 9.3).

La plupart des difficultés de compilation de drivers seraient résolus si les mainteneurs Debian utilisaient une version à 2 digits pour nommer les paquets gcc/g++.

Sous le gestionnaire de paquets Synaptic, l'installation d'une version intermédiaire n'aboutit généralement pas (si l'on change la source depuis synaptic dans le menu “Préférences” puis “Préférer les versions de stable”, la sélection d'une version antérieure “casse” les propositions d'installation).

Néanmoins avec un peu de chance, la dernière version de paquet disponible sera celle requise. Dans ce cas, installez les paquets gcc, gcc-version-base, g++ et g++-version (exemple : installez gcc, gcc-9-base, g++ et g++-9, notez qu'il n'existe pas de paquet g++-version-base en dépôt).

2nde alternative : via apt (un peu moins simple, mais permet d'installer une version précise)

Là aussi par défaut (via la classique commande # apt install), apt installe la dernière version disponible du compilateur - qui ne comporte qu'un seul digit (pour exemple, si vous sélectionnez gcc-9, il vous proposera d'installer la v.9.4, alors que le noyau courant requiert la v.9.3).

Mais une astuce (# apt install nompaquet=version) permet d'installer une version très précise d'un paquet.

De même que précédemment, commencez par trouver la version de gcc/g++ requise avec la commande “# cat /proc/version”.

Puis si elle est disponible en dépôt (d'où l'intérêt de laisser d'anciens dépôts dans votre fichier /etc/apt/sources.list), installez le tout.

Exemples :

1er exemple, avec de la chance, la version gcc/g++ par défaut correspond à la version requise (la 6.3) :

# cat /proc/version
Linux version 4.9.0-12-amd64 (debian-kernel@lists.debian.org) (gcc version 6.3.0 20170516 (Debian 6.3.0-18+debu1)) #1 SMP Debian 4.9.210-1 (2020-01-20)
# apt install gcc gcc-6-base g++-6
# gcc --version
gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

2nd exemple, votre noyau requiert gcc/g++ en version 8.3, alors que la v.8.4 serait installée par défaut.

Vous pouvez lui spécifier d'installer la version 8.3 de la manière suivante (j'ai aussi du ajouter libgcc-8-dev libmpx2 sinon il refusait l'installation lors de mes tentatives) :

# apt install gcc-8=8.3.0-6 cpp-8=8.3.0-6 gcc-8-base=8.3.0-6 libgcc-8-dev=8.3.0-6 libmpx2=8.3.0-6
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
  fonts-cabin glx-alternative-mesa libirs161 libncurses5 libncursesw5 libstd-rust-1.42 libstd-rust-dev
  linux-image-4.9.0-7-amd64 pulseaudio-module-gsettings python-gobject-2 python-gtk2 python3-distro-info rust-gdb update-glx
Veuillez utiliser « apt autoremove » pour les supprimer.
Paquets suggérés :
  gcc-8-locales gcc-8-multilib gcc-8-doc libgcc1-dbg libgomp1-dbg libitm1-dbg libatomic1-dbg libasan5-dbg liblsan0-dbg
  libtsan0-dbg libubsan1-dbg libmpx2-dbg libquadmath0-dbg
Les paquets suivants seront mis à une VERSION INFÉRIEURE :
  cpp-8 gcc-8 gcc-8-base libgcc-8-dev libmpx2
0 mis à jour, 0 nouvellement installés, 5 remis à une version inférieure, 0 à enlever et 282 non mis à jour.
Il est nécessaire de prendre 20,9 Mo dans les archives.
Après cette opération, 29,7 ko d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n] o

# /usr/bin/gcc-8 --version
gcc-8 (Debian 8.3.0-6) 8.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

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

3ème alternative : via dpkg (longue et fastidieuse, à utiliser si les autres échouent)

J'utilisais cette méthode avant de découvrir la possibilité de le faire depuis apt. Elle permet l'installation précise (à 2 digits) de la version de gcc/g++ nécessaire, mais reste plus fastidieuse à réaliser en raison des dépendances et de la longueur des noms des paquets.

  • De même que précédemment, je trouve le nom du fichier du noyau/d'entête et la version de gcc/g++ nécessaire avec la commande “# cat /proc/version”, et j'installe ce fichier d'entête. Exemple :
# cat /proc/version
Linux version 4.9.0-12-amd64 (debian-kernel@lists.debian.org) (gcc version 6.3.0 20170516 (Debian 6.3.0-18+debu1)) #1 SMP Debian 4.9.210-1 (2020-01-20)
# apt install linux-headers-4.9.0-12-amd64
  • La version de gcc/g++ nécessaire est la 6.3.
  • Je recherche la disponibilité de cette version dans le cache des paquets (/var/cache/apt/archives). Si ce n'est pas le cas, il faut la télécharger sur le site de Debian.
    • Personnellement j'utilise ce lien de recherche de paquet Debian. L’inconvénient c'est que cela nécessite d'avoir un autre PC à côté avec une connexion internet.
    • une autre alternative existe pour trouver les versions disponibles en dépôt d'un paquet avec la commande “apt search nomdupaquet”, exemple :
# apt search gcc-6
En train de trier... Fait
Recherche en texte intégral... Fait
gcc-6/now 6.3.0-18+deb9u1 amd64  [installé, local]
  GNU C compiler

gcc-6-base/now 6.3.0-18+deb9u1 amd64  [installé, local]
  GCC, the GNU Compiler Collection (base package)

libgcc-6-dev/now 6.3.0-18+deb9u1 amd64  [installé, local]
  GCC support library (development files)

linux-compiler-gcc-6-x86/now 4.9.210-1 amd64  [installé, local]
  Compiler for Linux on x86 (meta-package)

Mais je ne comprends pas pourquoi cette même commande ne trouve pas gcc-8.3.0-6 qui est pourtant dans les dépôts stable :

# apt update
Atteint :1 http://ftp.us.debian.org/debian stable InRelease
Atteint :2 http://ftp.us.debian.org/debian testing InRelease
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
278 paquets peuvent être mis à jour. Exécutez « apt list --upgradable » pour les voir.
# apt search gcc-8 | grep 8.3.0-6

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

D'autant qu'on a vu ci-avant qu'avec le même dépôt, la commande “# apt install gcc-8=8.3.0-6” est valide, donc elle le trouve :)

  • Ensuite je télécharge les paquets nécessaires, les copie dans /var/cache/apt/archives/ (exemple : # wget http://ftp.us.debian.org/debian/pool/main/g/gcc-8/gcc-8_8.3.0-6_amd64.deb) afin de les conserver pour une éventuelle réutilisation ultérieure s'ils venaient à être désinstallés par mégarde) et les installe manuellement à coups de dpkg dans ce cache. Long et fastidieux.

Partie commune pour Synaptic, apt ou dpkg

Une fois la version de gcc/g++ requise installée, il reste à la rendre disponible au système si ce n'est pas celle qui est utilisée par défaut (rappel, pour voir la version par défaut : # gcc --version). Pour cela on met efface les liens dynamiques précédent /usr/bin/gcc, /usr/bin/cc et /usr/bin/g++, et on les ré-écrit pour qu'ils pointent vers la bonne version de gcc/g++.

Exemple, pour faire pointer ces liens vers la v.6.3 au lieu de la v.8.3 :

# rm /usr/bin/gcc
# rm /usr/bin/cc
# rm /usr/bin/g++
# ln -s /usr/bin/gcc-6 /usr/bin/gcc
# ln -s /usr/bin/gcc-6 /usr/bin/cc
# ln -s /usr/bin/g++-6 /usr/bin/g++

Quelques commandes utiles

  • version de gcc utilisée par défaut par votre système : # gcc --version
  • voir les versions déjà installées : # ls -la /usr/bin | grep gcc
  • version de gcc utilisée par le noyau courant (rappel) :
 # cat /proc/version 
Linux version 4.19.0-8-amd64 (debian-kernel@lists.debian.org) (gcc version 8.3.0 (Debian 8.3.0-6)) #1 SMP Debian 4.19.98-1 (2020-01-26)

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é).
  • Si vous avez le message “unable to find the development tool 'cc' in your path. Please make sure you have the package 'gcc' installed. If gcc installed on your system, please check 'cc' is in your path”). Il suffit de créer le lien : # ln -s /usr/bin/gcc-(version) /usr/bin/cc (ici “(version)” est à remplacer par 6, 8,…).

Sur 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

Outils en mode texte

Je rassemble ici quelques docs basiques sur 2-3 outils de dépannage très utiles lorsque l'on n'a plus de console graphique.

Midnight Commander

Installation : # apt install mc gpm
(gpm est un démon de capture de la souris permettant d'utiliser la souris en mode texte sous mc !)

Doc :

Un outil qui gagne à être connu (il m'a bien rendu service). C'est un gestionnaire de fichier en mode texte qui révèle toute son utilité lorsque le bureau est planté et que l'on n'a que la console de disponible. Ses raccourcis clavier ne sont pas intuitifs (sauf ceux en bas de l'interface pour F1-F10), mais une fois que l'on a compris le fonctionnement et que l'on en connaît quelques-uns, ils évitent de fastidieuses frappes au clavier, et font de Midnight Commander un outil indispensable pour le dépannage en console.

Cerise sur le gâteau : il fonctionne avec la souris ! (à condition d'avoir installé le paquet gpm).

La plupart des commandes sont “à bascule à 2 états” : lorsque l'on applique une commande, celle-ci reste active jusqu'à ce qu'on la sélectionne à nouveau (le comportement revient à l'état précédent).

2 panneaux affichent l'arborescence courante de vos répertoires. On passe de l'un à l'autre avec la touche TAB. On peut ainsi sélectionner des répertoires avec le curseur, y rentrer (ENTER), sélectionner des fichiers, les éditer (F4), les copier (F5), les supprimer (F8), compresser/décompresser un fichier ou un répertoire (via le menu F2) et même se connecter en FTP (F9 puis dans le menu “Gauche” ou “Droite”, non testé).

D'autres vues sympa :

  • Vue arborescence : le menu arborescence (F9 pour aller dans le menu, puis dans le menu “Gauche” je sélectionne “Arborescence”) assez proche du comportement d'un gestionnaire de fichier classique, avec l'arborescence dans le panneau de gauche et le contenu de ce qui est sélectionné dans le panneau de droite.
  • Panneaux horizontaux (permet de mieux visualiser les fichiers longs) : ALT “,” (syntaxe : M-,)

Je n'avais pas compris la convention d'écriture des raccourcis :

  • C- = Maintien de la touche CTRL enfoncée et appui sur la touche de la lettre indiquée suivant le tiret en suite on relâche les 2 touches et on appui sur l'éventuelle lettre suivante. Exemple pour copier le chemin courant dans la console du bas : C-x p = maintenez de la touche CTRL enfoncée et appuyez sur la touche “x”, puis relâchez les 2 touches et appuyez sur la touche “p”)
  • M- = Idem mais avec la touche ALT.

Quelques exemples courants :

  • C-x p : copie le chemin courant sur la console en bas de l'écran
  • C-m : copie le nom du fichier sélectionné dans la console en bas de l'écran
  • C-x q : vue rapide du contenu des fichiers sélectionnés (on se promène sur les fichiers et l'on voit leur contenu)
  • C-x i : information (propriétaire du fichier, droits, …)
  • C-x c : chmod
  • C-x o : chown
  • C-x s : création d'un lien symbolique vers le fichier courant
  • C-o : basculer en console plein écran
  • C-x d : Comparer 2 répertoires
  • M-! : Vue filtrée
  • M-+ : Sélectionner des fichiers / répertoires avec critères (pour faire des copies par exemple)
  • M- : Désélectionner
  • M-* : inverser la sélection
  • M-? : Recherche de fichiers

(voir le man Français ci-avant pour les nombreuses autres commandes)

Links2

J'étais à la recherche d'un navigateur internet ne nécessitant pas d'interface graphique, pour du dépannage lorsque celle-ci ne fonctionne plus.

J'ai testé (en dépôts, paquets éponymes) : elinks lynx w3m links2
et pour l'instant c'est links2 qui me semble le plus ergonomique (à voir à l'usage).

Pour son installation : # apt install links2

Evidemment, lorsque l'on est habitué à un navigateur internet en mode graphique, ça pique un peu les yeux. Mais links2 s'en sort pas trop mal avec le peu de moyen que je lui donne.

Lancement : $ links2 https://duckduckgo.com/
(si vous ne saisissez pas d'adresse URL, le navigateur démarre sans rien afficher, tapez ESC pour faire apparaître le menu)

Quelques touches :

  • F1 : aide
  • ESC : menu
  • S : menu des signets pour enregistrer / charger un signet
  • Q : Quitter

Ca reste néanmoins très difficile de naviguer sans graphisme sur un site tel que nvidia par exemple.

Le graphisme (accéléré)

Ce paragraphe - relatif à l'accélération matérielle, ne devrait pas vous servir, car l'installateur Debian abouti à un bureau avec accélération graphique fonctionnelle.

Pour le vérifier, vous pouvez lancer le petit utilitaire suivant en console (livré avec le paquet mesa-utils) : $ glxgears

Si vous voyez une petite roue dentée tourner en 60 FPS environ, c'est que l'accélération graphique fonctionne bien sur votre PC, inutile d'aller plus loin :).

Je ne parle ci-après que de l’installation du pilote graphique nvidia car c'est le matériel dont je dispose.

Des infos sur le matériel

Quelques outils pour obtenir des infos sur votre carte graphique et sa reconnaissance par Linux

Adresses PCI :

$ lspci | egrep "3D|VGA"
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

Ce paragraphe ne traite que de l'installation du pilote graphique des cartes graphiques nVidia (car je n'ai pas de carte graphique AMD, mais ça pourra venir).

Une doc concise et claire : Lecrabeinfo (Installer le pilote propriétaire NVIDIA sur Debian Linux)

Un pilote graphique libre (dénommé “nouveau”) est intégré au noyau et chargé dès le démarrage lors de l'installation de votre distribution. Il est fonctionnel (permet notamment d'obtenir un bureau graphique) mais il est encore loin du niveau du pilote propriétaire nvidia - incontournable pour les jeux.

Ce pilote “nouveau” ne peut être utilisé simultanément avec le pilote nvidia. Si vous installez le pilote nvidia, il faudra “blacklister” le pilote “nouveau” (c'est très simple, voir ci-après) pour qu'il ne soit pas lancé au démarrage suivant.

Il est possible d'installer le pilote nvidia propriétaire depuis les dépôts ou depuis le site de Nvidia. Mais là aussi, vous devrez faire un choix : utiliser l'un ou l'autre, pas les deux en même temps.

Installation préalable et commune

  • Installez le méta-paquet des fichiers d'entête de noyaux (il installera systématiquement les fichiers d'entête des derniers noyaux disponibles) : # apt install linux-headers-amd64
  • Installez la version de gcc/cc/g++ requise pour compiler un driver compatible avec le noyau courant, et contrôlez qu'elle est active par défaut (voir le paragraphe sur les versions de gcc/g++)
  • Installez les autres utilitaires suivants : # apt install module-assistant kernel-package

Nota : Il n'est pas nécessaire de Blacklister vous-même le pilote nouveau, car l'opération est réalisée par les installateur de pilote nvidia. Je maintien la procédure ci-après pour info. Si un “# rmmod nouveau” vous renvoi un truc du genre “module in use”, ça veux dire que le pilote “nouveau” est chargé en mémoire. Pour le blacklister, dans /etc/modprobe.d/ éditez le fichier nvidia-kernel-common.conf ou un nom similaire (le nom du fichier n'a pas d'importance, seule la présence de cette ligne dans l'un des fichiers de ce répertoire compte), 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.

1ere alternative : Installation du pilote nvidia (propriétaire) 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). À noter qu'il installe un grand nombre de paquets (dont le pilote propriétaire nvidia).

  • Lancez l'utilitaire (paquet éponyme ; indique quelle version de pilote installer) : $ nvidia-detect
  • Installez le pilote nvidia correspondant (en dépôt) :
    • si votre carte graphique est récente : # apt install nvidia-driver
    • si votre carte graphique est ancienne (remplacez yyy par 340 ou 390 en fonction de votre carte graphique) : # apt install nvidia-legacy-yyyxx-kernel-source
  • (pour une réinstallation manuelle : m-a a-i -f nvidia-kernel-source)

2nde alternative : Installation du pilote nvidia obtenu depuis le site du constructeur Nvidia

Avantage :

  • c'est le pilote le plus récent disponible (et le plus fiable à l'usage, quand on met à jour sa distribution) 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 des dépôts Debian - surtout si vous repassez par l'interface “m-a” dont les messages d'anomalies sont tronqués et qui n'est pas d'une grande aide lorsque la compilation se passe mal. Le pilote du site Nvidia est à privilégier en roue de secours si le pilote des dépôts ne fonctionne pas pour vous.

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

Installation :

  • Téléchargez le pilote sur : Nvidia (unix). ATTENTION : vérifiez à quelle branche (Latest / Legacy et dans Legacy, à quelle version) appartient votre carte graphique. Les cartes graphiques passent assez vite dans la branche Legacy. Ne vous trompez pas de version de driver sinon il refusera l'installation (et si vous avez déjà désinstallé l'accélération et n'avez plus de bureau opérationnel ça risque d'être un peu compliqué pour retourner naviguer sur le site de nvidia).
  • Autre méthode de téléchargement (si vous êtes en console) : repérez (via un autre PC ou smartphone sur le site ci-dessus) quelle est la version du driver nécessaire, et adaptez la ligne de commande suivante (adaptée à mes anciennes cartes graphiques GTX 260 et 275) : $ wget http://us.download.nvidia.com/XFree86/Linux-x86/340.108/NVIDIA-Linux-x86-340.108.run
  • Rendez le pilote exécutable (à adapter) : chmod +x NVIDIA-Linux-x86_64-430.26.run
  • Désinstallez tous les paquets nvidia* précédents (tentez votre chance avec # apt remove *nvidia*).
  • 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).
  • Lancez le pilote Nvidia par : $ ./NVIDIA-Linux-x86_64-430.26.run (à adapter en fonction de votre version).
  • Il est possible qu'il affiche l'erreur suivante (due au chargement par défaut du pilote “nouveau” lorsque votre installation Debian n'a encore jamais vue de pilote propriétaire nvidia) : “ERROR: The Nouveau kernel driver is currently in use by your system. This driver is incompatible with the NVIDIA driver, and must be disabled before proceeding. Please consult the NVIDIA driver README (…)” puis “For some distributions, Nouveau can be disabled by adding a file in the modprobe configuration directory. Would you like nvidia-installer to attempt to create this modprobe file for you?”. Répondez “Yes”. Ensuite il affiche “ERROR: Installation has failed. Please see the file '/var/log/nvidia-installer.log' for details. You may find suggestions on fixing installation problems in the REAME available on the Linux driver download page at wwww.nvidia.com.”. Mais pas de soucis, le driver nouveau a bien été désactivé pour le prochain redémarrage (vous remarquerez que la police de caractère des messages de boot restera plus grande au démarrage suivant), il suffit de rebooter le PC et de relancer le driver Nvidia ci-avant.
  • À la question : “Install NVIDIA's 32-bit compatibility libraries” : Répondez “Yes” ! Si vous voulez pouvoir jouer à Steam (toujours en 32-bit) et d'autres jeux restés en 32-bit.
  • À 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éponse : (voir ci-dessous).
  • Rebootez : l'accélération graphique doit être opérationnelle (sinon vous l'auriez su pendant la compilation par un message d'erreur).

Nouveau le 03/05/2020 (testé avec le driver 340.108 et X.Org X Server 1.20.8, sur le PC Internet) : “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? Jusqu'à ce jour à cette question je répondais toujours : “No”, et donc l'installateur nvidia ne créait pas de fichier /etc/X11/xorg.conf. Le serveur X démarrait sans cela (il s'auto-configure au démarrage. Mais ça c'était avant. Il semble qu'à présent (selon les messages lus dans /var/log/Xorg.0.log) au lancement de Xorg (lorsque le gestionnaire de connexion sddm ou lxdm se charge) ce dernier charge bien le module nvidia (ainsi que nouveau - malgré qu'il soit blacklisté, et une tentative de nv) mais il ne se passe rien. J'ai testé la ré-installation du driver plusieurs fois, rien n'y faisait. Mais en testant la réponse “Yes” (et donc l'installation d'un fichier /etc/X11/xorg.conf), et en redémarrant Xorg : ça marche, Xorg démarre avec de l'accélération graphique !

Si vous souhaitez désinstaller le driver propriétaire : # nvidia-installer --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).

Le son

La bible sur le sujet : UBUNTU-fr

Cas habituel

Le son est déjà opérationnel sans paramétrage compliqué (ceux qui ont connu oss et alsa savent combien il était compliqué 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 :

  • sous Cinnamon, c'est complet et bien agencé, et çà se passe encore une fois et de manière logique dans le Centre de Configuration ➜ Matériel ➜ Son, avec différents onglets :
    • Sortie : pour les réglages relatifs aux sorties sonores de votre PC (il peut y en avoir plusieurs)
    • Entrée : les réglages relatifs aux microphones
    • Sons : la section permettant d'associer des sons (cliquer sur le bouton de droite pour activer/désactiver le son, ET associez un son à l'action proposée en cliquant sur le bouton central associé et sélectionnant le fichier son dans le répertoire /usr/share/sounds/, vous pouvez ensuite le tester en cliquant sur le bouton “▸” correspondant). J'ai téléchargé pas mal de jingle sonores et d'effets sonores sur le net (il suffit de passer par l'utilitaire soundconverter pour convertir les MP3 non supportés en ogg) et ai associé ces sons aux actions proposées (elles sont assez limitées). Et - à condition de bien choisir les sons (pas trop longs et agressifs pour les petites actions courantes ; plus longs et dynamiques pour les jingles de démarrage / arrêt du gestionnaire de fenêtre), çà change beaucoup l'expérience du bureau (j'adore).
    • Applications : permet de régler le volume sonore séparé pour les applications ouvertes
    • Paramètres : permet de régler l'amplification générale (je n'ai pas remarqué de différence d'action pour l'instant).

Toujours sous Cinnamon, l'essentiel des réglages va se passer dans l'onglet “Sortie” où vous sélectionnez en haut de la zone le périphérique de sortie (en ce qui me concerne, la carte sonore de ma carte mère est identifiée en “Line Out Family 17h (Models 00h-0fh) HD Audio Controller”), puis dans la zone du dessous je sélectionne “Sortie Surround analogique 4.0” (j'ai un système 4.1, mais je ne parviens pas à activer le caisson de basse quelque-soit les gestionnaire de fenêtre, tant pis pour l'instant je reste comme çà), et l'on teste ce son en cliquant sur le bouton “Test du son”.

  • sous MATE : 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”).

Si elle plante (rare), cette application est aussi disponible via le menu Applications ➜ Son et vidéo ➜ Son, ou en console en lançant : $ mate-volume-control).

Système Audio 4.0 sur un système Audio 7.1

Je traite ici d'un cas particulier, le mien, consistant à raccorder un système Audio 4.0 sur une carte mère fournissant un système Audio 7.1

J'ai une carte mère “msi B450 Gaming Pro Carbon AC” équipée notamment d'un chipset Realtek ALC1220 avec système Audio 7.1 et une sortie S/PDIF optique. Sur ce système Audio 7.1 je viens connecter un (ancien) système Audio 4.0 Altec Lansing (un petit caisson de basse + 4 petits HP). Et c'est là où le bât blesse probablement (pour que ça marche j'ai l'impression que ma carte son nécessite une impédance sur la sortie ligne).

Ça s'est en effet un peu compliqué depuis l'achat d'un nouveau microphone (un USB SAMSON G TRACK PRO disposant aussi d'une prise casque sur laquelle je viens brancher mon nouveau casque, un DT 770 PRO 80 ohm). N'ayant plus besoin de mon ancien casque, je l'ai débranché des prises arrière de ma carte mère (il utilisait une prise USB + 1 prise casque verte + 1 prise micro rose). Dans ma nouvelle configuration je n'ai besoin de brancher sur mon PC que la prise USB (puisque je branche mon casque sur le microphone). Et là le constat est que la carte son ne sort plus rien.

La seule manière d'obtenir du son est de brancher un casque (ou un micro :) sur la prise casque de ma carte son (prise “Sortie ligne/Front/Casque” verte, voir ci-dessous). Une autre alternative (non testée pour l'instant) serait de connecter un petit HP supplémentaire (je n'en ai pas sous la main) sur cette sortie (ça ne changerait pas grand-chose au rendu sonore mais permettrait de récupérer le casque pour autre chose.

J'ai bien pensé à brancher mon nouveau casque sur cette sortie casque (verte), mais dans ce cas, dans le menu Audio il ne détecte pas ce casque et sort le son à la fois sur les HP et sur le casque (pour la carte “Family 17h” je n'ai qu'un “Connecteur : Sortie ligne” et pas de “Connecteur : Sortie casque” qui m'aurait permis de sélectionner l'un ou l'autre).

Disposition des connecteurs audio à l'arrière de ma carte mère :

S/PDIF (nc) Sortie Audio Surround (noir de l'ALTEC) (conn.) Sortie Caisson de basse (vert de l'ALTEC) (conn.)
Entrée micro (Rose) (nc) Sortie ligne/Front/Casque AV (vert du casque) (conn.) Entrée ligne / Sortie audio HP côté (nc)

Légende :

  • nc : non connecté
  • conn. : connecté

Ci-dessous les réglages retenus dans mate-volume-control :

  • En haut de l'interface, le niveau sonore de sortie
  • Onglet matériel :
    • ☑ “Family17h (Models 00h-0fh) HD Audio Controller - 1 Sortie / 2 entrées” (la carte son intégrée à ma carte mère), puis le “Paramètres du périphérique sélectionné” (en bas de l'interface) ➜ “Sortie Surround analogique 4.0 + Entrée Stéréo analogique” (ce qui a pour effet d'utiliser mes 4 petites enceintes satellites et le caisson de basse)
    • ☐ “HD Pro Webcam C920 - 1 entrée” (ma webcam), puis le “Paramètres du périphérique sélectionné” (en bas de l'interface) ➜ “Entrée Stéréo analogique”
    • ☐ “Samson G-Track Pro - 1 Sortie / 2 entrées” (mon micro avec son entrée casque + son entrée instrument), puis le “Paramètres du périphérique sélectionné” (en bas de l'interface) ➜ “Duplex stéréo analogique”
    • ☐ “TU106 High Definition Audio Controller - 1 Sortie / 1 entrée” (le système Audio de l'un de mes 2 écrans), puis le “Paramètres du périphérique sélectionné” (en bas de l'interface) ➜ “Sortie Digital Stereo (HDMI)”
  • Onglet Entrée, j'ai le choix entre :
    • ☐ “Family17h (Models 00h-0fh) HD Audio Controller Surround analogique 4.0” - Surround 4.0) : “Connecteur” sur “Sortie analogique” (pas d'autres choix)
    • ☑ “Samson G-Track Pro Stéréo analogique” - Stéréo : “Connecteur” sur “Sortie analogique” (pas d'autres choix)
    • ☐ “TU106 High Definition Audio Controller Digital Stéréo (HDMI) - Stéréo : “Connecteur” sur “Sortie analogique” (pas d'autres choix)

Rappel (bug) : pour que le son se fasse entendre sur la sortie “Family17h (Models 00h-0fh) HD Audio Controller” il faut aussi connecter la prise verte de mon ancien casque sur l'entrée Jack Verte de la carte son.

Ainsi dans l'onglet “Matériel”, lorsque je sélectionne ma carte son “Family17h” et que je clique sur le bouton “Tester les haut-parleurs”, je peux sélectionner indépendamment les 4 HP satellite et entendre distinctement le message de test correspondant (“Front Left”, “Front Right”, “Rear Left” et “Rear Right”). Le potentiomètre “Surround” sur l'une des enceintes me permet de règler la balance AVANT/ARRIERE des HP (même si ce n'est pas fait pour cela, car en même temps cela sature les graves, ce qui en devient un peu désagréable à la longue).

Redirection audio

Je traite ici de la redirection (pour son enregistrement dans un fichier) d'un flux audio avec PulseAudio

Je souhaitais enregistrer un extrait musical entendu sur une Webradio dans un fichier afin de le passer sur un site de reconnaissance musicale (AudioTag, un équivalent à l'application Shazam sur les portables) pour obtenir le nom du morceau.

Installez le paquet suivant : # apt install pavucontrol Installez votre outil d'enregistrement sonore (j'ai testé avec succès Audacity) : # apt install audacity

À noter que GNOME dispose d'un outil simple (dénommé simplement “Enregistreur de son” / gnome-sound-recorder). Il sait enregistrer le son sous différents formats sous son interface. Les sons sont enregistrés dans ~/Recordings. C'est un outil très pratique pour faire des tests rapides d'enregistrement.

pavucontrol est un outil de paramétrage de PulseAudio, permettant de régler les volumes de sortie des sources audio mais aussi de rediriger les flux audio de manière très puissante.

1ere utilisation (ensuite PulseAudio semble enregistrer le comportement) :

  • Lancez votre flux audio (web radio par exemple)
  • Lancez l'enregistrement sur votre enregistreur de son
  • puis (pas avant) lancez : $ pavucontrol
  • dans l'onglet “Enregistrement” de pavucontrol apparait alors “ALSA plug-in [Audacity]: ALSA Capture de ” et sélectionnez votre carte son (moi je sélectionne “Family17h (Models 00h-0fh) HD Audio Controller Surround analogique 4.0”).

Lorsque vous interrompez l'enregistrement sous votre enregistreur numérique (Audacity par exemple), l'onglet “Enregistrement” de pavucontrol se vide, c'est normal.

Pour la petite histoire, j'ai ensuite passé mon enregistrement de 45 secondes sur le site AudioTag et il ne l'a pas trouvé (la musique n'était vraisemblablement pas assez courante :)).

À noter qu'il existe sur GitHub un projet Shazam sous Linux mais nécessitant un enregistrement sur le site ACRCloud services. Je ne l'ai pas testé.

J'ai notamment pu tester avec succès la redirection du son de mon smartphone (activé sur celui-ci, en maintenant le doigt appuyé sur l'icône Bluetooth puis en sélectionnant “Audio pour les appels”. Tandis que l'option “Audio pour les médias” permet de rediriger la musique lue sur mon smartphone vers le PC : testé ok aussi) sur mon PC en Bluetooth et l'enregistrement de la conversation.

Le revers de la médaille c'est que c'est tellement puissant que personnellement je m'y perd un peu par moment.

Réglage du micro

Pour sélectionner la source d'enregistrement (du micro vers le logiciel type Audacity), utiliser le logiciel pavucontrol (voir ci-avant pour la méthodologie).

Désactivation des sources non désirées

Cette application pavucontrol permet notamment via son onglet “Périphérique d'entrée” de désactiver tous les micros non désirés en désélectionnant les icônes “haut-parleur” devant chaque entrée. J'ai ainsi désactivé celui de mon écran “Monitor of TU106 High Definition Audio Controller Digital Stereo (HDMI)” et de ma Webcam “HD Pro Webcam C920 Stéréo analogique” (une véritable salle d'écoute chez moi :), pour ne conserver que le microphone principal “Samson G-Track Pro Stéréo analogique” de meilleur qualité avec son bouton poussoir en façade pour couper le son.

Réglages sur le microphone lui-même

1er Sélecteur :

  • ☐ Fig 8 (aka bidirectionnel devant/derrière le micro) : pour 2 personnes face à face
  • ☑ Cardioïde (capture devant le micro) : pour du solo, face à l'étiquette SAMSON
  • ☐ Omnidirectionnel (capture à 360°) : pour plusieurs personnes autour d'une table. Inconvénient : capture plus de bruits ambiants.

Les noms semblent étranges au premier abord ; en fait ils représentent de manière figurée l'aspect de l'onde captée par le micro (et sont ainsi faciles à mémoriser). Il faut se représenter le 8 de “Fig 8” comme le micro au centre du “8”. Quant à Cardioïde il faut se représenter un cœur dans sa forme anatomique (et non pas figurative), dans laquelle la base du cœur est le micro.

2nd Sélecteur :

  • ☑ Mono : entrée microphone & instrument mélangées sous la forme d'un signal unique.
  • ☐ 2 Track :entrée microphone et entrée instrument sont envoyées sur deux pistes différentes.

3ème sélecteur :

  • ☑ Monitor On/☐ Off : marche/arrêt du moniteur direct de surveillance de latence d'enregistrement du son (engendrée par sa numérisation), depuis le casque (sans nécessiter un retour de l'ordinateur). À mettre sur OFF si l'on souhaite n'entendre que la lecture du logiciel du PC.

Réglage du niveau d'enregistrement

Que ce soit pour le niveau du micro ou de l'instrument (non testé, je n'en ai pas), le réglage du niveau se fait de la manière suivante : on met le potentiomètre correspondant au maximum et l'on teste avec la voix/instrument le niveau ne saturant plus l'entrée (lorsque l'entrée sature le voyant se met à clignoter sur le micro et l'on voit simultanément la courbe saturer sur l'enregistreur de son).

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).

La bible du réseau sous Linux (ça peut servir) : Administration réseau sous Linux/Configuration réseau

Rappel de quelques commandes utiles

$ nmcli : permet de voir les interfaces disponibles et celles raccordées

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 Cinnamon et MATE (“Configuration réseau avancée”) facilitant le paramétrage Wi-Fi, et un applet pour la zone de notification GNOME (également compatible avec Cinnamon ou 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.

Inconvénient important : si vous perdez le bureau (vécu : plus d'accélération graphique opérationnelle), vous n'avez plus d'internet, donc pour réparer votre système sans internet, c'est très handicapant. Donc surtout n'effacez pas (commentez-les au lieu de les effacer) vos réglages dans /etc/network/interfaces !

Avant de commencer, le paramétrage du PC passerelle (PC Internet / goup1) 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'ai dénommé “PC Internet”, un vieux PC qui me sert à la fois de PC de dépannage si l'autre a un souci (sécurité) et de passerelle distribuant internet.

Ce PC est équipé de 3 interfaces ethernet :

  • l'interface enp4s0 (sur la carte mère) est reliée à ma Box,
  • l'interface enp6s0 (sur la carte mère) est reliée au PC du Bottin,
  • l'interface enp8s1 est une petite carte réseau additionnelle ajoutée sur le slot libre de ce PC avec un câble ethernet sur lequel mon fils (Louis) vient ponctuellement se connecter avec son portable 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)

PC passerelle : le paramétrage de guidedog (en dépôts, opération indispensable)

ATTENTION : il faut lancer guidedog en root (via une console en root) pour qu'il enregistre vos paramétrages dans son fichier /etc/rc.guidedog (sinon au prochain démarrage vous devrez recommencer : vécu :).

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.

PC passerelle - Alternative n°1 : le paramétrage du fichier /etc/network/interfaces

Cette 1ere alternative est la plus simple. Elle fait le job. Néanmoins je lui préfère à présent la 2nde alternative (voir plus bas) qui fait appel à network-manager-gnome, car elle offre un contrôle plus facile du réseau (je peux activer/désactiver les réseaux en quelques clics depuis la zone de notification de mon bureau MATE).

Pour cette 1ere alternative, il vous suffit simplement de paramétrer le fichier /etc/network/interfaces comme suit (à adapter pour vous) :

# 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

# 1ere connexion : vers ma Box (une connexion DHCP) :
auto enp4s0
allow-hotplug enp4s0
iface enp4s0 inet dhcp

# 2nde connexion : vers le PC du Bottin (une connexion en IP statique, c'est plus simple pour le pare-feu) :
auto enp6s0
allow-hotplug enp6s0
iface enp6s0 inet static
        address 192.168.2.1
        netmask 255.255.255.0

# 3ème connexion (une petite carte réseau supplémentaire) : vers le portable de Louis (sous Windows)
auto enp8s1
allow-hotplug enp8s1
iface eth2 inet static
        address 192.168.3.1
        netmask 255.255.255.0

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

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).

PC passerelle - Alternative n°2 : définir le paramétrage via network-manager (interface graphique)

Sur ce même PC Internet passerelle, au lieu de modifier ce fichier /etc/network/interfaces , vous pouvez le faire depuis le Centre de configuration de Cinnamon ou MATE. Cela paraît long - parce que j'ai listé ci-dessous le contenu de tous les onglets de l'interface afin qu'il n'y ai pas de zones d'ombres, mais il n'y a pas grand-chose à saisir en réalité.

L'intérêt de cette 2nde alternative est un contrôle plus facile et rapide depuis la zone de notification de mon bureau Cinnamon ou MATE (on peut activer/désactiver une interface en quelques clics).

Pour cela, commencez par installer sur ce PC les paquets : # apt install network-manager network-manager-gnome nm-tray resolvconf net-tools

  • Puis dans le Centre de configuration :
    • Cinnamon, section “Matériel”, cliquez sur l'icône “Réseau”, vous arrivez sur le menu “Paramètres systèmes” et pouvez directement sélectionner dans la zone de gauche le type de réseau à paramétrer (WI-Fi, Filaire, Bluetooth, Wi-FI P2P, Serveur mandataire)
    • ou 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”).

Je décris ci-après le mode opératoire sous MATE - parce que j'avais commençé par là, mais à présent je suis sous Cinnamon, qui me semble encore plus intuitif et évolué (et qui bien-sur a repris tous mes paramètres de MATE), et je n'ai pas repris cette documentation, mais le principe est le même.

1. Paramétrage de la connexion vers ma Box

Sous ce nouveau fichier de connexion que j'ai par la suite nommé “Box” j'ai :

Onglet Ethernet :

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

Onglet Général :

  • ☑ Se connecter automatiquement avec priorité 0 (par défaut, ce qui permet la connexion dès le démarrage)
  • ☑ 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 : Automatique (DHCP)
  • Adresses : (vide) (adresse), (vide) (Masque de réseau), (vide) (Passerelle) (par défaut)
  • Serveurs DNS : vide (par défaut)
  • 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 : Automatique
  • Adresse statique supplémentaire : (vide)(par défaut)
  • Serveurs DNS supplémentaires : (vide)(par défaut)
  • Domaines de recherche supplémentaires : (vide)(par défaut)
  • Extension de confidentialité IPv6 : Activé (adresse temporaire préférée)(par défaut)
  • Mode de génération d'adresse IPv6 : EUI64 (par défaut)
  • ☐ Requiert un adressage IPv6 pour que cette connexion fonctionne (par défaut)

2. Paramétrage de la connexion vers goup2net

Sous ce nouveau fichier de connexion que j'ai par la suite nommé “goup2net” j'ai :

Onglet Ethernet :

  • Périphérique : enp6s0 (via le déroulant)
  • Adresse MAC clonée : (vide)
  • MTU : automatique (par défaut)
  • 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, ce qui permet la connexion dès le démarrage)
  • ☑ 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.1 (adresse), 24 (Masque de réseau), (vide) (Passerelle)
  • Serveurs DNS : vide (par défaut)
  • 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 : Automatique (par défaut)
  • Adresses : (désactivé)
  • Serveurs DNS : (désactivé)
  • Domaines de recherche : (désactivé)
  • ID de client DHCP : (désactivé)
  • ☐ Requiert un adressage IPv6 pour que cette connexion fonctionne (par défaut)
  • Bouton “Routes…” : (vide)

3. Paramétrage de la connexion vers le PC portable de Louis

Sous ce nouveau fichier de connexion que j'ai par la suite nommé “louis” j'ai :

Onglet Ethernet :

  • Périphérique : enp8s1 (via le déroulant)
  • Adresse MAC clonée : (vide)
  • MTU : automatique (par défaut)
  • 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, ce qui permet la connexion dès le démarrage)
  • ☑ 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.3.1 (adresse), 24 (Masque de réseau), (vide) (Passerelle)
  • Serveurs DNS : vide (par défaut)
  • 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 : Automatique (par défaut)
  • Adresses : (désactivé)
  • Serveurs DNS : (désactivé)
  • Domaines de recherche : (désactivé)
  • ID de client DHCP : (désactivé)
  • ☐ Requiert un adressage IPv6 pour que cette connexion fonctionne (par défaut)
  • Bouton “Routes…” : (vide)

ATTENTION : NE PAS OUBLIER CI-DESSOUS (j'écris ça pour moi :) :

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)

L'option “managed=true” a parfois tendance à revenir seule à “managed=false”, et dans ce cas il n'y a plus de réseau. À surveiller (est-ce dû à la mise à jour du paquet correspondant ou à la détection par le système de ma modification du fichier /etc/network/interfaces lorsque j'ai besoin de réseau en dehors du serveur Xorg ?)

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! :)

Retour au PC du Bottin :

Si vous ne l'avez pas déjà fait, là aussi 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)

Inconvénient important : si vous perdez le bureau (vécu : plus d'accélération graphique opérationnelle), vous n'avez plus d'internet, donc pour réparer votre système sans internet, c'est très handicapant. Donc surtout n'effacez pas (commentez-les au lieu de les effacer) vos réglages dans /etc/network/interfaces !

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 pour 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

ATTENTION : NE PAS OUBLIER CI-DESSOUS (j'écris ça pour moi :) :

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)

L'option “managed=true” a parfois tendance à revenir seule à “managed=false”, et dans ce cas il n'y a plus de réseau. À surveiller (est-ce dû à la mise à jour du paquet correspondant ou à la détection par le système de ma modification du fichier /etc/network/interfaces lorsque j'ai besoin de réseau en dehors du serveur Xorg ?)

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

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 IPv6 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 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
  • 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, ET sur la touche en forme “Space Invaders” sur le côté de l'enceinte, 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 !

Le Wi-Fi (en IPv4 et IPv6!)

IMPORTANT : Avant de configurer le Wi-Fi, commencez par configurer le Bluetooth (ci-avant) car une grande partie des réglages est commune et je n'ai ré-itéré ici ni les explications ni les installations correspondantes.

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écouvrais 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 était 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, ce qui se révèle très utile 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 Cinnamon / 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).

Debug

network-manager-gnome bloqué

network-manager-gnome fournit /usr/bin/nm-applet (qui apparaît dans la zone de notification). Il arrive que cette applet se bloque (en attente de réseau j'imagine) et dans ce cas c'est toute la barre d'applications qui semble bloquée. J'ai testé le lancement en console d'une autre instance de /usr/bin/nm-applet mais cela ne permet pas de reprendre le contrôle.

Le seul moyen est d'attendre 30 secondes et de recommencer le clic gauche de la souris pour atteindre le menu.

Plus de Wi-Fi

Le 01/05/2020, plus de Wi-Fi, plus moyen de l'activer depuis la barre des tâches (je ne sais pas si c'est lié, mais le 28/04/19 a eu lieu la mise à jour des paquets bind9-host, dnsutils, libdnsxxxx, network-manager-gnome, et divers autres).

$ iwlist wlo1 scan
wlo1      Failed to read scan data : Network is down

Je teste :

# ip link set wlo1 up
$ iwlist wlo1 scan
wlo1      No scan results

Et puis :

# iw dev wlo1 scan
command failed: Network is down (-100)
# ifconfig wlo1 up
# iw dev wlo1 scan
BSS f6:c8:30:92:e0:c0(on wlo1)
	last seen: 17416.699s [boottime]
	TSF: 1140315273938 usec (13d, 04:45:15)
	freq: 2462
	beacon interval: 100 TUs
	capability: ESS Privacy ShortSlotTime (0x0411)
	signal: -34.00 dBm
	last seen: 2952 ms ago
	Information elements from Probe Response frame:
	SSID: Toto
        (...)

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

Mais malgré cela, pas de connexion.

Parce qu'il fallait rebooter le PC :)

J'ai suivi cette doc raspberrypi.org (Network Manager can't handle wifi connection)

Après coup, j'ai vérifié qu'il n'était pas nécessaire :

  • d'installer les paquets dhcpcd5 et dhcpcd-gtk
  • de mofifier le fichier /etc/NetworkManager/NetworkManager.conf pour y ajouter “dhcp=dhcpd”
En console je lance : 
<code>
# nmcli dev show wlo1
GENERAL.DEVICE:                         wlo1
GENERAL.TYPE:                           wifi
GENERAL.HWADDR:                         D4:3B:04:70:57:6A
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connecté)
GENERAL.CONNECTION:                     Toto
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/2
(...)


# nmcli device wifi  list
IN-USE  BSSID              SSID             MODE   CHAN  RATE      SIGNAL  BARS  SECURITY    
        F6:C8:30:92:E0:C2  Tata             Infra  11    270 Mb/s  100     ▂▄▆█  WPA1 802.1X 
*       F6:C8:30:92:E0:C0  Toto             Infra  11    270 Mb/s  100     ▂▄▆█  WPA1        
        F6:C8:30:92:E0:C1  --               Infra  11    270 Mb/s  100     ▂▄▆█  WPA2        
        70:FC:8F:53:23:66  Tutu_secure      Infra  13    195 Mb/s  19      ▂___  WPA2 802.1X 
        70:FC:8F:53:23:64  Tete-xyz         Infra  13    195 Mb/s  17      ▂___  WPA2        

Et ça marche à nouveau / toujours !

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

La bible : WIKI UBUNTU.fr (Installation selon la marque)

(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-*)

Page des drivers EPSON : Drivers Linux EPSON

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

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

Si votre imprimante n'est plus affichée, lancez en console (paquet éponyme) : $ /usr/bin/system-config-printer

Puis sous l'interface, et dans cet ordre (sinon recommencez) :

  • Serveur ➜ Connexion… ➜ Connecter
  • Serveur ➜ Nouveau ➜ Imprimante
  • Entrez le mot de passe administrateur puis sélectionnez votre imprimante dans la liste.
  • Vous validez et avez la possibilité d'imprimer une page de test.

Ça marche !

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

Nota : si le scanner n'est pas trouvé, parfois le fait de débrancher puis rebrancher la prise USB de votre scanner peut aider.

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

Connexion aux bureaux

Installation des gestionnaires de connexion sddm et lightdm :

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

La doc Debian : LightDM

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, 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é)
  • Le gestionnaire lightdm se configure facilement (sauf l'activation du verrouillage numérique, voir ci-après) depuis le Centre de contrôle si vous avez installé les paquets lightdm-settings lightdm-gtk-greeter-settings. S'il refuse de se lancer depuis le centre de contrôle, lancez-le en console (avec la commande : $ pkexec lightdm-settings) afin de lire le message d'erreur (il se peut que l'une de ses dépendances ait été désinstallée par mégarde).
  • Pour activer le verrouillage numérique du clavier sous lightDM (testé ok, merci à Fedora.fr), installez le paquet numlockx et ajoutez cette section à la fin du fichier /etc/lightdm/lightdm.conf :
    [SeatDefaults]
    greeter-setup-script=/usr/bin/numlockx on
  • Pour activer le verrouillage numérique du clavier sous sddm (testé ok, merci à Fedora.fr), pas besoin d'installer le paquet numlockx, éditez ou créez le fichier /etc/sddm.conf et ajoutez cette section à la fin du fichier :
    [General]
    Numlock=on
  • Pour activer la liste des utilisateurs sous lightDM (merci à Debian et surtout à Ubuntuplace.info) modifiez la section suivante du fichier /etc/lightdm/lightdm.conf (nom d'utilisateur à adapter pour vous) :
    [Seat:*]
    greeter-hide-users=false
    defaut-user=goupil2

Cinnamon & MATE

Je suis à présent passé sous le gestionnaire Cinnamon, alors qu'à la rédaction initiale de cette documentation j'étais encore sous le gestionnaire de fenêtre MATE.

Je trouve Cinnamon bien plus évolué et stable que MATE.

Je n'ai pas désinstallé MATE, je le conserve en secours en cas de problème avec Cinnamon. Cette documentation reste encore assez orientée sur MATE, mais je vais peu à peu l'adapter pour Cinnamon.

Centre de Contrôle sous 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).

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.

Autour du bureau

Les polices de caractère

J'aime beaucoup l'aspect rondelet des polices UBUNTU. La police qui s'en rapproche le plus sous Debian (notamment les “a” dont l'aspect est un “o” avec une barre verticale à droite du “o”) est la police : Quicksand.

Après un court passage sur la jolie police Luciole (ttf-luciole, disponible dans AUR, rappelant la police Macintosh, recommandée par Ysabeau sur son excellent article Où il est question de police, une police étudiée pour les mal-voyants), j'ai finalement jeté mon dévolu sur Noto Sans Regular (retour à la case départ :)) qui me semble plus lisible, plus compacte et mieux rendu à l'écran que Quicksand.

Noto Sans Regular et Cantarel Regular sont très proches, mais Noto Sans Regular me semble un peu plus rond et plus lisible à l'écran.

Je l'ai donc employée à toutes les sauces :).

Voici mes réglages pour le bureau Cinnamon (menu “Paramètres système ➜ Sélection de polices”) :
Police par défaut : Sans Regular 9 ⇒ Quicksand Medium Bold 10 Noto Sans Regular 10
Police du bureau Noto Sans Regular 10 ⇒ Quicksand Bold 10 Noto Sans Regular 11
Police des documents : Cantarel Regular 11 ⇒ Quicksand Regular 11 Noto Sans Regular 10
Police à chasse fixe : Monospace Regular 11 ⇒ Quicksand Bold 11 Noto Sans Regular 11
Police du titre des fenêtres : Sans bold 10 ⇒ Quicksand Bold 12 Noto Sans Regular 11

Pour appliquer cette police aux applications utilisant Qt (tel que Tellico), il faut aller également dans l'application qt5ct (accessible sous Cinnamon dans le menu Préférences ➜ Paramètres de Qt5 ➜ Onglet “Polices” (j'ai retenu là aussi Noto Sans Regular 10).

Le graphisme

Les icônes
  • Les icônes sont à copier dans ~/.icons/, puis pour les activer :
    • 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.
    • sous Cinnamon, dans le Centre de contrôle ➜ Thèmes ➜ Icônes
  • 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

Installations spécifiques

Compatibilité 32-bit

Ce paragraphe traite de l'nstallation de paquets i386 (=32-bit, dont Steam) sur amd64 (=64-bit).

Préambule

Certains jeux, moteurs ou outils (Steam, Enemy Territory: Quake Wars, Quake4, PIX Bros, PiX Frogger, …) ne sont pas disponibles en 64-bits. Le seul moyen de les utiliser est d'ajouter le support 32-bit à votre distribution.

Ce paragraphe valide aussi le fonctionnement de Steam (32-bit) sur ma Debian 64-bit.

L'opération est rapide et simple, encore faut-il la connaître. La 1ere phase consiste à ajouter le dépôt i386 à votre distribution, la 2nde à ajouter les bibliothèques nécessaires. Cette dernière se fait naturellement lorsque vous installez votre jeu depuis les dépôts Debian.

Reste à installer les bibliothèques graphiques 32-bit nécessaires à l'accélération graphique :

Alternative 1 : En ce qui me concerne, j'ai une carte graphique nvidia récente à l'écriture de ces lignes(GeForce RTX 2070) qui n'est pas encore supportée par le pilote nvidia des dépôts (ou du moins je n'y suis pas encore parvenu). J'utilise donc le pilote propriétaire téléchargé sur le site de Nvidia (voir ci-avant).

Récemment, ce pilote m'a aussi proposé d'installer les bibliothèques graphiques 32-bit, ce que j'ai accepté, ce qui constitue la condition sine qua non au bon fonctionnement des applications utilisant l'accélération graphiques avec ce driver propriétaire.

Alternative 2 : L'alternative est bien sûr d'utiliser les bibliothèques graphiques des dépôts (via l'installation du paquet nvidia-driver-libs-i386:i386). Je ne l'ai pas testé puisque j'utilise le driver propriétaire NVidia qui m'a proposé l'installation de son équivalent.

L'installation

Je commence par ajouter le support des paquets 32-bit en plus de mes paquets 64-bits sur ma distribution Debian.

Ma documentation de référence : Debian (Multiarch HOWTO)

  1. En console je lance : # dpkg --add-architecture i386
  2. Puis sous Synaptic, je met à jour les paquets. Ensuite je clique sur le filtre “Architecture” (en bas à gauche de l'interface), je sélectionne “arch: i386” et je sélectionne mon paquet steam dans la liste, pour son installation. Je valide.
  3. A l'installation du paquet Steam, une interface de validation (Steam licence agreement) me demande si “I AGREE”, et me précise :

This computer appears to be using the Nvidia binary graphics driver (the nvidia-driver package). Steam is a 32-bit program, so running it on this computer requires the 32-bit versions of the Nvidia libraries, even if all the games you will run via Steam are 64-bit. Please install the nvidia-driver-libs-i386 package. For full functionality (including Vulkan), also install the libraries listed as Recommends in the nvidia-driver-libs-i386 package. If you are using a legacy version of the Nvidia driver such as nvidia-legacy-340xx-driver, please install the corresponding 32-bit legacy package, for example nvidia-legacy-340xx-driver-libs-i386.

Je n'ai pas suivi cette recommandation en n'installant pas le paquet nvidia-driver-libs-i386:i386 car dans ce cas il me propose d'installer une ribambelle de paquets dérivés de nvidia (des dépôts), alors que tout à l'heure, après l'installation d'un nouveau noyau linux suivi de la ré-installation du driver propriétaire nvidia, celui-ci m'a déjà proposé d'installer les bibliothèques nvidia i386 (j'ai été étonné car jusqu'ici il me signalait juste qu'elles n'étaient pas installées), ce que j'ai accepté (j'ai davantage confiance dans le pilote propriétaire nvidia que dans le pilote des dépôts, qui plante régulièrement et n'avait pas fonctionné avec ma carte nvidia récente).

Par expérience, je sais qu’installer toutes ces bibliothèques nvidia des dépôts au mieux sera une source de problèmes à plus ou moins long terme (quand il y en a beaucoup, tôt ou tard une mise à jour viendra perturber tout ça et ça deviendra un casse-tête - c'est un euphémisme, de réinstaller l'accélération graphique), et au pire ça peux tout me planter (l'accélération graphique) dès le prochain démarrage.

Résultat

Je lance Steam en console pour voir s'il y a des messages d'erreur : $ steam

(pour rappel, je n'ai donc pas installé la bibliothèque nvidia-driver-libs-i386:i386 des dépôts, mais celles i386 installées par le driver propriétaire nvidia)

Le 1er démarrage est très long (plusieurs minutes avec des passages où il semble ne rien se passer, d'où l'intérêt de le démarrer pour la 1ere fois en console pour avoir plus d'informations), car il télécharge des tas de choses puis installe tout ça.

Vient ensuite la saisie du login et du mot de passe (j'en avais déjà un puisque je l'utilisais sur mon ancien PC i386). J'ai testé tous mes anciens jeux et je constate qu'ils fonctionnent tous très bien (même Planetary Annihilation dont le son crachotait précédemment).

Je valide donc. Yees!

Flatpak

Documentation :

Flatpak est un système de virtualisation d’application disponible pour toutes les distributions Linux.

Pour installer Flatpak sous Debian (pas sûr que qt5-default soit utile, mais lu sur un forum) : # apt install flatpak gnome-software-plugin-flatpak qt5-default

Ensuite il est nécessaire de redémarrer votre PC pour que les modifications soient prises en compte.

La version de Flatpak des dépôts Debian (1.4.3-1) ne fonctionnait pas (ou du moins elle semblait fonctionner car elle se lançait, mais les applications plantaient sur un message : “Could not initialize GLX”, pour y remédier, mettre à jour Flatpak comme suit : $ flatpak update (le mot de passe root est ensuite réclamé)

Ajoutez le dépôt Flatpak souhaité :

# flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

L'installation des paquets Flatpak se fait à partir du site-dépôt Flathub : on sélectionne la page du logiciel souhaité depuis le navigateur et l'on clique sur le bouton “INSTALL”, ensuite on choisi “Ouvrir avec “Installation de l'application (par défaut)”, ce qui ouvre gnome-software (aussi dénommé “Logiciel”, s'il ne s'ouvre pas, lancez-le manuellement depuis le menu “Applications” ➜ “Outils système” ➜ “Logiciel”, réactualisez la page internet et cliquez à nouveau sur le bouton “INSTALL”). Sur ce dernier la page s'ouvre sur le logiciel sélectionné, on clique sur “Installer”. Une fois l'installation terminée, un raccourci vers l'application sera copié dans votre menu des applications (reste à le trouver :)), mais on peut aussi lancer l'application depuis gnome-software sur la page de l'application en cliquant sur le bouton “Lancer”.

Les données des applications sont stockées dans : ~./local/share/flatpak/

Snap

Documentation :

Snap est un système de container d'applications (livrées avec leurs dépendances) disponible pour toutes les distributions Linux.

Pour installer snap sous Debian : # apt install snapd

Quelques commandes de base :

  • Aide en ligne de commande : $ snap, ou mieux : $ snap help --all
  • Installation d'un paquet snap (stable) : # snap install nom_du_paquet
  • Changer de version (stable, candidate, beta, edge) : # snap refresh --channel=beta nom_du_paquet
  • Suppression d'un paquet snap : # snap remove nom_du_paquet
  • Liste des paquets snap installés sur votre système : $ snap list
  • Information sur un paquet installé via snap : $ snap info nom_du_paquet

Un paquet snap est installé dans le répertoire /snap. Pour l'exécuter, lancez : $ /snap/bin/nom_du_paquet</small>

Messages d'erreurs du noyau

Je rassemble ici les quelques messages d'erreur du noyau relevés lors du boot, et leur résolution.

Message "Kvm disabled by bios"

À chaque démarrage j'avais plusieurs messages “Kvm disabled by bios” qui ralentissaient d'1 à 2 secondes le démarrage (quand on a un SSD ça en devient frustrant d'avoir gagné d'un côté et de perdre du temps de l'autre pour un truc qu'on n'utilise pas).

Pour désactiver ces messages (merci au forum.pcastuces.com, l'une des méthodes consiste à activer la virtualisation dans le BIOS / l'UEFI - même si on ne l'utilise pas). Sur ma carte mère je ne trouvais pas l'option. Elle se trouve dans la section liée au CPU (dans le menus de gauche : OC (pour Overclocking) ➜ Caractéristique du CPU ➜ SVN Mode : Activé (vs Désactivé). Ensuite au démarrage suivant les messages disparaissent et le démarrage semble un peu plus rapide (au moins il n'y a plus ces messages agaçants :).

/data/web/3d/eb/2d/lebottindesjeuxlinux.tuxfamily.org/htdocs/dokuwiki/data/pages/trucs_persos.txt · Dernière modification: 11/11/2021 10:49 par goupildb