zenity

zFenix

zFenix

zFenix é um script muito simplório que simplesmente fica monitorando via ping um determinado site, avisando quando ele mudar de up pra down ou vice-versa. E fica o ícone ali na bandeja...

Veja o código:

# Recebe via parâmetro de chamada a URL a verificar
SERVER=$1
VERSION="0.1"
# Pinga três vezes
PINGCOUNT=5
# Espera 5s entre um ping e outro
INTERVAL=5
# Diretório onde estão as imagens SVG
SVGPATH="/usr/share/icons/zfenix"

# uso interno
PREVIOUS=0
# loop eterno. A cada ciclo espera um tempo e executa
while sleep $INTERVAL; do
    ping -c $PINGCOUNT $SERVER > /dev/null
    ACTUALSTATUS=$?
    if [ ! "$ACTUALSTATUS" -eq "$PREVIOUS" ]
    then
        # se o status mudou, então alerte com um dialog e mude o ícone na bandeja
        if [ "$ACTUALSTATUS" -eq "0" ]
        then
            zenity --info --title="zFenix $VERSION" --text="Servidor $SERVER está on agora"
            SVGFILE=$SVGPATH"/up.svg"
        else
            zenity --warning --title="zFenix $VERSION" --text="Servidor $SERVER caiu"
            SVGFILE=$SVGPATH"/down.svg"
        fi
    fi
    PREVIOUS=$ACTUALSTATUS
    echo icon:$SVGFILE
done| zenity --notification --text="Monitorando $SERVER" --listen

GrandBG 0.4

Nova versão do sorteador de papéis de parede grandbg. A novidade é que agora o grandbg, usando o ImageMagick e o comando date, é capaz de colocar um calendário mensal na imagem sorteada (gerando um novo arquivo temporário).

Pergunto: para adicionar controles (para a nova versão, convém sair do zenity para o Gtk2Perl ou não?

zDaemon - GUI para chamar servi;os

zDaemon

Este é mais um nano-projeto que nasceu como um artigo no Bardo (este em 4 de março de 2007). A essa altura, acho que quem acompanha os dois blogs já deve ter percebido qual minha intenção. Vou deixar os artigos técnicos apenas no Cyaneus, e focar desenvolvimento, coisas muito simples mas também úteis, como é o caso do zdaemon.

A idéia

Bom, um daemon não tem nada a ver com demônios. Um daemon nada mais é do que um programa que executa sem necessidade de intervenção do usuário. Executa em segundo plano.

É um conceito de Unix, utilizado também pelo GNU/Linux (GNU is Not Unix quanto a código-fonte: em termos de projeto, GNU is Unix). Exemplos de programas que rodam como daemons são: Apache e MySQL. Porém há diversos e diversos outros daemons em um sistema Unix.

Um daemon geralmente é chamado de maneira direta, recebendo como parâmetro o que você quer que ele faça. Geralmente, tal ação se resume a: iniciar (start), parar (stop) ou reiniciar (restart). Algumas outras podem aparecer, mas estas são as mais comuns.

Então, quando queremos iniciar um daemon do apache, por exemplo, precisamos saber onde está o script desse daemon. No Debian, provavelmente estará em /etc/init.d e se chamará apache. Então, chamamos /etc/init.d/apache start.

Mas há casos em que nem sempre queremos que o daemon seja iniciado automaticamente ou outros em que precisamos reiniciar um servidor com freqüência.

A idéia, portanto, é termos um programa que faça uma GUI (interface gráfica) simples para um daemon de nossa escolha, nos permitindo iniciá-lo, pará-lo e reiniciá-lo rapidamente.

ZDaemon


zDaemon - Tela

O zdaemon foi feito para facilitar isso. Ele cria uma interface gráfica simples para iniciar, parar, etc, um serviço especificado em linha de comando. Em sua nova versão, ele consulta o daemon sobre quais opções estão disponíveis para só então listá-las.

Claro, dentre as inovações, há agora também um ícone para o programa! :-P

Como usar

Suponha que você use um computador com GNU/Linux sem poder instalar um servidor web. Sem problema! Você pode usar o Monkey, um servidor web muito leve e simples de instalar. Seu script de daemon se chama banana. Então, para executá-lo, basta chamar:

$ zdaemon monkey/bin/banana

Certo, mas e se você quer rodar é o apache mesmo? Você tem a senha de root, mas é claro que utiliza o computador com um usuario sem privilégios na maior parte do tempo. Então, o que fazer?

Para isso, você pode chamar o GKSu. Tudo o que o GKSu faz é pedir a senha de root e então executar o comando passado como root.

Para rodar o apache:

$ gksu "zdaemon /etc/init.d/apache"

Se você mexe muito com o Apache, por exemplo, pode criar um atalho com o comando acima mostrado. Isso facilita as coisas.

Bem, é isso. O zdaemon tem me ajudado um bocado e aqui está, se acharem útil também. ;-)

Subscribe to RSS - zenity

Warning: PHP Startup: Unable to load dynamic library '/opt/php56/lib/php/extensions/no-debug-non-zts-20131226/pdo.so' - /opt/php56/lib/php/extensions/no-debug-non-zts-20131226/pdo.so: cannot open shared object file: No such file or directory in Unknown on line 0

Warning: PHP Startup: Unable to load dynamic library '/opt/php56/lib/php/extensions/no-debug-non-zts-20131226/pdo_mysql.so' - /opt/php56/lib/php/extensions/no-debug-non-zts-20131226/pdo_mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0

Warning: PHP Startup: Unable to load dynamic library '/opt/php56/lib/php/extensions/no-debug-non-zts-20131226/php_pdo_odbc.dll' - /opt/php56/lib/php/extensions/no-debug-non-zts-20131226/php_pdo_odbc.dll: cannot open shared object file: No such file or directory in Unknown on line 0