pmount czy autofs - automontowanie USB

Tematy związane z oprogramowaniem, instalacją, konfiguracją
winnetou

Post autor: winnetou »

Dziękuje...
doman18
Posty: 84
Rejestracja: 04 lipca 2009, 17:33

Post autor: doman18 »

Dobra teraz ja się pochwalę. Zrobiłem skrypcik o którym wcześniej mówiłem. Owszem nie jest on tak elegancki jak twój winnetou z przechwytywaniem wyjątków itp ale ponieważ jest to mój pierwszy poważniejszy skrypt (wcześniejsze były jednolinijkowe) jestem z niego dumny :) Przy okazji dzięki niemu i tobie winnetou dużo się nauczyłem basha. Niestety nie udało mi się zaimplementować while bo cały czas miałem jakiś błąd składniowy. Ponadto coś mi się pokiereszowało i nie mogę podłączać penów z

Kod: Zaznacz cały

dev/sda1
i muszę stosować

Kod: Zaznacz cały

dev/sdb2
jako pierwsze urządzenie. Ale to chyba jest spowodowane tym że dużo żągluje urządzeniami USB (myszka, pad)

Oto kod

Kod: Zaznacz cały

#!/bin/bash
status()
{
	ZAMONTOWANY=`mount |grep $1 |awk '{print $3}' |cut -d"/" -f 3`
	if [ "$ZAMONTOWANY" != "$1" ]
	then 
	 echo "Nie zamontowany"
	else 
	 echo "Zamontowany"
	fi
}

dzialanie()
{
echo "Co mam teraz zrobić"
echo "(Z) Zamontuj"
echo "(O) Odmontuj"
echo "Każdy inny klawisz anuluje"
read y
case "$y" in
	"z")
	mount /media/$1 && pcmanfm /media/$1
	;;
	"o")
	umount /media/$1
	;;
	*) echo "Wychodzimy"
esac
}

dzialanie1()
{
echo "Co mam teraz zrobić"
echo "(Z) Zamontuj"
echo "(O) Odmontuj"
echo "Każdy inny klawisz anuluje"
read y
case "$y" in
	"z")
	sudo mount /media/$1
	;;
	"o")
	sudo umount /media/$1
	;;
	*) echo "Wychodzimy"
esac
}

clear
echo "Podaj numer polecenia"
echo "1. USB1"
echo "2. USB2"
echo "3. USB3"
echo "4. Edytka"
echo "5. Kaska"
echo "========="
echo "0. Koniec"
read x
case "$x" in
	"1")
	status "pen1"
	dzialanie "pen1"
	;;
	"2")
	status "pen2"
	dzialanie "pen2"
	;;
	"3")
	status "pen3"
	dzialanie "pen3"
	;;
	"4")
	status "Edytka"
	dzialanie1 "Edytka"
	;;
	"5")
	status "Kaska"
	dzialanie1 "Kaska"
	;;
	"0") echo "Konczymy" ;;
	*) echo "Zły numer polecenia, podaj liczbe od 0 do 5"
esac
Oczywiście ostatnie *) to pozostałość z while który mam nadzieję jeszcze zaimplementować. Powyższy skrypt uruchamiam innym skryptem

Kod: Zaznacz cały

#!/bin/bash
lxterm -e ~/usb.sh
exit 0
bo jakoś nie umiałem tego zaimplementować w skrypcie głównym. Jeszcze może wykorzystam Select do wyświetlania menu i zrobię te wyjątki :P
winnetou

Post autor: winnetou »

Dziękuje...
doman18
Posty: 84
Rejestracja: 04 lipca 2009, 17:33

Post autor: doman18 »

Rozwiązałem mój problem ze ścieżką /dev/sda1. Piszę tu o tym bo rozwiązanie mnie zwaliło z nóg. Otóż okazało się, że pod sda1 jest (UWAGA!) czytnik kart pamięci, który jest w urządzeniu wielofunkcyjnym. Akurat siedzi tam karta SD ale do tej pory jakoś się nie odzywała dopóki nie zainstalowałem sterowników to skanera. Nie dość że się automatycznie montuje w systemie to nawet pcmanfm/thunar ją widzi? Więc czemu robi takie problemy z pendrive?

Mała aktualicacja.
Wprowadziłem pewne zmiany w skrypcie które uwzględniłem w zamieszczonym powyżej skrypcie. Musiałem zrobić drugą funkcję z sudo w montowaniu dla udziałów sieciowych. Oczywiście mógłbym po prostu to dodać do pierwszej ale nie chcę mieć sudo przy pendrakach. Zapomniałem też o tym że do fstab dodałem odpowiednie wpisy odnośnie użytkowników Edytki i Kaśki.

Kod: Zaznacz cały

//192.168.0.4/Udostepnione	/media/Kaska       cifs    noauto,user,file_mode=0777,dir_mode=0777,iocharset=utf8 0 0
Niestety na użytkowniku Edytka zmieniłem system z XP na win7 i narazie mam problemy z konfiguracją wymiany plików bo powyższe ustawienia nie działają dla Win7. Ale wciąż walczę :) [/code]
greg23
Posty: 75
Rejestracja: 29 lipca 2008, 11:16

Post autor: greg23 »

Mnie spotkał podobny problem, po zaktualizowaniu gnome-power-manager do Squeeze wysiadło mi montowanie partycji NTFS (dokładniej ntfs-3g) - dało się to rozwiązać za pomocą dodania polecenia do sesji, ale nie potrafię sobie poradzić z automontowaniem przenośnych urządzeń USB :(
ODPOWIEDZ