logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Montage automatique d'un média USB

Introduction

Installation

Médias connectés à l'ouverture de la session

créer un dossier ~/.bin et y mettre le script ci-dessous (que nous appellerons massmount)

massmount
#!/bin/sh
 
udisksctl dump |
  awk -F':\n' -v'RS=\n\n' '/[ \t]*HintAuto:[ \t]*true/&&/\.Filesystem:/{
                             print $1
                           }' |
  while read dev
  do
    udisksctl mount --object-path "${dev##*/UDisks2/}"
  done

rendre le script exécutable

chmod ug+x ~/.bin/massmount

créer un fichier .xsessionrc dans votre /home

PATH=$HOME/.bin:$PATH

créer un fichier massmount.desktop que nous placerons dans ~/.config/autostart/

massmount.desktop
[Desktop Entry]
Encoding=UTF-8
Exec=massmount
Name=Automatically mount removable media
Comment=
Terminal=false
Type=Application
StartupNotify=false
NoDisplay=true

avec tout ça, les medias usb connectés seront montés automatiquement à l'ouverture de la session.


Montage automatique des médias quand on les connecte

https://wiki.archlinux.org/index.php/Udisks#inotify créer un script que nous appellerons automount et que nous placerons dans ~/.bin

automount
#!/bin/bash
pattern='sd[b-z][1-9]$'
coproc inotifywait --monitor --event create,delete --format '%e %w%f' /dev
 
while read -r -u "${COPROC[0]}" event file; do
    if [[ $file =~ $pattern ]]; then
  case $event in
      CREATE)
    echo "Settling..."; sleep 1
    udisksctl mount --block-device $file --no-user-interaction
    ;;
      DELETE)
    ;;
  esac
    fi
done

le rendre exécutable

chmod ug+x ~/.bin/automount

créer un fichier automount.desktop que nous placerons dans ~/.config/autostart/

automount.desktop
[Desktop Entry]
Encoding=UTF-8
Exec=automount
Name=Automatically mount removable media
Comment=
Terminal=false
Type=Application
StartupNotify=false
NoDisplay=true

inotifywait sera lancé au démarrage de la session et surveillera les changements de /dev, et montera automatiquement les media usb que nous connecterons.


Montage / Démontage des médias USB

script à placer dans le dossier /bin utilisateur
utilisation de udisks2

sev-usb
#!/bin/sh
# udisks2 doit être installé
 
demonte()
{
udisksctl dump |
  awk -F':\n' -v'RS=\n\n' '/[ \t]*HintAuto:[ \t]*true/&&/\.Filesystem:/{
                             print $1
                           }' |
  while read dev
  do
#    udisksctl mount --object-path "${dev##*/UDisks2/}"
    udisksctl unmount -p "${dev##*/UDisks2/}"
  done
}
 
monte()
{
udisksctl dump |
  awk -F':\n' -v'RS=\n\n' '/[ \t]*HintAuto:[ \t]*true/&&/\.Filesystem:/{
                             print $1
                           }' |
  while read dev
  do
#    udisksctl mount --object-path "${dev##*/UDisks2/}"
    udisksctl mount -p "${dev##*/UDisks2/}"
  done
}
usage()
{
#echo "test"
notify-send	"Usage: $0 [-u] [-m]" "\-u unmoun - démonte les médias usb \n-m mount - monte les médias usb"
}
echo "$0 $1"
if [ -n $1 ] && [ "$1" = "-m" ]
then
monte
elif [ -n $1 ] && [ "$1" = "-u" ]
then
demonte
else
usage
fi

utilisation :

sev-usb -u → démonte l’ensemble des médias usb
sev-usb -m → monte l'ensemble des médias usb

Liens

utilisateurs/severian/tutos/montage-automatique-d-un-media-usb.txt · Dernière modification: 08/05/2016 10:50 par Severian

Pied de page des forums

Propulsé par FluxBB