Mercredi 19 juin 2019

URL: https://linuxfr.org/users/stephane-gambus/journaux/faciliter-la-configuration-d-un-ordinateur-portable-ou-fixe-sous-debian-gnu-linux-10-buster Title: Faciliter la configuration d’un ordinateur portable (ou fixe) sous Debian GNU/Linux 10 (Buster) Authors: stephane.gambus Date: 2019-06-18T17:26:37+02:00 License: CC by-sa Tags: debian, laptop, desktop, sécurité, gnome, flatpak et flathub Score: 13

Bonjour,

pour faciliter la configuration d’un ordinateur portable (ou fixe) sous Debian GNU/Linux 10 (Buster), j’ai créé un projet sur gitlab nommé my-deb-laptop.

Lien vers le projet: https://gitlab.com/stephane.gambus/my-deb-laptop/tree/master

Il s’agit d’un ensemble de scripts bash orchestrés par le programme run.sh me permettant de réinstaller mon ordinateur facilement sans oublier des actions.

#Le principe

  • faire une installation de base d’une Debian 10 (ne pas saisir de mot de passe root et sélectionner le bureau Gnome)
  • télécharger les scripts avec git (git clone https://gitlab.com/stephane.gambus/my-deb-laptop.git)
  • lancer le programme principal (sudo ./run.sh)

note: Il faut être connecté à internet pour que le script fonctionne.

#Détail sur les actions réalisées par les scripts

##setup bash

  • modification de $HOME/.bashrc
  • dé commente les lignes d’alias pour root et utilisateur
  • dé commente “export LS_OPTIONS=” pour root
  • dé commente “force_color_prompt=yes” pour utilisateur
  • change “grep –color=” depuis ‘auto’ vers ‘always’ pour utilisateur
  • active la completion du bash pour root et utilisateur

##setup vim

  • Modification de $HOME/.vimrc
  • ajout de la ligne “source /usr/share/vim/vim81/defaults.vim”
  • ajout de la ligne “set syntax=on”
  • ajout de la ligne “set mouse=r”

##Setup apt

  • modification de /etc/apt/sources.list
  • commente la ligne “deb cdrom:” line
  • ajout du dépot contrib
  • ajout du dépot non-free
  • ajout du dépot buster-backports

##Installe des packages depuis les dépôts debian

  • main la liste des packages est dans ./my-deb-laptop/lists/apt_debian_main.list
  • contrib la liste des packages est dans ./my-deb-laptop/lists/apt_debian_contrib.list
  • non-free la liste des packages est dans ./my-deb-laptop/lists/apt_debian_non-free.list

##Setup Intel i915 (optimisations carte vidéo intel)

  • création du fichier /etc/modprobe.d/i915.conf
  • ajout de la ligne “options i915 modeset=1”
  • ajout de la ligne “options i915 fastboot=1”
  • ajout de la ligne “options i915 enable_guc=3”

Quelques informations à ce propos: https://01.org/linuxgraphics/downloads/firmware

##Setup apparmor

  • lance la commande: aa-enforce /etc/apparmor.d/*

##Setup du regdomain

  • Mofification de /etc/default/crda

##Setup dnscrypt_proxy

  • dans /etc/dnscrypt-proxy/dnscrypt-proxy.toml avant: server_names = [‘cloudflare’] après: server_names = [‘cloudflare’,’cloudflare-ipv6’,’opendns’]

  • configure dnscrypt-proxy pour toutes les connexions 1) Précise à NetworkManager de ne pas utiliser le DNS fournis par le DHCP en créant le fichier /etc/NetworkManager/conf.d/no-dns.conf

2) redémarre le service NetworkManager.service pour éviter la recréation automatique de /etc/resolv.conf

3) force les requêtes DNS à passer par dnscrypt-proxy remplace tout ce qui est dans /etc/resolv.conf par “nameserver 127.0.2.1”

##Setup flatpak

  • ajoute le dépot flathub sudo /usr/bin/flatpak remote-add –if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo || echo “pb on remote-add”

##Setup Grub si le processeur est un Intel de génération Skylake, alors, ajoute intel_pstate=skylake_hwp à la ligne GRUB_CMDLINE_LINUX_DEFAULT

##Setup IO scheduler

  • modification de /etc/sysfs.conf
  • si un ssd est présent et si il supporte mq-deadline, alors on l’active.

##Setup NetworkManager

  • création du fichier /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf
  • ajout de la ligne [connection]
  • ajout de la ligne wifi.powersave = 3

##Setup Plymouth

  • définit le thème par défaut sur futureprototype

##Setup swapiness, vfs_cache, etc.

  • Modification de /etc/sysctl.d/99-sysctl.conf
  • ajout de la ligne “vm.swappiness=10”
  • ajout de la ligne “vm.vfs_cache_pressure=50”
  • ajout de la ligne “vm.dirty_writeback_centisecs=1500”

##Setup tlp

  • modification de /etc/default/tlp

avant: CPU_HWP_ON_AC=balance_performance après: CPU_HWP_ON_AC=performance

avant: SATA_LINKPWR_ON_AC=”med_power_with_dipm max_performance” après: SATA_LINKPWR_ON_AC=”max_performance”

si un device nvme est present: avant: DISK_DEVICES=”sda sdb” après: DISK_DEVICES=”nvme0 sda sdb”

avant: MAX_LOST_WORK_SECS_ON_BAT=60 après: MAX_LOST_WORK_SECS_ON_BAT=15

si le chassis est un ordinateur portable et, un périphérique bluetooth est present avant: #DEVICES_TO_DISABLE_ON_STARTUP= après: DEVICES_TO_DISABLE_ON_STARTUP=bluetooth

si le périphérique supporte powersupersave avant: PCIE_ASPM_ON_BAT=powersave après: PCIE_ASPM_ON_BAT=powersupersave”

##Setup tmp.mount

  • met le répertoire /tmp en mémoire en guise d’optimisation

##Setup udev

  • création du fichier /etc/udev/rules.d/70-solo_key.rules pour supporter les clés solokeys https://solokeys.com/

##Setup ufw (règles pare-feu)

  • enable ufw
  • default deny incoming
  • default allow outgoing
  • allow udp multicast packets incomming and outgoing
  • allow tor incomming

##Setup unattended-upgrade

  • active les mises à jour automatique

##Setup usbguard

  • modification de /etc/usbguard/usbguard-daemon.conf
  • ajout du login utilisateur dans le parameter IPCAllowedUsers=
  • active le service usbguard.service

https://usbguard.github.io/

##installe des packages flatpak depuis les dépôts flathub

  • la liste des packages installés est dans ./my-deb-laptop/lists/flatpack_flathub.list

##setup firefox ajout de parametres personnels dans le fichier user.js de l’utilisateur

  • Pour avoir une meilleur visibilité sur un écrans FullHD layout.css.devPixelsPerPx 1.3

  • Pour désactiver la géolocalisation geo.enabled false

  • pour définir la page de démarrage browser.startup.homepage https://duckduckgo.com/

  • pour que Netflix fonctionne directement media.gmp-gmpopenh264.enabled true media.eme.enabled true

##setup gnome preference

  • Applique les paramètres présents dans ./my-deb-laptop/lists/gnome_settings.list

##setup usbguard_applet_qt

  • Création du fichier $HOME/.config/USBGuard

##setup xdg_mime (applications par défaut)

  • Applique les paramètres présents dans ./my-deb-laptop/lists/xdg_mime.list

#Pour finir

Il est possible d’avoir un menu plus attrayant en installant l’extension de gnome-shell nommée gnomenu via logiciel (gnome-software), mais je ne l’ai pas automatisé.

Pour ceux qui le souhaitent, après installation de gnomenu, vous pouvez utiliser les configurations ci-dessous en tant qu’utilisateur:

schemadir=”$HOME/.local/share/gnome-shell/extensions/gnomenu@panacier.gmail.com/schemas/” gsettings –schemadir $schemadir set org.gnome.shell.extensions.gnomenu hide-workspaces ‘true’ gsettings –schemadir $schemadir set org.gnome.shell.extensions.gnomenu hide-panel-menu-arrow ‘true’ gsettings –schemadir $schemadir set org.gnome.shell.extensions.gnomenu hide-panel-view ‘true’ gsettings –schemadir $schemadir set org.gnome.shell.extensions.gnomenu hide-panel-apps ‘true’ gsettings –schemadir $schemadir set org.gnome.shell.extensions.gnomenu use-panel-apps-icon ‘false’ gsettings –schemadir $schemadir set org.gnome.shell.extensions.gnomenu use-panel-apps-label ‘false’ gsettings –schemadir $schemadir set org.gnome.shell.extensions.gnomenu use-panel-view-label ‘false’ gsettings –schemadir $schemadir set org.gnome.shell.extensions.gnomenu use-panel-menu-label ‘false’ gsettings –schemadir $schemadir set org.gnome.shell.extensions.gnomenu use-panel-view-icon ‘false’ gsettings –schemadir $schemadir set org.gnome.shell.extensions.gnomenu hide-useroptions ‘true’ gsettings –schemadir $schemadir set org.gnome.shell.extensions.gnomenu hide-shortcuts ‘true’ gsettings –schemadir $schemadir set org.gnome.shell.extensions.gnomenu panel-menu-icon-name “[‘debian-swirl’]” gsettings –schemadir $schemadir set org.gnome.shell.extensions.gnomenu use-panel-menu-label ‘true’

/usr/bin/gnome-shell-extension-tool -d ‘apps-menu@gnome-shell-extensions.gcampax.github.com’ && true # app-menu

/usr/bin/gnome-shell-extension-tool -e ‘gnomenu@panacier.gmail.com’ && true # gnomenu

gsettings set org.gnome.shell enabled-extensions “[‘dash-to-panel@jderose9.github.com’, ‘redshift@tommie-lie.de’, ‘remove-dropdown-arrows@mpdeimos.com’, ‘TopIcons@phocean.net’, ‘alternate-tab@gnome-shell-extensions.gcampax.github.com’, ‘openweather-extension@jenslody.de’, ‘ubuntu-appindicators@ubuntu.com’, ‘EasyScreenCast@iacopodeenosee.gmail.com’, ‘gnomenu@panacier.gmail.com’]”

En espérant que cela pourra vous servir…