Um script muito simples para alcançar tal coisa pode ser o seguinte:
#!/bin/bash
PERIOD=10 # s.
WARNING_TEXT="Warning: the connection to SKYNET was lost."
LANGUAGE="en"
ICON="notification-network-wireless-disconnected"
# conn_monitor.sh:
# polls the connection state after PERIOD seconds, and reads aloud a warning message
# in case there is no connection
#
# dependencies:
# - sudo apt-get install espeak binutils libmad libnotify-bin
# NOTES:
# - nm-tool has been replaced by nmcli in newer versions of ubuntu (>= 15.04),
# see the output of 'nmcli dev' to adapt this script to your needs.
function conn_monitor() {
while true :
do
sleep ${PERIOD}
mem_data=$(nm-tool | grep "State: connected")
if [[ -z "${mem_data}" ]]; then
notify-send "${WARNING_TEXT}" -i ${ICON} -u critical
paplay /usr/share/sounds/freedesktop/stereo/suspend-error.oga
espeak -a 200 -v ${LANGUAGE} "${WARNING_TEXT}"
fi
done
};
if [[ "$BASH_SOURCE" == "$0" ]]; then
conn_monitor $@
else
export -f conn_monitor
fi
Em seguida, você pode adicionar um arquivo chamado conn_monitor.desktop
in ~/.config/autostart
com o seguinte conteúdo:
[Desktop Entry]
Type=Application
Exec=..path..to..your..script..
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=Conn Monitor
Comment=
em que você define corretamente o caminho para o local do seu script.
Eu testei o script no ubuntu 14.04 .