LINUX

[darthwound.net]

Dernière édition : 10 février 2018

Préambule




Pourquoi et comment


GNU/Linux, souvent vu sous son nom simplifié "Linux", est un système d'exploitation, au même titre que Windows et macOS. Un système libre, gratuit, sécurisé, personnalisable, performant, et de plus en plus facile à appréhender même si il requiert toujours de changer quelques habitudes et de se documenter.

Pour ma part j'ai commencé à utiliser GNU/Linux de manière exclusive en 2009, après avoir tâté le terrain depuis 2004. Cette page présente "mon" Linux du quotidien et me sert accessoirement comme carnet de notes (qui peut aussi vous être utile, mais nécessite d'avoir au préalable quelques notions).


1) Matériel




1.a) Ordinateur de bureau


Machine orientée gaming, intégralement sous AMD pour le rapport performances/prix mais aussi pour soutenir un outsider qui revient de loin et offrant un excellent support natif de GNU/Linux (Intel fonctionne très bien, mais Nvidia pose beaucoup de soucis avec son pilote propriétaire).

Dernière configuration (2017) :

  • - BOÎTIER: Fractal Design Define R5 noir
  • - ALIMENTATION: BeQuiet PurePower 10 CM 600W
  • - CARTE MÈRE: MSI B350 PC Mate
  • - PROCESSEUR: AMD Ryzen5 1600 3.2GHz
  • - VENTIRAD: Be Quiet Shadow Rock TF2
  • - CARTE GRAPHIQUE: AMD RX580 MSI GamingX 8Go
  • - DISQUE DUR: Seagate Barracuda 1To 7200tpm
  • - MÉMOIRE VIVE: Kingston HyperX Fury 2x8Go 2133MHz
  • - ÉCRAN: Iiyama GE2488HS FreeSync 24"
  • - CLAVIER: Zowie Celeritas II
  • - SOURIS: Zowie EC2-B
  • - CASQUE: Marshall Major2 PitchBlack



1.b) Ordinateur portable


Thinkpad E540-20C600JDFR. Les Thinkpads (autrefois conçus par IBM et maintenant par Lenovo), robustes et ayant une longue durée de vie, sont très prisés des linuxiens car parfaitement compatibles, et largement suffisants même en entrée de gamme, sauf pour les gros jeux gourmands.

Celui-là me sert au travail et pendant les longs voyages.


2) Logiciel




2.a) Distribution


Après plusieurs années d'hésitation en restant principalement sur Windows, j'avais finalement décidé de débuter l'aventure avec Ubuntu, puis j'ai lentement pris de l'expérience avec Debian (et Crunchbang -RiP-), ensuite survolé Arch par curiosité, et enfin je me suis longtemps posé avec Fedora (de F15 à F27). Entre-temps j'avais créé "Viperr", une variante de Fedora avec Openbox à la sauce Crunchbang (projet qui existe encore, désormais maintenu par F.Thouin). Le tout avec de grosses périodes de "distro-hopping" sur mes PC secondaires ou des machines virtuelles pour tester un tas de distributions plus ou moins connues.

Mais aujourd'hui je tourne avec openSUSE. Non, il ne s'agit pas d'ouvrir le fameux apéro dont raffole mamie. C'est une distribution allemande, une des plus anciennes, restant éternellement dans l'ombre et apportant pourtant son lot d'innovations et d'outils, à elle-même et à d'autres.

J'ai la version "Leap" (publication fixe) sur mon laptop car très stable et nécessitant peu de maintenance, et la version "Tumbleweed" (publication continue) sur mon desktop, la "rolling-release" offrant toutes les nouveautés très rapidement et ce en étant solidement testée (mais le risque zéro n'existe pas).

Cette distro affiche une qualité exemplaire, point d'amateurisme ici, elle dispose de beaucoup de paquets qu'ils soient officiels ou communautaires, et la prise en main est assez identique à celle de Fedora.

Son mantra est "those who do, decide" à savoir "ceux qui font, décident", et c'est vrai : la communauté est très écoutée et tout est fait pour que chacun puisse apporter sa pierre à l'édifice sans lui mettre des bâtons dans les roues. Un vrai bol d'air frais quand on compare avec d'autres distros soumises à une simili-dictature, je ne me suis jamais senti autant encouragé à contribuer qu'avec openSUSE.

Site web d'openSUSE



2.b) Environnement


Ceux qui me connaissent depuis suffisament longtemps savent donc combien je suis lié à Openbox, qui est un régal à bricoler et utiliser. Après m'être égaré chez bien d'autres, comme Xfce ou AwesomeWM, je suis revenu à GNOME, installé par défaut sur bon nombre de distros.

Bien qu'à ses débuts la version 3 fut contestée pour son ergonomie atypique, l'ensemble a bien évolué, et il est même assez simple de le moduler selon ses désirs. Plutôt rapide, élégant, personnalisable, intuitif, et d'une certaine façon minimaliste, cet environnement me convient très bien aujourd'hui, sous réserve d'y adosser parfois quelques extensions. GNOME 3 nécessite d'être manipulé quelques jours afin de comprendre et apprécier son "workflow", mais si vous préférez un fonctionnement à la macOS, Windows, ou même GNOME 2, ces fameuses extensions aident grandement.

C'est aussi un peu le choix de la facilité car je n'ai plus trop le temps de bidouiller, et l'écosystème préalablement configuré répond à la majorité de mes besoins. Je râle parfois sur certaines décisions prises mais il s'avère qu'elles ne me gênent pas plus que ça à l'utilisation. Et bien qu'historiquement associée à KDE, openSUSE intègre parfaitement GNOME, à tel point que SLE (SUSE Linux Enterprise, la distribution commerciale de la maison-mère) l'adopte dorénavant par défaut également.

Site web de GNOME

3) Post-Installation




Avant-propos


Ce chapitre est nettement spécifique à openSUSE (Tumbleweed) et GNOME !
Il peut convenir à d'autres systèmes mais nécessite d'être amplement adapté.

Ces procédures sont taillées pour mes besoins, vous pouvez néanmoins vous en inspirer.

Les commandes sont à employer en terminal utilisateur, le mot de passe "root" pourra être demandé.

Je pars du principe que le compte utilisé possède des droits "sudo", si ce n'est pas le cas, pour employer des commandes en tant qu'admin il faut remplacer sudo commande par su -c 'commande'.




3.a) Mise à jour du système


C'est la première chose à faire ! On utilise pour cela "Zypper", le gestionnaire de paquets dédié.

sudo zypper ref && sudo zypper dup

Attention : "dup" -> "Dist UPgrade" -> "mettre à niveau la distribution". C'est uniquement pour Tumbleweed, Leap utilise zypper up. Tumbleweed fonctionne par "snapshots", d'où le système de mise à niveau.

Autre remarque, pour l'instant sous Tumbleweed n'utilisez surtout pas les applications graphiques (YaST, GNOME Software, KDE Discover...) pour mettre à jour car elles ne fonctionnent pas comme un zypper dup mais comme un zypper up et peuvent donc casser votre système.

Le "ref" est pour "REFresh", ça actualise les dépôts avant de procéder à la mise à jour.

PS : l'argument --no-allow-vendor-change est intégré par défaut avec zypper dup depuis l'été 2017.




3.b) Dépôts complémentaires


Note : la commande zypper lr permet d'afficher tous les dépôts, "lr" étant pour "List Repositories".

"Packman" contient pas mal de codecs et logiciels additionnels. C'est un peu l'équivalent de "RPM Fusion" chez Fedora. Attention toutefois, les responsables d'openSUSE ont tendance à déconseiller son utilisation qui peut en théorie engendrer des conlits, malgré cela il reste nécessaire pour des codecs propriétaires comme h264 pour les mp4. Il faut savoir que Packman peut être divisé en quatre dépôts indépendants : "Essentials" pour les codecs et logiciels courants, "Multimedia" pour plus de logiciels spécialisés, "Extra" pour divers paquets dont des pilotes réseau, et "Games" pour une sélection de jeux. J'ai donc tendance à n'activer que le sous-dépôt Essentials plutôt que le Packman global regroupant les quatre que je viens de mentionner. Pour ce faire :

sudo zypper ar -f http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/Essentials/ packman-essentials

On peut ajouter le dépôt de Google Chrome pour utiliser ce navigateur et son support Chromecast/Netflix/AmazonVideo/autres :

sudo zypper ar -f http://dl.google.com/linux/chrome/rpm/stable/x86_64 google-chrome

Le "ar" signifie "Add Repository" soit "ajouter un dépôt". Le "-f" permet de l'actualiser. Ces dépôts tiers demanderont peut-être de valider leur clé d'authentification plus tard. Une des grandes forces d'openSUSE ce sont aussi ses dépôts communautaires ("home:") dans OBS (similaires aux systèmes PPA d'Ubuntu ou AUR d'Archlinux), mais je vous conseille d'attendre que les paquets arrivent dans les dépôts officiels (demandez au mainteneur ou faites-le vous-même, avec le site OBS c'est très simple, clônez le dépôt qui vous intéresse puis ouvrez une requête).

Il existe aussi des dépôts semi-officiels ("project_name:") pouvant répondre à des besoins particuliers, à vos risques et périls :

Liste des dépôts "projects"

Pour rechercher des paquets, tous dépôts confondus (officiels, semi-officiels, communautaires) :

Page openSUSE Software

Pour explorer tous les paquets proposés par Packman et ses sous-dépôts :

Archives Packman



3.c) Ajout de paquets


On ajoute les logiciels et pilotes dont on a besoin. Certains sont peut-être déjà installés mais ça ne pose aucun soucis.

sudo zypper in google-chrome chrome-gnome-shell gnome-todo steam steamtricks ca-certificates-steamtricks gnome-tweak-tool gnome-disk-utility baobab gnome-characters gnome-screenshot dconf-editor dconf gnome-clocks mailnag gnome-weather libreoffice gnome-calendar filezilla gimp gnome-mpv gnome-boxes deja-dup python3 screen cpupower rkhunter lsb-release adobe-source*pro-fonts hack-fonts vollkorn-fonts google-croscore-fonts gtk2-engine-murrine gstreamer-plugins-libav gstreamer-plugins-vaapi gstreamer-plugins-base gstreamer-plugins-bad gstreamer-plugins-good gstreamer-plugins-good-extra gstreamer-plugins-ugly gnome-session-wayland libgstwayland-1_0-0 libgstwayland-1_0-0-32bit libva-wayland2 libva-wayland2-32bit libwayland-egl1 libwayland-egl1-32bit Mesa Mesa-32bit Mesa-dri Mesa-dri-32bit Mesa-gallium Mesa-gallium-32bit Mesa-libEGL1 Mesa-libEGL1-32bit Mesa-libGL1 Mesa-libGL1-32bit Mesa-libGLESv2-2 Mesa-libOpenCL Mesa-libd3d Mesa-libd3d-32bit Mesa-libglapi0 Mesa-libglapi0-32bit libvulkan1 libvulkan1-32bit libvulkan_radeon libvulkan_radeon-32bit vulkan xf86-video-amdgpu libdrm_amdgpu1 libdrm_amdgpu1-32bit libvdpau_radeonsi libvdpau_radeonsi-32bit

Le "in" est bien évidemment pour "INstall", pas besoin de s'étendre là-dessus.

Si vous avez activé Packman Essentials mais que vous n'arrivez pas à lire les fichiers avec codecs proprios, essayez ceci :

sudo zypper dup --allow-vendor-change --from packman-essentials

Pour ajouter quelques extras de création multimédia (MAO, dessin avec tablette, vidéo...) :

sudo zypper in audacity lmms mypaint openshot screencast



3.d) Suppression de paquets


À moins d'avoir sélectionné aux petits oignons en mode expert les paquets téléchargés par YaST lors de l'installation, openSUSE propose par défaut beaucoup de logiciels. Un grand nombre d'entre eux m'étant superflus (voire à éviter, comme GNOME Software et PackageKit), autant les nettoyer :

sudo zypper rm -u bijiben cheese cvs empathy git-gui gnome-chess gnome-contacts gnome-dictionary gnome-documents gnome-font-viewer gnome-mahjongg gnome-maps gnome-mines gnome-music gnome-packagekit gnome-photos gnome-power-manager gnome-software gnome-sudoku iagno ibus icedtea-web kde-print-manager lftp lights-off lightsoff oxygen5-icon-theme-large patterns-gnome-gnome_games polari quadrapassel simple-scan subversion swell-foop system-config-printer tigervnc totem vinagre vino xboard

Le "rm" est pour "ReMove" donc "supprimer", le "-u" nettoie les dépendances en parallèle si elles ne servent pas à d'autres paquets.




3.e) Gestion des verrous


Zypper a la fâcheuse (c'est ce que l'on pense au premier abord) manie lors des mises à jour de vouloir réinstaller des paquets que l'on a supprimé. Ce n'est pas un bug, cela s'explique par le fait que ces paquets soient listés comme "recommandés" (mais pas forcément indispensables). Au lieu de faire un zypper dup --no-recommends qui pourrait casser votre système, il est plus sain d'utiliser le système de verrouillage de Zypper :

sudo zypper al bijiben cheese cvs empathy git-gui gnome-chess gnome-contacts gnome-dictionary gnome-documents gnome-font-viewer gnome-mahjongg gnome-maps gnome-mines gnome-music gnome-packagekit gnome-photos gnome-power-manager gnome-software gnome-sudoku iagno ibus icedtea-web kde-print-manager lftp lights-off lightsoff oxygen5-icon-theme-large patterns-gnome-gnome_games polari quadrapassel simple-scan subversion swell-foop system-config-printer tigervnc totem vinagre vino xboard

Le "al" veut dire "Add Locks", afin d'en retirer on passera par "rl" pour "Remove Locks". Et afficher ceux en cours se fera par "ll" pour "List Locks". Attention, avant d'ajouter des verrous, vérifiez que rien d'important n'en dépende. Mais en général Zypper vous prévient.




3.f) Paramétrage du bureau


Ces quelques commandes permettent de configurer (une partie) de GNOME sans avoir à y passer des heures. Il faudra tout de même vérifier que chaque logiciel est bien réglé, et que tout correspond à vos préférences dans "Paramètres" et "Ajustements", ainsi que dans "Éditeur dconf".

dconf write /org/gnome/gnome-session/auto-save-session "'false'" && dconf write /org/gnome/desktop/privacy/old-files-age "'14'" && dconf write /org/gnome/desktop/privacy/remember-recent-files "'false'" && dconf write /org/gnome/desktop/privacy/remove-old-temp-files "'true'" && dconf write /org/gnome/desktop/privacy/remove-old-trash-files "'true'" && dconf write /org/gnome/gedit/preferences/editor/background-pattern "'grid'" && dconf write /org/gnome/gedit/preferences/editor/bracket-matching "'true'" && dconf write /org/gnome/gedit/preferences/editor/display-line-numbers "'true'" && dconf write /org/gnome/gedit/preferences/editor/display-overview-map "'true'" && dconf write /org/gnome/gedit/preferences/editor/highlight-current-line "'true'" && dconf write /org/gnome/gedit/preferences/editor/scheme "'oblivion'" && dconf write /org/gnome/shell/overrides/attach-modal-dialogs "'true'" && dconf write /org/gnome/desktop/wm/preferences/button-layout "'close,minimize,maximize:appmenu'" && dconf write /org/gnome/mutter/center-new-windows "'true'" && dconf write /org/gnome/mutter/auto-maximize "'true'" && dconf write /org/gnome/nautilus/preferences/click-policy "'single'" && dconf write /org/gnome/nautilus/preferences/executable-text-activation "'ask'" && dconf write /org/gnome/shell/app-picker-view "'1'" && dconf write /org/gnome/shell/window-switcher/app-icon-mode "'app-icon-only'" && dconf write /org/gnome/desktop/peripherals/mouse/accel-profile "'flat'" && dconf write /org/gnome/desktop/wm/preferences/titlebar-uses-system-font "'false'" && dconf write /org/gnome/desktop/wm/preferences/titlebar-font "'Cantarell Bold 10'" && dconf write /org/gnome/desktop/interface/font-name "'Cantarell 12'" && dconf write /org/gnome/desktop/interface/document-font-name "'Vollkorn 12'" && dconf write /org/gnome/desktop/interface/monospace-font-name "'Hack 12'" && dconf write /org/gnome/settings-daemon/plugins/xsettings/hinting "'slight'" && dconf write /org/gnome/settings-daemon/plugins/xsettings/antialiasing "'grayscale'"

On peut configurer le thème du terminal via ce même type de commandes "dconf", mais pour une fois il est moins fastidieux de le faire à la main car sinon cela nécessiterait plusieurs manipulations préparatoires. Alors on va au plus simple : clic-droit sur le terminal, "Profils" puis "Préférences du profil" et enfin onglet "Couleurs". On décoche "Utiliser les couleurs du thème système, on sélectionne "Gris sur noir", et la palette "Tango". Sinon pour un terminal plus "beau" mais surtout plus reposant, on peut utiliser le schéma de couleurs que j'ai établi en me basant sur la palette "Smyck" :

wget -qO- https://raw.githubusercontent.com/DarthWound/smyck-gnome-terminal/master/smyck-terminal.sh | sh

Pour l'interface globale, si on veut quelquechose de plus fidèle aux couleurs d'openSUSE :

sudo zypper in metatheme-geeko-common origami-icon-theme

...ou cet ensemble que j'ai créé, utilisant une palette plus complète et un style "material design" moderne :

Mon thème Erdlöwe GTK

...et enfin pour les fans de monochrome sombre, toujours sur une base "material design" :

Le formidable thème Equilux

WIP NETWORK MANAGER ET YAST




3.g) Finalisation


N'hésitez pas à fouiner dans les options de Zypper avec zypper --help, c'est un très bon outil. Voici un récapitulatif de commandes (en utilisant "sudo" devant) qu'il faut connaître : zypper in "nom_du_paquet" pour installer, zypper rm "nom_du_paquet" pour supprimer, zypper ref puis zypper dup pour mettre à jour Tumbleweed, zypper se -d "mot_clé" pour chercher en prenant en compte les descriptions, zypper info "nom_du_paquet" pour obtenir des détails, zypper ll pour lister les verrous. Chaque option possède sa propre page "--help", et donc ses propres paramètres. Les allergiques à la ligne de commande peuvent utiliser YaST (sauf pour mettre à jour !), mais évitez "GNOME Software" et autres logiciels tiers.

Il faut maintenant redémarrer (session Wayland en choisissant GNOME sans "Xorg"), rapatrier ses données personnelles, activer les comptes en ligne, et régler les différentes options des logiciels installés. Mais ce n'est pas terminé ! Rendez-vous au chapitre suivant afin de peaufiner l'ensemble...


4) Astuces




Avant-propos


Ce chapitre n'est pas totalement spécifique à openSUSE et peut convenir à d'autres distributions.




4.a) Liste de diffusion Factory


Tumbleweed, de par sa nature "rolling release", bouge beaucoup. Je suggère à tout utilisateur de ce système de s'abonner à la "mailing list" dédiée, c'est pratique pour connaître les informations importantes et les problèmes potentiels liés à chaque nouveau snapshot. Je conseille d'ailleurs d'attendre un ou deux jours après l'arrivée d'un nouveau snapshot pour l'appliquer, afin d'être au courant du moindre soucis, car même si Tumbleweed est robuste et bénéficie d'un bon contrôle qualité rien n'est infaillible. Pour s'inscrire il suffit d'envoyer un email vide à "opensuse-factory+subscribe<arobase>opensuse<point>org" et de suivre les instructions reçues par la suite. Attention tout de même, il y a beaucoup de messages qui arrivent chaque jour dans cette liste, pour éviter d'être noyé vous devriez créer une adresse email consacrée à cet usage.

Archives openSUSE Factory



4.b) Prévention et réparation


Les précautions à prendre lorsqu'on utilise Tumbleweed sont donc de surveiller cette liste de diffusion, consulter les changelogs (annoncés dans la liste de diffusion, vous pouvez aussi voir mon bashrc à la section 4h et mes scripts argos à la section 4j) et bien veiller à ne passer que par zypper dup pour mettre à jour. À ce propos, vous pouvez utiliser "screen" pour mettre à jour dans un terminal isolé qui ne se fermera pas si quelquechose se passe mal, par exemple : su -c 'zypper ref && screen -q zypper dup'. Il faut également, quand c'est possible, éviter les paquets propriétaires fortement liés au noyau comme les pilotes Nvidia ou encore VirtualBox, ils sont la source la plus fréquente de problèmes que j'ai pu voir chez les autres.

Bien que Tumbleweed soit robuste, il peut arriver qu'une mise à jour casse le système. C'est extrêmement rare, mais ça peut arriver. Dans le cas où l'on a plus accès à l'interface graphique, on peut afficher un TTY (Ctrl+Alt+F1àF7) et tenter de réparer en ligne de commande, attention le pavé numérique ne fonctionnera pas, bon à savoir quand on doit taper un mot de passe. On peut aussi choisir de démarrer sur un kernel plus ancien. Enfin, par défaut Tumbleweed s'installe avec une partition Btrfs pour le système, cela ouvre les portes d'une fonction bien pratique et peu commune : pouvoir revenir en arrière (rollback) sur un snapshot différent. Il faudra ici différencier les snapshots de mise à jour au format YYYYMMDD n'ayant finalement rien à voir, et les snapshots dont je parle ici, issus de Snapper, qui sont des points de sauvegarde du système pris à une date/heure précise, en général avant et après avoir manipulé des paquets avec Zypper ou modifié certains fichiers. On peut aussi créer des snapshots manuellement.

Documentation complète de Snapper

Si le problème rencontré n'est pas critique, on peut aussi attendre la prochaine mise à jour qui devrait corriger les erreurs. Mais pour cela, il faut que l'équipe en charge d'openSUSE soit au courant. Si le problème concerné ne figure ni dans la liste de diffusion, ni dans Bugzilla, ni sur la page Reddit (ce dernier remplace formidablement bien les forums, à condition de parler anglais), alors vous devriez initier la discussion vous-même.




4.c) Conseils sur la sécurité


Linux est très sécurisé, pour plusieurs raisons : la structure du système, le code open-source, moins ciblé car moins utilisé, etc... Il n'y a d'ailleurs pas de "véritable" antivirus pour Linux, ceux qui existent sont pour les serveurs ou pour principalement scanner des fichiers à destination de Windows. Mais dire qu'il n'y a aucune menace contre Linux est faux. Il arrive qu'il y ait des failles et du code malicieux de temps en temps. Alors même si il est inutile d'être parano et d'installer des suites de sécurité comme l'on fait sous Windows, un petit contrôle de temps en temps ne fait pas de mal.

Analyser avec "rkhunter" (le paquet éponyme doit être installé - beaucoup de "warning" sont des faux positifs, vérifiez avec le log) :

sudo rkhunter -c --noappend-log

sudo cat /var/log/rkhunter.log | grep -i "warning"

Analyser avec "lynis", un script plutôt génial :

Documentation officielle

Pour se prémunir des "coin-miners" qui exploitent les ressources d'une machine pour s'enrichir :

µBlock Origin pour Chrome/Chromium/dérivés - le meilleur adblocker, activez le filtre "resource abuse"
µBlock Origin pour Firefox - même commentaire qu'au-dessus
Liste de domaines malicieux - à rajouter à la fin du fichier "/etc/hosts", liste souvent actualisée

Plus généralement, on peut, si on en a pas besoin, désactiver SSH, Samba, le partage de bureau, et toutes ces choses qui donnent accès à votre machine. Sur ce point, openSUSE fait un excellent boulot puisque les éléments que je viens de citer sont désactivés par défaut.

Pour clore cette partie, il ne faut pas oublier que la règle prioritaire c'est de faire attention aux sites que l'on fréquente et aux différentes choses que l'on télécharge/installe quand ça ne vient pas des dépôts officiels. Peu importe le système que l'on utilise. Si vous voulez approfondir, le net regorge de tutoriaux détaillant ce que l'on peut effectuer pour sécuriser encore un peu plus Linux, mais encore une fois : inutile de devenir parano.




4.d) Sauvegarde de fichiers


Il est primordial de sauvegarder les données importantes (documents, photos...). Avec "Déjà-Dup" c'est enfantin. On choisit ce que l'on veut sauvegarder, à quelle fréquence, à quel endroit (serveur ftp, nextcloud, services "drive", disque dur ou clé usb...), et on ne s'en occupe plus.

sudo zypper in deja-dup

Il n'y a plus qu'à le lancer, le configurer, puis l'activer. L'interface est très claire. On peut ensuite restaurer l'intégralité des fichiers ou seulement ceux que l'on a sélectionné, revenir à des versions antérieures, etc... en plus les données sont cryptées donc vous seul y avez vraiment accès.

PS : je conseille quand même de copier manuellement (ailleurs) les fichiers importants de temps en temps au cas où le logiciel rencontre un bug.




4.e) YaST et Wayland


Le couteau suisse d'openSUSE (qui n'est pas indispensable pour tout le monde) ne fonctionne pas encore sous Wayland car ce dernier empêche les applications graphiques de se lancer en mode admin si elles ne respectent pas certaines procédures. Il existe tout de même des solutions :

- Passer outre avec la commande xhost +SI:localuser:root avant de lancer YaST. Quand on a fini on réactive la sécurité avec xhost -SI:localuser:root. Même si c'est une méthode que beaucoup emploient faute de mieux, je n'aime pas virer des fonctions censées protéger mon système.

- Utiliser une session "Xorg" juste pour ça, mais c'est contraignant et excessif.

- Utiliser le mode ncurses (console graphique, à piloter au clavier), ce que je préfère :

sudo yast2 --ncurses



4.f) Gouverneur CPU


Pour ceux qui ont une utilisation intensive de leur processeur, il est intéressant de passer en profil "hautes performances". Cela consomme un peu plus mais permet d'utiliser les fréquences maximales (définies par le fabricant, ce n'est pas de l'overclocking). Il est en effet dommage d'avoir un processeur cadencé à 3,20GHz pour ne l'exploiter qu'à 1,80GHz. Après avoir installé le paquet "cpupower" il faut suivre ces instructions :

Connaître les fréquences actuelles :

sudo cpupower -c all frequency-info | grep -P 'current CPU frequency'

Basculer en mode "performance" (réutiliser ensuite la commande précédente pour voir si les fréquences ont bien changé) :

sudo cpupower -c all frequency-set -g performance

Ce changement n'est cependant appliqué que pour la session en cours. On créé un service qui se lancera à chaque démarrage :

cat << EOF | sudo tee /etc/systemd/system/cpupower.service
[Unit]
Description=CPU performance mode

[Service]
Type=oneshot
ExecStart=/usr/bin/cpupower -c all frequency-set -g performance

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload

sudo systemctl enable cpupower.service



4.g) Serveurs DNS


Conserver les DNS par défaut d'un FAI n'est pas toujours une bonne idée. Entre censure, bridage, et magouilles, l'internet français est parfois bien triste. Je ne vais pas expliquer comment héberger ses propres serveurs DNS mais rester dans la simplicité en proposant d'aller chez des tiers. Avec GNOME, il suffit d'aller dans "Paramètres > Réseau", choisir sa connexion, cliquer sur la roue, et se rendre dans les onglets "IPv4" et "IPv6". Dans la section "Méthode" sélectionnez "Automatique DHCP", et à la section "DNS" décochez "Automatique", puis copiez-collez les adresses suivantes :

  • Google (les plus utilisés, mais c'est faire confiance à Google et aux USA) :
  • IPv4 : 8.8.8.8, 8.8.4.4
  • IPv6 : 2001:4860:4860::8888, 2001:4860:4860::8844
  • Page Google Public DNS

ou

  • French Data Network (association oeuvrant pour la liberté d'internet) :
  • IPv4 : 80.67.169.12, 80.67.169.40
  • IPv6 : 2001:910:800::12, 2001:910:800::40
  • Page French Data Network DNS
  • Autres fournisseurs populaires :
  • OpenDNS (méfiance : appartient désormais à Cisco, collaborateur de la NSA)
  • OpenNIC (nécessite de changer régulièrement les adresses pour être branché sur les plus proches)

Changer de serveurs DNS ne sert pas à se rendre anonyme, seulement avoir un accès potentiellement plus rapide, plus sécurisé, et plus libre. Pour l'anonymat, il faut regarder du côté des VPN et proxies, ou de "Tor". Autre remarque, plusieurs études ont montré que certains FAI détournent le trafic en redirigeant les résolveurs tiers vers les leurs, ce qui équivaut à envoyer les requêtes via les DNS du FAI malgré le fait de les avoir changé.




4.h) Fichier bashrc


Il permet de changer la présentation de la console et d'ajouter des fonctions pratiques. Par exemple il suffira de taper "dn" pour basculer entre thème clair et thème sombre, "chup" pour vérifier si un nouveau snapshot est dispo, et "twup" pour mettre à jour. Copiez-collez ce bloc dans le terminal :

cat > ~/.bashrc << "EOF"
# .bashrc

# VARIABLES
gsk1="org.gnome.desktop.interface gtk-theme"
gsk2="org.gnome.desktop.wm.preferences theme"
gsc=$(gsettings get $gsk1)
TWSSA=$(wget -qO - "http://download.opensuse.org/tumbleweed/repo/oss/media.1/products" | grep -oP " \K\d+")
TWSSC=$(lsb_release -sr)

# FUNCTIONS
daynight() {
if [ "$gsc" == "'Adwaita'" ]
then
gsettings set $gsk1 'Adwaita-dark' && gsettings set $gsk2 'Adwaita-dark'
elif [ "$gsc" == "'Adwaita-dark'" ]
then
gsettings set $gsk1 'Adwaita' && gsettings set $gsk2 'Adwaita'
fi
}
snapshot() {
if [ "$TWSSA" == "$TWSSC" ]
then
echo "Aucun nouveau snapshot disponible."
elif [ "$TWSSA" != "$TWSSC" ]
then
echo "Snapshot \"$TWSSA\" disponible !"
fi
}

# ALIASES
alias dn="daynight"
alias chup="snapshot"
alias twup="su -c 'zypper ref && screen -q zypper dup'"
alias bashrc="xdg-open ~/.bashrc"

# Custom prompt PS1
export PS1="\[$(tput bold)\][\\$][\w]:\[$(tput sgr0)\] \[$(tput sgr0)\]"
EOF

Pour uniformiser la présentation entre console utilisateur et console administrateur :

su -c 'cat > ~/.bashrc << "EOF"
# .bashrc

# Custom prompt PS1
export PS1="\[$(tput bold)\][\\$][\w]:\[$(tput sgr0)\] \[$(tput sgr0)\]"
EOF'

Il suffit de fermer tous les terminaux ouverts et d'en relancer un pour que ce soit effectif.

Pour créer votre propre "prompt PS1" facilement :

Outil en ligne "bashrc-generator"



4.i) Notifications d'emails


Mailnag est un outil permettant de recevoir des notifications lorsque de nouveaux emails non-lus arrivent, sans qu'il soit nécessaire de laisser ouvert le programme de courrier électronique. Il est dans les dépôts donc la procédure est simple et connue :

sudo zypper in mailnag

Il n'y a plus qu'à lancer l'application et la configurer. Normalement Mailnag se lance automatiquement au démarrage, vérifiez que c'est bien le cas dans le logiciel "Ajustements" (GNOME Tweak Tool). Si vous avez défini des comptes en ligne via les paramètres de GNOME, il est plus simple de lier Mailnag à ces comptes (c'est d'ailleurs obligatoire pour Gmail si on ne veut pas créer un mot de passe d'application dans les options du compte Google), hélas le plugin n'est pour l'instant accessible que sur GitHub, mais l'installation est rapide (requiert Python) :

su -c 'mkdir -p /opt/mailnag-goa/ && wget -O /opt/mailnag-goa/mailnag-goa.zip https://github.com/pulb/mailnag-goa-plugin/archive/master.zip && unzip /opt/mailnag-goa/mailnag-goa.zip && chmod -R o+x /opt/mailnag-goa/ && python3 /opt/mailnag-goa/mailnag-goa-plugin-master/setup.py install'



4.j) Extensions GNOME


GNOME est plus flexible qu'il n'y paraît grâce à son système d'extensions. Après avoir installé le paquet "chrome-gnome-shell" (le nom est trompeur, cela sert aussi pour Firefox et autres), il suffit de se rendre sur le site officiel. Je détaille plus bas une liste de celles que je suggère volontiers.

Concernant l'extension "Argos", c'est vraiment très puissant, on peut quasiment tout faire avec :

Mes scripts pour Tumbleweed
La documentation

Sélection 1 - pour apporter quelques fonctions pratiques sans modifier l'ergonomie originale :

Sélection 2 - comme la première mais en se rapprochant d'une ergonomie type "Microsoft Windows" :

Sélection 3 - comme la première mais en se rapprochant d'une ergonomie type "Apple macOS" :

Sélection 4 - comme la première mais en se rapprochant d'une ergonomie type "Ubuntu Unity" :

Il n'y a plus qu'à régler les différentes options de chaque extension dans "Ajustements" ou directement sur le site officiel.




4.k) Trucs en vrac


Je répertorie dans cette section les astuces moins importantes et nécessitant peu d'explications.


- Zypper en français :

Contrairement à pas mal d'autres gestionnaires de paquets, Zypper "parle" français. Sauf quand on est en terminal root. Pour résoudre ça :

su -c 'echo "export LANG=french" > /root/.bash_profile'

- Informations au démarrage :

Après avoir allumé l'ordinateur, on voit une plus ou moins (souvent moins) jolie animation gérée par Plymouth. En appuyant sur "Échap" on a du texte permettant de voir si chaque étape se déroule correctement, ça peut être utile ou rassurant. Pour voir ce texte par défaut au lieu de l'animation :

sudo plymouth-set-default-theme details -R

- Optimisation de Steam :

Steam sur Linux connaît parfois quelques soucis, surtout au niveau des bibliothèques qu'il utilise et qui sont souvent obsolètes. "Steamtricks" résolvant la majorité de ces dysfonctionnements, ne toucher à rien et se contenter de l'installer est la meilleure chose à faire :

sudo zypper steamtricks ca-certificates-steamtricks

Mention honorable pour "LSI - Linux Steam Integration" du projet Solus, que j'utilisais quand j'étais sur Fedora. C'est ce qu'il y a de mieux pour profiter de Steam sans se prendre la tête. Hélas pas encore disponible officiellement pour openSUSE, c'est tout de même un outil à garder en mémoire. Cela étant dit, ayant Steamtricks, je n'ai pour l'instant pas rencontré de difficultés m'ayant fait regretter de ne pas avoir LSI sous la main. LSI sur GitHub


- Réinitialisation involontaire de Steam :

Encore Steam. Un bug connu depuis plusieurs mois et franchement énervant réside dans le fait que systématiquement Steam va se remettre en anglais et redemander les identifiants plus autorisation de SteamGuard. La solution consiste à retirer les droits d'écriture à un fichier :

cd .steam/ && chmod a-w registry.vdf

Remarque : après cette modification, si vous quittez Steam pendant la mise à jour ou installation d'un jeu, il faudra la recommencer.


- Installation de Minecraft :

Bien qu'ayant été acquis par Microsoft et ayant parfois pris de mauvaises directions, le célèbre jeu de Mojang reste un incontournable sur lequel il est toujours agréable de revenir. Pour l'installer rapidement et de façon à ce qu'il soit accessible comme n'importe quelle application :

su -c 'zypper in java-1_8_0-openjdk-headless && wget -O /usr/share/pixmaps/minecraft.png https://i.imgur.com/OlFamPM.png && mkdir -p /opt/minecraft/ && wget -O /opt/minecraft/Minecraft.jar http://s3.amazonaws.com/Minecraft.Download/launcher/Minecraft.jar && chmod -R o+x /opt/minecraft/'

su -c 'cat > /usr/share/applications/minecraft.desktop << "EOF"
[Desktop Entry]
Exec=java -jar /opt/minecraft/Minecraft.jar
Path=/opt/minecraft/
Icon=minecraft
Terminal=false
Type=Application
Name=Minecraft
EOF'

- Déchirement de l'écran dans Google Chrome :

Dans certains cas Chrome va subir du "screen tearing" quand on fait défiler du contenu ou quand on regarde des vidéos. Si ce phénomène n'apparaît que dans le navigateur, il suffit de se rendre à l'adresse chrome://flags et d'activer l'option "Override software rendering list". Par contre si cela touche tout le système, alors c'est plus complexe et il vous faudra chercher sur internet les différents problèmes de synchronisation verticale.


5) Liens




Quelques sites intéressants autour de Linux