Kit de Survie sur Debian
Voici ma petite liste de trucs et astuces sur Debian.
Audio / Vidéo
Audio qui crack
Je n'ai pas trouvé de meilleures solutions. Mais relancer le serveur pipewire résout le problème.
systemctl --user restart pipewire.service
Firefox ne lit pas certaines vidéos (H.264)
Si vous avez des erreurs sur Firefox ESR avec des choses genre "mime type not supported". C'est probablement que le décodage Firefox H.264 est désactivé sur le build de firefox-esr de Debian.
Dans about:config cherchez media.gmp-gmpopenh264.enabled et passez à true.
MakeMkv
C'est la plateforme mt1959 qu'il vous faut
Pavucontrol
Outil pour mieux contrôler les périphériques audio
apt install pavucontrol
OBS pas de Vaapi
apt install mesa-va-drivers
Youtube Downloader, une vidéo
En discutant en vocal sur le didi de Steve, j'ai découvert ce petit outil.
sudo apt install yt-dlp
yt-dlp -f 'bestvideo[codec^=av01]/bestvideo+bestaudio' --merge-output-format mkv <URL>
On peut aller très loin, pour télécharger toutes les musiques d'une playlist et en plus découper chaque vidéo selon le chapitrage avec les miniatures :
yt-dlp --split-chapters -f 'bestaudio' --output '%(playlist_title)s/sources/%(title)s.%(ext)s' --output chapter:'%(playlist_title)s/%(title)s/%(section_number)02d - %(section_title)s.%(ext)s' --restrict-filenames --write-thumbnail --output thumbnail:'%(playlist_title)s/%(title)s/00 - %(title)s.%(ext)s' <URL en /playlist?list=>
Cron
Cron au boot
Créer un dossier /etc/cron.reboot puis ajouter cela au fichier /etc/crontab
@reboot root cd / && run-parts --report /etc/cron.reboot
Eclipse
Eclipse erreur ouverture markdown
Cannot display wiki markup preview: No more handles because there is no underlying browser available. Please ensure that WebKit with its GTK 3.x bindings is installed (WebKit2 API level is preferred). Additionally, please note that GTK4 does not currently have Browser support. No more handles because there is no underlying browser available. Please ensure that WebKit with its GTK 3.x bindings is installed (WebKit2 API level is preferred). Additionally, please note that GTK4 does not currently have Browser support.
sudo apt install libwebkit2gtk-4.0-37
Eclipse wayland
#/bin/shell
export WEBKIT_DISABLE_COMPOSITING_MODE=1
/path/to/eclipse/eclipse
Les hauteur de ligne qui change au scroll
C'est généralement lié à un problème de caractère spécial mal affiché qui gâche les hauteurs de ligne.
Créer un raccourci
Ajouter un fichier /usr/share/applications/eclipse.desktop ou dans ~/.local/share/applications
[Desktop Entry]
Name=Eclipse
Comment=Eclipse
GenericName=Eclipse
X-GNOME-FullName=Eclipse
Exec=/home/shionn/.eclipse-jee-2025-09-R-linux-gtk-x86_64/eclipse
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=/home/shionn/.eclipse-jee-2025-09-R-linux-gtk-x86_64/icon.xpm
Categories=Development;
StartupWMClass=Eclipse
StartupNotify=true
File system
NFS
<IP_SERVEUR>:<PATH_SERVEUR> <PATH_MONTAGE> nfs defaults,user,x-systemd.automount,_netdev,noauto 0 0
Changer le group du user
Dans mon cas je veux que quand je crée un fichier je le crée avec le group user (100) et non le group identique à mon login. Ca me permet d'être à la parité du fonctionnement de mon serveur. Pour cela il me suffit de lancer cette commande :
sudo usermod -g 100 shionn
Samba et fstab
Créer un fichier .smbcredentials dans votre /home :
username=votre user
password=votre mot de pass
domaine=WORKGROUP
Installer le package cifs-utils.
Éditer votre fichier fstab comme suit :
//IP_DU_SERVEUR/PARTAGE/ /DOSSIER/CIBLE cifs rw,user,suid,uid=VOTRE_UID,gid=VOTRE_GID,credentials=/VOTRE_HOME/.smbcredentials 0 0
Puis recharger la configuration comme suit : sudo systemctl daemon-reload
automount
Le plus simple est de passer par systemd, creer le fichier /etc/systemd/system/automount.service :
[Unit]
Description=Automount network drive
After=local-fs.target syslog.target network.target
[Service]
Type=oneshot
Restart=on-failure
ExecStart=/usr/bin/mount -a
[Install]
WantedBy=multi-user.target
Puis :
sudo systemctl daemon-reload
sudo systemctl enable automount.service
syncthing
apt install syncthing
sudo systemctl enable syncthing@shionn.service
systemctl start syncthing@shionn.service
NFS et fstab
Installer nfs-common, sudo apt install nfs-common. Puis éditer votre fstab :
<IP_SERVEUR>:/<PARTAGE>/ /<POINT_MONTAGE> nfs defaults 0 0
Il faut que les identifiants utilisateur/group correspondent entre client et serveur.
Je veux dans mon cas qu'un nouveau fichier appartienne au group users ; pour cela je dois faire :
sudo usermod -g users <USER>
Gnome
ALT-F5 qui fait nimp
Dans dconf-editor modifier la clef unmaximise dans le dossier : org.gnome.desktop.wm.keybindings
Désactiver le mot de passe après sleep
Installer dconf-editor, modifier la clef /org/gnome/desktop/screensaver lock-enable à false
Outils de visualisation
- evince : viewer de PDF
- f3d : viewer de model 3D
- loupe : viewer d'image
sudo apt install evince f3d loupe
Le PC ne se met pas en veille
Généralement un processus l'en empêche. J'ai trouvé cette astuce sur Reddit. Pour connaître ce processus, vous pouvez entrer cette commande :
dbus-send --print-reply --dest=org.gnome.SessionManager /org/gnome/SessionManager org.gnome.SessionManager.GetInhibitors
Cela vous donnera une réponse comme celle-ci :
method return time=1728730333.701330 sender=:1.28 -> destination=:1.303 serial=2481 reply_serial=2
array [
object path "/org/gnome/SessionManager/Inhibitor272"
]
Ensuite on reprend le _/org/gnome/SessionManager/Inhibitor272_ qu'on met dans cette commande :
dbus-send --print-reply --dest=org.gnome.SessionManager /org/gnome/SessionManager/Inhibitor272 org.gnome.SessionManager.Inhibitor.GetAppId
Qui nous donnera ce résultat :
method return time=1728730410.581488 sender=:1.28 -> destination=:1.304 serial=2482 reply_serial=2
string "firefox"
Hyprland
Lancer synaptic
xhost local:root
synaptic-pkexec
Impression 3D
Creality Print
Télécharger la dernière version en flatpak de Creality Print sur leurs github.
sudo apt install flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install <CrealityPrint-Linux-flatpak_V6.3.0-Release_x86_64>.flatpak
flatpak run io.github.crealityofficial.CrealityPrint
à traiter pour Hyprland :
Note that the directories
'/var/lib/flatpak/exports/share'
'/home/<shionn>/.local/share/flatpak/exports/share'
are not in the search path set by the XDG_DATA_DIRS environment variable, so applications installed by Flatpak may not appear on your desktop until the session is restarted.
Jeux
Voir ma page dédiée aux jeux
Journalctl
Log qui spam
J'ai un spam de ce log.
i2c-designware-pci 0000:09:00.3: Refused to change power state from D0 to D3hot
Il semblerait qu'ajouter l'option suivante dans grub résolve le problème :
GRUB_CMDLINE_LINUX="pcie_port_pm=off"
Materiel
Faire un smart profond
# lancer le test
sudo smartctl -t long /dev/nvme0
# voir la progress
sudo smartctl -a /dev/nvme0 | grep -i progress
# voir les résultats
sudo smartctl -a /dev/nvme0
Utilitaires
Compression multithread
echo "mktargz() {
if [ "$#" -ne 1 ]; then
echo "Usage: mkarchive <chemin/vers/dossier>"
return 1
fi
local dir="$1"
local name=$(basename "$dir")
tar -cf - "$dir" | pigz -p $(nproc) > "$name.tar.gz"
}" >> ~/.bashrc
Vim
Configuration de vim, désactiver le mode de sélection à la souris :
echo "set mouse-=a" >> ~/.vimrc
Ajouter la coloration syntaxique :
echo "syntax on" >> ~/.vimrc
Wayland
Exécuter un truc en XWayland :
GDK_BACKEND=x11 <command>
Serveur
Initialisation
Sur chacun de mes serveurs je commence par faire cela :
apt install bash-completion vim -y
apt remove nano -y
echo "set mouse-=a" >> ~/.vimrc
echo "syntax on" >> ~/.vimrc
echo "alias ll=\"ls -l\"" >> ~/.bashrc
echo "alias la=\"ls -al\"" >> ~/.bashrc
Tomcat
Quand je veux déployer dans ROOT je dois changer les droits d'accès dans le dossier ROOT de /var/lib/tomcat10/webapps
Pour répondre sur 80 dans le fichier : /etc/tomcat10/server.xml
Tuto serveur sur Proxmox
J'aime pas les tutos YouTube mais celui-là est bien MRP
hdparm spindown des disques :
#/etc/udev/rules.d/69-hdparm.rules
ACTION=="add|change", KERNEL=="sd[a-z]", ATTRS{queue/rotational}=="1", RUN+="/usr/bin/hdparm -B 127 /dev/%k"
Connaitre quel processus écoute sur quel port
on peut utiliser netstat : apt install netstat puis netstat -ltnp
Créer un service
Par exemple : /etc/systemd/system/MonService.service
[Unit]
Description=NOM DU SERVICE
After=syslog.target network.target
[Service]
SuccessExitStatus=143
User=root
Group=root
Type=simple
Environment="FOO=BAR"
WorkingDirectory=/root
ExecStart=/absolut/path/truc.sh
ExecStop=/bin/kill $MAINPID
[Install]
WantedBy=multi-user.target
Puis :
sudo systemctl daemon-reload
sudo systemctl enable MonService.service