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月18日T17:26:37+02:00 License: CC By-SA Tags: firefox, apparmor, debian, desktop, sécurité, gnome et flatpak Score: 28 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...