Monter un disque ou une clef usb
Avec Linux comme sous Unix en général, tout est fichier. Les périphériques sont montés en tant que fichiers, les disques durs n'échappent pas à cette règle, on les retrouve donc dans le répertoire /dev.
Lors de l'insertion de la clef (ou d'un disque) dans le port Usb, on peut en vérifier la présence dans un terminal avec la commande ls /dev/sd*
Voici donc un petit script avec une interface graphique générée par zenity qui permet de monter facilement un disque, une clef ou une image iso.
Il permet aussi de démonter tout disque monté par cette méthode.
#!/bin/bash
# ---------------------------------------------
# fonction select port usb
# ---------------------------------------------
port_usb() {
pusb=$(zenity --list --column=designation --title="choix du port usb" \
--width=300 --height=250 --hide-header \
--text="Sélectionner une option et valider \n \n \n" \
"sda1" \
"sdb1" \
"sdc1" )
}
# ---------------------------------------------
# fonction select_iso
# ---------------------------------------------
select_iso() {
f_iso=$(zenity --file-selection )
}
# ---------------------------------------------
# fonction point de montage
# ---------------------------------------------
p_montage() {
p_mont=$(zenity --file-selection --directory --filename=/media/)
}
# ---------------------------------------------
# fonction monte_clef sur port usb
# ---------------------------------------------
monte_clef() {
gksu "mount $pusb $p_mont"
}
# ---------------------------------------------
# fonction monte_iso
# ---------------------------------------------
monte_iso() {
gksudo "mount -o loop -t iso9660 $f_iso $p_mont"
}
# ---------------------------------------------
# fonction demonte_clef sur port usb
# ---------------------------------------------
demonte_clef() {
repert=$(zenity --file-selection --directory --filename=/media/)
gksu umount $repert
}
# -------------------------------
# boucle principale
# -------------------------------
while true ;
do
code=$(zenity --list --column=code --column=designation --title="Monter/Démonter disques" \
--width=500 --height=350 --hide-header --hide-column=1 \
--text="Sélectionner une option et valider \n \n \n" \
1 "Sélection du port usb pour clef : $pusb" \
2 "Sélection de l'image Iso : $f_iso" \
3 "Point de montage du disque : $p_mont" \
4 "Monter la clef usb" \
5 "Monter l'image Iso" \
6 "Démonte le disque" \
7 "Quitter" )
case $code in
1) port_usb ;;
2) select_iso ;;
3) p_montage ;;
4) monte_clef ;;
5) monte_iso ;;
6) demonte_clef ;;
7) break ;;
esac
done