Pular para o conteúdo principal

Notificando usuários

No Ubuntu é necessário instalar o pacote libnotify-bin, este é o pacote que contém o utilitário notify-send usado no script de notificação. Este script tem uma vantagem de pode notificar os usuários mesmo quando é executado via cron


#!/bin/sh
user=`whoami`
pids=`pgrep -u $user "xfce4-session|gnome-session"`
title=$1
text=$2
timeout=$3

if [ -z "$title" ]; then
echo Você precisa fornecer um título >&2
exit 1
fi
if [ -z "$text" ]; then
text=$title
fi
if [ -z "$timeout" ]; then
timeout=60000
fi

for pid in $pids; do
# find DBUS session bus for this session
DBUS_SESSION_BUS_ADDRESS=`grep -z DBUS_SESSION_BUS_ADDRESS \
/proc/$pid/environ | sed -e 's/DBUS_SESSION_BUS_ADDRESS=//'`
# use it
echo $DBUS_SESSION_BUS_ADDRESS $pid
DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS \
export DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS
notify-send -i dialog-warning -u normal -t $timeout "$title" "$text"
done



O código fonte original deste script encontra-se aqui.

Para que uma notificação seja exibida no trigésimo minuto de cada hora, devemos programar uma entrada na crontab da seguinte forma:

30 */1 * * * notifyUser.sh "Lembre-se" "Está na hora de beber água." 60000


Mais aplicações para este script ficam a cargo da sua imaginação.

Postagens mais visitadas deste blog

VIM: Como copiar blocos de texto lado a lado

Supondo que você possua o seguinte texto e esteja usando o VIM para editá-lo, 1o. bloco aaa bbbbb ccc 2o. bloco ddd eeeee fff e queira colocar o segundo bloco ao lado do primeiro, podemos utilizar os seguintes comandos do VIM para tal tarefa: Mova o cursor até o início do segundo bloco e tecle CTRL-v; Mova o cursor de seleção até o final do bloco que é na linha cujo conteúdo é "fff"; Tecle $ para selecionar até o final de linha; Tecle d para apagar a seleção; Mova o cursor para o final da primeira linha do primeiro bloco, tecle a e insira a quantidade de espaços ou tabulações necessários; Tecle CTRL-v e SHIFT-p para colar o bloco apagado anteriormente na posição do cursor. Assim teremos o seguinte resultado, 1o. bloco 2o. bloco aaa ddd bbbbb eeeee ccc fff

Resolvendo problema UnsignedAccessViolationException com applets JAVA

Após atualizar a versão do Java para 6u33 ou 7u5 algumas aplicações JAVA Web Start (JWS) passaram a apresentar falha com a seguinte mensagem de erro: "Erro: aplicativo não assinado solicitando acesso ilimitado ao sistema" (UnsignedAccessViolationException). Achei a solução aqui que basicamente consiste em limpar o cache JAVA: 1. Feche a aplicação ou applet Java 2. Abra o Painel de Controle Java ( $JAVA_PATH/bin/ControlPanel ) 3. Clique em Configurações... na seção Arquivos temporários de Internet 4. Clique em Excluir arquivos... Nota: Isto exclui todas as aplicações e applets baixados para o cache . 5. Clique em OK na janela Arquivos temporários excluídos 6. Reinicie sua aplicação ou applet

Como instalar extensões no Gnome Shell manualmente

As extensões do Gnome Shell são instaladas em /usr/share/gnome-shell/extensions ou em ~/.local/share/gnome-shell/extensions, sendo o primeiro global e o segundo válido apenas para o próprio usuário. Para instalar uma extensão de forma manual, obtenha o pacote ZIP correspondente a extensão desejada em https://extensions.gnome.org . Em cada página de extensão do extentions.gnome.org há um link que aponta para a Home Page do projeto. Seguindo um desses links , procure o pacote ZIP para download . Após o download do ZIP, abra-o com o Gerenciador de Pacotes conforme: Clique no botão Extrair , use a combinação de teclas Control+H para exibir arquivos ocultos e navegue até o diretório ~/.local/share/gnome-shell/extensions , quando estiver no diretório clique no botão Criar pasta e digite o nome do novo diretório (obs.: use o nome da extensão). Depois de criada a pasta, selecione-a e clique em Extrair . Por garantia efetue logout e abra uma nova sessão do Gnome She...