Portál AbcLinuxu, 30. dubna 2025 12:42
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.