Rendez-vous sur Arrakiss
Table des matières

    dmount/dumout : Gestion des périphériques avec dmenu

    dmount

    dmount permet de choisir un disque/ une clé USB récemment inséré pour le monter. de définir le délai avant que l’alarme ne “sonne”. Pour pleinement fonctionner, il est nécessaire d’ajouter ces lignes dans /etc/doas.conf :

    permit nopass :wheel cmd /sbin/mount
    permit nopass :wheel cmd /sbin/disklabel
    

    Pour le configurer, modifiez la variable mountdir. Par défaut, un dossier est créé dans votre répertoire personnel avec le nom $HOME/media/sdnx.

    apercu de dmount

    apercu 2 de dmount

    #!/bin/sh
    # detect recently insterted media
    # look for slice
    # choose the one to mount with dmenu.
    # mount the partition in $mountdir/sdnm 
    #     where "n" is the disk and "m" the slice
    
    # doas.conf : 
    #permit nopass :wheel cmd /sbin/mount
    #permit nopass :wheel cmd /sbin/disklabel
    
    # change "mountdir" according to your needs
    mountdir=$HOME/media/
    
    test -s $HOME/.dmenurc && . $HOME/.dmenurc
    P="mount:"
    OPTION="-sb ${sb} -sf ${sf} -nb ${nb} -nf ${nf} -fn ${fn} -p $P -l $l"
    
    sdn="$(dmesg | \
    	grep -E 'sd[0-9]+ .*serial\..*' |\
    	dmenu -l ${l} \
    		-fn ${fn} \
    		-nb ${nb} \
    		-nf ${nf} \
    		-sb ${sb} \
    		-sf ${sf} \
    		-p 'disk ?'|\
    	cut -d' ' -f1)"
    
    test -z "${sdn}" && exit 1
    
    slice="$(doas /sbin/disklabel ${sdn} |\
    	grep -E '^  ' |\
    	tr -d ' ' |\
    	cut -d':' -f1 |\
    	sed -e 's/c//' |\
    	dmenu -l ${l} \
    		-fn ${fn} \
    		-nb ${nb} \
    		-nf ${nf} \
    		-sb ${sb} \
    		-sf ${sf} \
    		-p 'slice ?')"
    test -z "${slice}" && exit 1
    
    partition="${sdn}${slice}"
    mntpt="${mountdir}/${partition}"
    mkdir -p "${mntpt}"
    
    if [ "$sdn" != "" ]; then 
    	doas /sbin/mount /dev/"${sdn}i" ${mntpt}
    fi
    
    exit $?
    

    dumount

    dumount permet de démonter un disque.

    Pour pleinement fonctionner, il est nécessaire d’ajouter cette ligne dans /etc/doas.conf :

    permit nopass :wheel cmd /sbin/umount
    

    apercu de dmount

    #!/bin/sh
    
    test -s $HOME/.dmenurc && . $HOME/.dmenurc
    P="umount:"
    OPTION="-sb ${sb} -sf ${sf} -nb ${nb} -nf ${nf} -fn ${fn} -p $P -l $l"
    
    _REP=$(df | tr -s " " | cut -d " " -f 1,6 | dmenu $OPTION | cut -d ' ' -f2)
    
    if [ "$_REP" != "" ]; then 
    	doas /sbin/umount "$_REP"
    fi
    
    exit $?