Do wykrywania w systemie dysków zewnętrznych podłączanych przez USB używam takiego skryptu:
Kod: Zaznacz cały
#!/bin/bash
df -l | grep media | grep -ve 'sd[ab]' | while read line ; do
device=`echo $line | awk '{ print $1 }'`
mount=`echo $line | sed 's/.*\(\/media\/.*\)/\1/'`
mountnospace=`echo $line | sed 's/.*\(\/media\/.*\)/\1/' | sed 's/ /\\\ /g'`
if [ -n "$mountnospace" ]; then
echo '${goto 15}${font Tahoma:size=8}$color1'$mount'${alignr}${fs_free '$mount'}
${goto 15}${fs_bar 5,90 '$mount'}${font}'
fi
done
df -l | grep media | grep -ve 'sd[ab]' > /dev/null
if [ "$?" != "0" ]; then
echo '${voffset -40}'
fi
Wszystko pracuje normalnie do momentu bądź to odmontowania dysku bądź jego fizycznego usunięcia ponieważ wtedy w konsoli dostaję komunikat:
Kod: Zaznacz cały
Conky: statfs '/media/Test': No such file or directory
P.S.
Dodam, że wywołanie skryptu w pliku konfiguracyjnym conky wygląda tak:
Kod: Zaznacz cały
${execp /ścieżka do skryptu}
Kod: Zaznacz cały
${execpi 6 /ścieżka do skryptu}
Przyznam, że rozwiązania szukam od jakiegoś czasu, ale jak na razie bezskutecznie.