MAC: Login Foto für lau

Wenn man wissen möchte „Wer hat an meinem MAC gespielt ?“ geht das sehr einfach mit einem kleinen Tool.

Benötigt wird das kleine Komandozeilen Tool wacaw.

Beim Testen ist mir aufgefallen, das die Dateinamenlänge bei Videos begrenzt ist.

Des weiteren will mein ffmpeg die erstellen Videos, welche unkomprimiert und dadurch sehr gross sind, nicht konvertieren. Fehlermeldung:

swScaler: Unknown format is not supported as input pixel format.
Cannot get resampling context.

Eine aktuell aus dem SVN compilierte Version macht jedoch keine Probleme und convertiert das Video.

Um nun beim Login und beim Logout die Person vor dem Rechner kurz zu fotografieren und ein kleines Video mit Ton aufzunehmen benötigt man auser dem wacaw Tool zwei Scripts.

Meine Ordnerstruktur:

/Users/meinname/shoot
/data/
/install.sh
/shoot.sh
/wacaw

Das Install Script ist zum Installieren der login/Logout Hooks. im /data/ Ordner werden die erstellten Videos+Fotos gespeichert.

install.sh:

#!/bin/bash

mydir=$(dirname $0)
cd $mydir
mydir=$(pwd)

if [ $UID != "0" ] ; then
	echo
	echo "login/logoff shooter installer"
	echo
	echo "this script installs a login/logout hook for creating a iSight login-video + screenshot"
	echo
	echo "	syntax: sudo $0"
	echo
	exit 255
fi

#install login hook
echo -e "#!/bin/bash\n" > /usr/local/bin/shootloginscript
echo -e "$mydir/shoot.sh login\n" >> /usr/local/bin/shootloginscript
chmod +x /usr/local/bin/shootloginscript
sudo defaults write com.apple.loginwindow LoginHook /usr/local/bin/shootloginscript

#install logout hook
echo -e "#!/bin/bash\n" > /usr/local/bin/shootlogoutscript
echo -e "$mydir/shoot.sh logout\n" >> /usr/local/bin/shootlogoutscript
chmod +x /usr/local/bin/shootlogoutscript
sudo defaults write com.apple.loginwindow LogoutHook /usr/local/bin/shootlogoutscript

#uninstall:
#sudo defaults delete com.apple.loginwindow LoginHook
#sudo defaults delete com.apple.loginwindow LogoutHook

echo -e "shoot installation done."

shoot.sh:

#!/bin/bash

mydir=$(dirname $0)
cd $mydir
mydir=$(pwd)
mkdir $mydir/data > /dev/null 2>&1

outfile="$mydir/data/$(date "+%Y%m%d_%H%M%S")_$1"
echo "$outfile"
	./wacaw -n 5 --png --SVGA $outfile

outfile="$mydir/data/$(date "+%Y%m%d_%H%M%S")_$1"
if [ "$1" == "logout" ] ; then
	./wacaw  --video --duration 5 --VGA $outfile
else
	./wacaw  --video --duration 30 --VGA $outfile
fi

if [ "$1" == "login" ] ; then
	#if login - then make two more shoots in 30s and 60s
	(sleep 120 ; $0 after) &
	(sleep 240 ; $0 after) &
fi

Wenn die beiden Scripte erstellt sind, kann installiert werden:

cd /Users/meinname/shoot
sudo ./install.sh

Nun testweise ausloggen und wieder einloggen.
Im „data“ Ordner sind nun die Erstellten Videos und Fotos.

Nun ist es schlau dies auf einem Account zumachen, welcher ohne Passwort oder mit Auto-Login funktioniert.

Als Diebstahlschutz kann man die erstellten Fotos und Videos (vorher convertieren damit sie kleiner werden) – wenn eine Internet Verbindung besteht – mit „curl“ auf einen FTP hochladen. Der FTP Account sollte möglichst nur Schreibzugriff haben und keine Berechtigung zum löschen der hochgeladenen Dateien.
Wenn der Rechner mal gestohlen wird und der Dieb das Gerät mit aktivem Internet bootet – so hat man ein schönes Bild des Diebs und dessen IP, so wie hier.

Leider lässt sich die grüne LED der iSight-Cam nicht abschalten.