Monter un support usb automatiquement
###Introduction
Lorsqu'on utilise un gestionnaire de fenêtre sans environnement de bureau, il y
a des actions qu'on a pas[^1], comme par exemple des notifications quand on
branche un support de type usb. Depuis quelques temps c'est une opération qui
m'arrive de réaliser assez régulièrement pour diverse raison. J'en avais un peu
marre de devoir gérer le montage à la main, il faut dire que c'est pas une
action super amusante surtout lorsqu'on est pressé. Je suis donc parti à la
recherche d'un outil gérant ça de manière automatique, j'ai demandé sur l'un des
sites stackexchange et j'ai finalement trouvé mon bonheur grâce à **z3bra** que
je remercie, le projet est **ldm** est il est disponible sur github.
###Installation
Le projet utilise udev, il dépend donc de libudev-dev et libmount-dev.
Pour l'installer sous Debian et dérivés il n'y a pas de paquet disponible, il
faut donc passer par les sources:
sudo apt-get install libudev-dev libmount-dev
git clone https://github.com/LemonBoy/ldm.git
cd ldm
make
sudo make install
Tout simplement. J'ai aussi fais un petit script avec le module fab pour
pouvoir déployer rapidement une nouvelle machine, il y a une commande pour
installer ldm.
###Usage
Ensuite l'usage est très simple, il y a une option pour le lancer en mode
daemon si ce n'est pas déjà géré par le système via systemd par exemple:
export USERID=`id -u`
export GROUPID=`id -g`
sudo ldm -d -u $USERID -g $GROUPID
L'option -d permet de lancer la commande en mode daemon, l'option -u et -g
permettent respectivement de spécifier l'uid et le gid à utiliser pour monter
le support. Dans l'exemple ci-dessus on utilise la commande id pour récupérer
les informations de l'utilisateur courant. Par défaut le support sera monté
dans le répertoire racine du système /mnt qu'il est possible de changer avec
l'option -p, et l'option -c permet d'indiquer le chemin vers un exécutable qui
sera appelé à chaque fois qu'une clé sera monté.
###Lancer la commande à l'ouverte de la session
Dans qtile pour lancer la commande au démarrage:
@hook.subscribe.startup
def startup():
execute_once("automount")
Il faut avoir ajouté la fonction execute\\_once dans votre fichier de
configuration.
Mettre les lignes ci-dessous dans /usr/local/bin/automount, par exemple:
export USERID=`id -u`
export GROUPID=`id -g`
sudo ldm -d -u $USERID -g $GROUPID
Puis rendre le script exécutable.
###Conclusion
Une commande simple et légère qui fait bien son travail et pas plus.
[^1]: En tous les cas pas de base
![Drapeau En](http://linuxfr.org/images/langs/en.png "Drapeau En") [Dépôt sur github](https://github.com/LemonBoy/ldm "Dépôt sur github")