Portál AbcLinuxu, 5. prosince 2025 23:22
Na ThinkWiki jsem narazil na moc zajímavý nápad a rozhodl jsem se udělat to po svém…
Odkazovaná stránka obsahuje skript v perlu, ale já jsem si to napsal v bashi, protože Perl není můj kobyl :P.
Říkáte si k čemu je to dobré? No popravdě řečeno, pořádně k ničemu, ale jako vtípek je to fajn a možná, až nebudete chtít, aby někdo odešel jen tak s vaším notebookem, tak to najde i pořádné uplatnění.
Moje implementace vypadá následovně:
$ cat /usr/local/bin/tp_theft.sh
#!/bin/bash
siren_volume=80
control="Master"
siren_cmd="sox -t null /dev/null -t alsa synth 1 sine 2000-4000 sine 4000-2000"
test_cmd="sox -t null /dev/null -t alsa synth 0.5 sine 2000-2000"
max_siren_count=5
thresh=3
interval=0.1
depth=10
hdaps_file='/sys/devices/platform/hdaps/position'
################################################################################
x_pos=0
y_pos=0
dangerous_count=0
trap '$test_cmd' EXIT
$test_cmd
sleep 0.1
$test_cmd
while true; do
sleep $interval
x_pos_last=$(sed -e s/,.*/\)/ $hdaps_file)
y_pos_last=$(sed -e s/.*,/\(/ $hdaps_file)
x_delta=$(($x_pos - $x_pos_last))
y_delta=$(($y_pos - $y_pos_last))
x_pos=$x_pos_last
y_pos=$y_pos_last
if [ $x_delta -lt $thresh -a $y_delta -lt $thresh -a \
$x_delta -gt -$thresh -a $y_delta -gt -$thresh ]; then
[ $dangerous_count -gt 0 ] &&
dangerous_count=$(($dangerous_count - 1))
else
[ $dangerous_count -gt $(($depth + $max_siren_count)) ] ||
dangerous_count=$(($dangerous_count + 1))
fi
if [ $dangerous_count -gt $depth ]; then
amixer set $control on
amixer set $control $siren_volume%
$siren_cmd
fi
done
Spouštění je řešeno ACPI tlačítkem, které vykoná následující:
if ! killall tp_theft.sh; then
lock
/usr/local/bin/tp_theft.sh&
fi
lock zamkne obrazovku, mimo to je vhodné zaklapnout víko displeje, aby se nedal notebook jednoduše vypnout, nebo stiskem vhodného tlačítka zabít skript na hlídání. Ono stejně potencoiálního zloděje asi nenapadne vypnout notebook nebo oddělávat baterii, prostě vidí a bere :P.
No a to je vše, užijte si houkání, a jen na závěr, musíte mít HDAPS, ale to je snad z podstaty věci jasné.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.