[médias amovibles] Mes médias amovibles ne se monte plus automatiquement.
Publié : mar. 27 avr. 2021, 01:17
Bonjour à tous.
Je suis sur Xfce avec thunar et mes cartes SD sur mon lecteur USB ne se monte plus.
J’ai bien tout coché dans Média et périphérique amovible.
La carte SD est bien vu par Gparted.
journalctl -afk me donne :
En attendant une solution, j’utilise le script shell suivant :
Si quelqu’un peut m’aider ?
Merci.
Ignace.
Je suis sur Xfce avec thunar et mes cartes SD sur mon lecteur USB ne se monte plus.
J’ai bien tout coché dans Média et périphérique amovible.
La carte SD est bien vu par Gparted.
journalctl -afk me donne :
Code : Tout sélectionner
avril 24 17:43:04 ignace-pc kernel: sdg: detected capacity change from 120913920 to 0
avril 24 17:43:21 ignace-pc kernel: sd 16:0:0:0: [sdg] 120913920 512-byte logical blocks: (61.9 GB/57.7 GiB)
avril 24 17:43:21 ignace-pc kernel: sdg: detected capacity change from 0 to 120913920
avril 24 17:43:21 ignace-pc kernel: sdg: sdg1
Code : Tout sélectionner
#!/bin/sh
usage()
{
echo "Utilisation :
$0 [-u] [[/dev/]device | [/dev/disk/by-uuid/]uuid | [/dev/mapper/]uuid]
Monte un système de fichier dans un sous-répertoire de /media via udisks ou
udisks2.
Si aucun périphérique n'est donné, fmount tente de deviner le dernier périphérique inséré.
Option de l'application :
-u Démonte le système de fichier
-h Affiche ce message d'aide"
}
finddev()
{
DEV=$1
if (echo $DEV | grep -q '^/dev/') && [ -e $DEV ]
then
echo $DEV
fi
if [ -e "/dev/disk/by-uuid/$DEV" ]
then
echo "/dev/disk/by-uuid/"$(echo $DEV | sed 's/.*/\L&/')
fi
if [ -e "/dev/$DEV" ]
then
echo "/dev/$DEV"
fi
if [ -e "/dev/mapper/$DEV" ]
then
echo "/dev/mapper/$DEV"
fi
}
wrapper()
{
ACTION=$1
DEVICE=$2
case $ACTION in
"mount")
if [ -e /usr/bin/udisksctl ]
then
udisksctl mount -b $DEVICE
else
udisks --mount $DEVICE
fi
return $?
;;
"umount")
if [ -e /usr/bin/udisksctl ]
then
udisksctl unmount -b $DEVICE
else
udisks --unmount $DEVICE
fi
return $?
;;
*)
echo "Action invalide"
return 1
;;
esac
}
guesslast()
{
LOG=$(dmesg| tail -n 50 | grep 'Attached scsi generic' -A 11 | tail -n 12)
PARTS=$(echo $LOG | grep "sd.: sd.")
if [ "$PARTS" = "" ]
then
DEV=$(echo $LOG | sed '/\[sd/s/.*\[\(sd[^\]]*\)\].*/\1/')
else
DEV=$(echo $PARTS | sed '/sd.:/s/.*sd.: \(sd[^ ]*\).*/\1/')
fi
echo $DEV
}
ACTION="mount"
if [ $# -ne 0 ] && [ $1 = "-u" ]
then
ACTION="umount"
shift
fi
if [ $# -ne 0 ] && [ $1 = "-h" ]
then
usage
exit 0
fi
if [ $# -ne 1 ]
then
DEV=$(guesslast)
else
DEV=$1
fi
DEV=$(finddev $DEV)
if [ -z "$DEV" ]
then
echo "Impossible de trouver le périphérique $DEV."
exit 1
fi
wrapper $ACTION $DEV
exit $?
Merci.
Ignace.