Du behöver först och främst ta reda på vart databasen sparar sin logg, eventuellt behöver du slå igång att den ska logga inloggningar också.
När du väl får den att logga till en fil på filsystemet, så använder du tex tail -f loggfil och pipar det till grep för att bara plocka ut det data du vill ha och sedan spara undan i en variabel.
Om loggfilen roterar behöver du köra -F istället för -f.
Exempel på hur man kan använda sig av loggen /var/log/auth.log
Såhär ser 2st loggrader ut i den. Om jag då kör en tail som nedan
Mar 11 11:03:48 compose sshd[26157]: pam_unix(sshd:session): session opened for user exempel by (uid=0)
Mar 11 18:23:47 compose sshd[17116]: pam_unix(sshd:session): session opened for user sidde by (uid=0)
Kör då kommandot
tail -f /var/log/auth.log |grep --line-buffered "pam_unix(sshd:session): session opened for user" | awk '{print "Inloggning med SSH klockan "$3" med user "$11}'
Vid varje inloggning puttar den då ut nedan output på consollen:
Inloggning med SSH klockan 11:03:48 med user exempel
Inloggning med SSH klockan 18:23:47 med user sidde
Edit:
Jag antar att man bör kunna lägga på: | xargs notify-send
direkt efter raden som så skickar den detta också.