Les informations ci-dessous permettent de personnaliser, d'améliorer et de corriger les installations de PC sous Linux. Certaines manipulations touchent des fichiers systèmes, merci de faire attention lors de l'exécution des commandes indiquées et de la manipulation des fichiers. Vérifiez bien si il faut adapter les commandes à votre cas particulier !

DANS TOUS LES CAS “UYFB” > “USE YOUR FUCKING BRAIN”

https://doc.ubuntu-fr.org/personnaliser_livecd https://community.linuxmint.com/tutorial/view/1784 https://lehollandaisvolant.net/linux/checklist/ https://lehollandaisvolant.net/linux/checklist/

Installer les prerequis :

sudo aptitude install squashfs-tools genisoimage

Préparer les dossiers de travail :

ISO=linuxmint-20.3-cinnamon-64bit.iso
mkdir mylivecd
cp ${ISO} mylivecd/
cd mylivecd
mkdir mnt
sudo mount -o ro,loop ${ISO}  mnt/
sudo rsync --exclude=/casper/filesystem.squashfs -a mnt/ extracted
sudo unsquashfs mnt/casper/filesystem.squashfs
sudo mv squashfs-root edit

Préparer la connexion internet

sudo cp /etc/resolv.conf edit/etc/
sudo cp /etc/hosts edit/etc/

Préparer l'environnement chroot

sudo mount --bind /dev/ edit/dev
sudo chroot edit
mount -t proc none /proc
mount -t sysfs none /sys
mount -t devpts none /dev/pts
export HOME=/root
export LC_ALL=C

Mettre des sources FR de ubuntu.

Modifier /etc/apt/sources.list.d/official-package-repositories.list. “fr.archive”

deb http://fr.archive.ubuntu.com/ubuntu XXXX main restricted universe multiverse
deb http://fr.archive.ubuntu.com/ubuntu XXXX main restricted universe multiverse
deb http://fr.archive.ubuntu.com/ubuntu XXXX main restricted universe multiverse

mettre à jour la cache

apt-get update

Customiser l'environnement

apt-get install console-data

select keymap from keylist ()

azerty french

/etc/default/locale

LANG=fr_FR.UTF-8
LANGUAGE=fr_FR:fr
LC_NUMERIC=fr_FR.UTF-8
LC_TIME=fr_FR.UTF-8
LC_MONETARY=fr_FR.UTF-8
LC_PAPER=fr_FR.UTF-8
LC_IDENTIFICATION=fr_FR.UTF-8
LC_NAME=fr_FR.UTF-8
LC_ADDRESS=fr_FR.UTF-8
LC_TELEPHONE=fr_FR.UTF-8
LC_MEASUREMENT=fr_FR.UTF-8

franciser l'installeur directement, lancer

/usr/lib/ubiquity/localechooser/localechooser-debconf

choisir français

/etc/default/keyboard XKBLAYOUT=“fr” XKBVARIANT=“oss” (← à vérifier)

/etc/skel/.config/user-dirs.dirs - vérifier les dossier En fait non Bureau merde en live (Desktop) mais on a le Installer Linux Mint sur le bureau

XDG_DESKTOP_DIR="$HOME/Bureau"
XDG_DOWNLOAD_DIR="$HOME/Téléchargements"
XDG_TEMPLATES_DIR="$HOME/Modèles"
XDG_PUBLICSHARE_DIR="$HOME/Public"
XDG_DOCUMENTS_DIR_="$HOME/Documents"
XDG_MUSIC_DIR="$HOME/Musique"
XDG_PICTURES_DIR="$HOME/Images"
XDG_VIDEOS_DIR="$HOME/Vidéos"

copier les modifs dans /etc/skel

 profil firefox ~/.mozilla

upgrader firefox thunderbird et installer paquet de langue correspondant (sinon paquet de langue en avance et non pris en compte)

configurer les applications à ne pas lancer/lancer au démarrage (mintupload, mintwelcome, orca (lecteur d'écran), vino) puis copier le contenu du dossier ~/.config/autostart dans /etc/.config/autostart

rappel maj

rappel_maj.sh

rappel_maj.desktop
[Desktop Entry]
Type=Application
Exec=/usr/local/bin/rappel_maj.sh
Hidden=false
X-MATE-Autostart-enabled=true
Name[fr_FR]=Rappel mises à jour
Name=rappel mises à jour
Comment[fr_FR]=
Comment=

Suppr

paquets de langue inutiles

aptitude purge libreoffice-help-de libreoffice-help-es libreoffice-help-it libreoffice-help-pt libreoffice-help-pt-br libreoffice-help-ru libreoffice-help-zh-cn libreoffice-help-zh-tw libreoffice-l10n-de libreoffice-l10n-en-za libreoffice-l10n-es libreoffice-l10n-it libreoffice-l10n-pt libreoffice-l10n-pt-br libreoffice-l10n-ru libreoffice-l10n-zh-cn libreoffice-l10n-zh-tw

aptitude purge hexchat timeshift ippusbxd
  • hexchat hexchat-common : messagerie instantanée
  • espeak espeak-data libespeak1 libsonic0 libspeechd2 python3-speechd speech-dispatcher speech-dispatcher-audio-plugins gnome-orca libespeak-ng1 speech-dispatcher-espeak-ng : synthèse vocale (en général inutile et parfois activée par mégarde par les adhérents)
  • timeshift : sauvegarde
  • brltty : braille TTY
  • onboard : clavier virtuel
  • warpinator : inutile pour les adhérents
  • bluez-cups :le support des imprimantes en bluetooth
  • boot-repair
  • ippusbxd : paquet posant problème pour nos adhérents
  • evolution evolution-data-server evolution-data-server-common
  • gnome-calendar (et enlever le lien dans l’indicateur de la barre des taches !)

En plus (attention !)

  • mintbackup : outil de sauvegarde
  • mintstick : créateur de clé usb

Ajout

Paquets de langue

check-language-support -l fr<code>
<code>firefox-locale-fr language-pack-fr language-pack-gnome-fr thunderbird-locale-fr

# multimedia apt-get install vlc gimp sound-juicer mplayer

# Jeux # pour faire bouger les doigts

  • multimedia
    • vlc media player
    • gimp
    • sound-juicer
    • mplayer
  • Jeux
    • tanglet aisleriot gnome-mines gnome-mahjongg
  • koulourpaint
  • ttf-mscorefonts-installer : polices microsoft pour la compatibilité
  • fonts-crosextra-caladea fonts-crosextra-carlito :
  • ttf-ancient-fonts : polices emoji
  • ttf-ubuntu-font-family ttf-dejavu ttf-dejavu-extra fonts-liberation2 : autres polices
  • libdvd-pkg libdvdcss2 libdvdread7 libdvdnav4 : lecture des dvd
  • numlockx : pour activer le pavé numérique au démarrage (config lightdm à modifier après installation)
  • “compiz” : compiz compiz-core compiz-gnome compiz-plugins compiz-plugins-default compizconfig-settings-manager python-compizconfig libcompizconfig0
  • “flatpak & Snap” : flatpak xdg-desktop-portal xdg-desktop-portal xdg-desktop-portal-gtk
  • maintenance
    • gparted vim terminator htop smart-notifier gsmartcontrol stressapptest ncdu

vérifier pour ncdu2 !

  • archive
    • p7zip-full p7zip-rar rar
  • printer-driver-escpr printer-driver-all
  • hplip (mise à jour + récente)

Configurations

configuration .bashrc

#
#  Pour repasser facilement en azerty sur clavier azerty
# 
alias bépo="setxkbmap fr"
alias azer="setxkbmap fr bepo"
# 
#  Pour minimiser les bourdes
# 
alias rm="rm -i"
# 
#  Universal tarball extractor
# 
extr () {
    if [ -f \$1 ] ; then
        case \$1 in
            *.tar.bz2)   tar xjf \$1     ;;
            *.tar.gz)    tar xzf \$1     ;;
            *.bz2)       bunzip2 \$1     ;;
            *.rar)       rar x \$1       ;;
            *.gz)        gunzip \$1      ;;
            *.tar)       tar xf \$1      ;;
            *.tbz2)      tar xjf \$1     ;;
            *.tgz)       tar xzf \$1     ;;
            *.zip)       unzip \$1       ;;
            *.Z)         uncompress \$1  ;;
            *.7z)        7z x \$1    ;;
            *)           echo "'\$1' ne peut etre extrait par extr()" ;;
        esac
    else
        echo "'\$1' non pris en charge ou invalide"
   fi
}

Nemo Désactiver la suppression directe dans caja

Juste pour la session déjà créée

gsettings set org.nemo.preferences enable-delete false
/usr/share/glib-2.0/schemas/org.nemo.preferences.gschema.xml
  • enable-delete : false
  • selection-menu-copy-to : true

MintUpdate

/usr/share/glib-2.0/schemas/com.linuxmint.updates.gschema.xml

Diminuer fréquence raffraichissement mises à jours (passer de 2 à 20 heures)/ autorefresh-hours : 20 auto-update-flatpaks auto-update-cinnamon-spices : true

Cacher mintupdate après maj

gsettings set com.linuxmint.updates hide-window-after update true

Ne montrer l'icône qu'en cas de maj ou d'erreurs (garder false, sinon “trou” dans la barre des tâches)

gsettings set com.linuxmint.updates hide-systray false

Ne pas poser la question des dépôts locaux

gsettings set com.linuxmint.updates default-repo-is-ok true

/usr/share/glib-2.0/schemas/com.linuxmint.updates.gschema.xml

Activer la mise à jour automatique (journalière par défaut)

mintupdate-automation upgrade enable

Activer nettoyage des vieux noyaux

mintupdate-automation autoremove enable

Activer canaux européen wifi

Prise en charge des canaux Wifi français (sinon vous risquez d'avoir du mal avec les canaux 11/12/13): Dans le fichier /etc/default/crda: Modifier le paramètre: REGDOMAIN

REGDOMAIN=FR
sudo iw reg set FR

l'accélération matérielle pour Firefox

À vérifier

Sous Linux, l’accélération matérielle est désactivée. Pour l’activer (dans firefox) il faut aussi le permettre au niveau du système. Ici on dit au serveur graphique de laisser Firefox utiliser l’accélération matérielle :

sudo bash -c "echo export MOZ_USE_OMTC=1 >> /etc/X11/Xsession.d/90environment"

Ensuite, on l’active au sein de Firefox en mettant ces deux options à true dans le about:config :

layers.acceleration.force-enabled
layers.offmainthreadcomposition.enabled

Garder une unique image de fond d'écran sympathique, la mettre dans le dossier /usr/share/backgrounds/linuxmint sous le nom linuxmint.jpg faire pointer default backgrounds.jpg vers linuxmint.jpg

gsettings set org.mate.background picture-filename /usr/share/backgrounds/linuxmint-serena/anieto2k_hot_balloon_trip.jpg

ou modifier /usr/share/backgrounds/linuxmint/linuxmint.jpg

puis

glib-compile-schemas /usr/share/glib-2.0/schemas

/usr/lib/linuxmint/mintMenu/applications.list pour modifier les favoris par défaut (mate)

/usr/share/cinnamon/applets/menu@cinnamon.org/settings-override.json menu-label > value : “Menu” (attention à la virgule !)

Favoris dans l'applet groupé

/usr/share/cinnamon/applets/grouped-window-list@cinnamon.org/settings-schema.json<code>
virer org.gnome.Terminal.desktop et mettre libreoffice-writer.desktop

<code>/usr/share/cinnamon/applets/panel-launchers@cinnamon.org/settings-schema.json<code>
virer org.gnome.Terminal.desktop et mettre libreoffice-writer.desktop



Désactiver le verrouillage écran en cas de veille 

org.cinnamon.desktop.screensaver.gschema.xml : lock-enabled = false
org.gnome.desktop.screensaver.gschema.xml : lock-enable : false

<code>
dconf write /org/mate/screensaver/idle-activation-enabled false
dconf write /org/mate/screensaver/lock-enabled false
/etc/linuxmint/info

Desclicks ADH

Nettoyage

aptitude install bleachbit

supprimer tous les fichiers temporaires et les fichiers de langue inutiles

aptitude purge bleachbit

Sortir du Chroot

aptitude clean
cd /
rm -r /var/cache/apt/archives/*
rm -rf /etc/resolv.conf
rm -rf /etc/hosts
#ln -sf /run/resolvconf/resolv.conf /etc/resolv.conf
cd /etc
ln -sf ../run/systemd/resolve/stub-resolv.conf
rm -rf /root
mkdir /root
rm -r /mydir
rm -rf /tmp/* ~/.bash_history
rm /var/lib/dbus/machine-id
rm /sbin/initctl
dpkg-divert --rename --remove /sbin/initctl

umount /proc || umount -lf /proc                   
umount /sys
umount /dev/pts
exit                                                                                        
sudo umount edit/dev                                  
xhost -

Iso en fr

echo "fr" | sudo tee extracted/isolinux/lang

Regenerate manifest (ignore any warning)

su -i 
cd CHEMIN
chmod +w extracted/casper/filesystem.manifest
chroot edit dpkg-query -W --showformat='${Package} ${Version}\n' > extracted/casper/filesystem.manifest
cp extracted/casper/filesystem.manifest extracted/casper/filesystem.manifest-desktop
sed -i '/ubiquity/d' extracted/casper/filesystem.manifest-desktop
sed -i '/casper/d' extracted/casper/filesystem.manifest-desktop

Compress

rm extracted/casper/filesystem.squashfs
mksquashfs edit extracted/casper/filesystem.squashfs -comp xz

Update some required files

printf $(sudo du -sx --block-size=1 edit | cut -f1) > extracted/casper/filesystem.size

open extracted/README.diskdefines file with a text editor and change the name of the disk.

Remove old md5sum and calculate new md5sums:

cd extracted
rm MD5SUMS
find -type f -print0 | sudo xargs -0 md5sum | grep -v isolinux/boot.cat | sudo tee MD5SUMS

Create the ISO image

mkisofs -D -r -V "LinuxMint Custom" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../tmp.iso .
exit
sudo chmod 777 ~/mylivecd/Linux-Mint-cinnamon-x64_custom.iso

Test the ISO image

You can use qemu, kvm, virtualbox for a test run of the iso or you can use your physical computer for testing (making a live usb or burning the iso to cd or dvd). If everything is satisfactory then you can make this a final release of your new custom Linux Mint dristro.