Règle du lecteur CD/DVD : Monter le lecteur lors de son insertion dans "/media/DVD".
Faites ceci si vous voulez restaurer le montage automatique avec un certain contrôle sur la façon dont il est effectué.
- Création automatique d'un point de montage lors de l'insertion d'un support.
- Montage automatique d'un support sur un point de montage avec des autorisations spécifiques.
- Suppression automatique du point de montage lors du retrait du support.
Action : Le plateau de CD/DVD a un support et est tiré vers l'intérieur.
Vous devez dire à votre système de réagir à cette action. Vous pouvez lui faire exécuter un script de montage (tout script personnalisé). Pour ce faire, vous devez créer une nouvelle règle dans le lib/udev/rules.d
dossier. Ces commandes doivent être exécutées en tant que root (utilisez le préfixe sudo
pour les commandes suivantes afin de les exécuter en tant que root ou de devenir l'utilisateur root avec sudo -s
- Créez un nouveau fichier et appelez-le autodvd.rules.
touch /lib/udev/rules.d
- Recherchez des informations sur votre lecteur de CD/DVD en exécutant
udevadm info --query=all --attribute-walk --name=/dev/sr0
(la racine n'est pas nécessaire ici, mais cela fonctionne dans les deux sens) Cherchez quelque chose qui identifie votre disque de façon unique (pour le meilleur ou pour le pire). ATTRS{vendor}=="HL-DT-ST"
qui est mon lecteur (le vôtre sera différent, à moins que vous ne possédiez le même lecteur que moi). Copiez-le quelque part pour plus tard. Vous pouvez prendre le temps d'examiner ce fichier et de le comparer avec l'exemple de règle ci-dessous. Le SUBSYSTEM et les ATTRS s'y trouvent.
- Modifiez votre nouvelle règle (vous pouvez utiliser l'éditeur de votre choix, j'utilise
vim /lib/udev/rules.d
mais nano /lib/udev/rules.d
fonctionne aussi et est facile. Ajoutez ces éléments, en modifiant les ATTRS pour qu'ils correspondent aux vôtres (c'est la partie sensible, vous devrez peut-être choisir un autre attribut si cela ne fonctionne pas) et corrigez les champs YOURUSER et YOURGROUP :
KERNEL=="sr[0-9]*", SUBSYSTEM=="block", ATTRS{vendor}=="HL-DT-ST", SYMLINK+="dvdburner", OWNER="YOURUSER", GROUP="YOURGROUP" ACTION=="change",RUN+="/home/YOURUSER/Scripts/Bash/automountdvd.sh"
- Le site
KERNEL=="sr[0-9]*"
signifie simplement qu'il testera tous les scsi
dispositifs (sr0-sr9)
- Le site
SYMLINK
est juste un lien symbolique vers le lecteur (comme /dev/cdrom
est au réel /dev/sr0
)
Vous devrez peut-être recharger toutes les règles udev :
udevadm control --reload rules
reload udev
udevadm trigger
Monter script
Sauvegardez ce qui suit quelque part comme : /home/YOURUSER/Scripts/Bash/automountdvd.sh
et corrigez les champs YOURUSER et YOURGROUP. Oh au fait, il est dangereux de mettre ce script dans le dossier utilisateur, parce qu'il sera exécuté par root, ce qui signifie que si quelqu'un pirate votre dossier utilisateur, il peut ajuster le script pour faire ce qu'il veut et root l'exécutera (et probablement réussir, parce que l'utilisateur root a le contrôle total du système). Il est probablement préférable de le cacher dans un dossier que seul root peut voir. Si vous faites des expériences, c'est parfait.
#!/bin/bash
{
mountpoint="/media/DVD"
user=YOURUSER
group=YOURGROUP
uid=$(id -u ${user})
gid=$(id -g ${group})
FS_TYPE="`blkid /dev/sr0 | grep -o 'udf'`"
if [ ${FS_TYPE} == 'udf' ]; then
echo "ID_CDROM_MEDIA set to 1, creating ${mountpoint} and attempting to mount DVD."
mkdir -p ${mountpoint} && chown ${user}:${group} ${mountpoint}
mount -t ${FS_TYPE} -o ro,uid=${uid},gid=${gid} /dev/sr0 ${mountpoint}
echo "DVD mounted at ${mountpoint}."
else
echo "Attempting to unmount -l ${mountpoint}."
umount -l ${mountpoint}
rm -rf ${mountpoint}
echo "Unmounting ${mountpoint} and removing folder ${mountpoint}."
fi
} &>> "/var/log/autodvd.log" &