Como mostrar uma notificação a Growl para todos os consoles Linux

1

Estou construindo um netbook linux de modo de texto. Gostaria de mostrar informações (como status da bateria) ao pressionar uma tecla de atalho, que apareceria no topo de qualquer programa em execução e desapareceria em alguns segundos, no console virtual atual. Existe alguma utilidade que eu poderia usar? "parede" não é o que eu quero dizer (não deve atrapalhar a tela, mas ser uma sobreposição)

    
por martin 29.06.2015 / 11:40

1 resposta

1

Não conheço um utilitário que faça isso. No entanto, você pode ter uma boa chance de implementar seus próprios usando os dispositivos /dev/vcs* .

A página do manual para vcs fornece um exemplo de programa que não apenas grava em uma tela do terminal via /dev/vcsN , mas também define atributos por meio de /dev/vcsaN .

Uma demonstração trivial pode ser vista com o seguinte código de shell de amostra. Observe que, se a tela rolar ou a linha superior for atualizada enquanto o texto é exibido, o conteúdo original será substituído no final do tempo de exibição da mensagem. (Esta não é uma verdadeira sobreposição; é uma substituição temporária.)

m="** THIS IS AN IMPORTANT MESSAGE **    "

for v in $(seq 7)
do
    d="/dev/vcs$v"
    if test -c "$d"
    then
        dd if="$d" bs=80 count=1 >"/tmp/save.$v"
        echo -n "$m" >"$d"
    fi
done

sleep 5

for v in $(seq 7)
do
    d="/dev/vcs$v"
    if test -c "$d" -a -f "/tmp/save.$v"
    then
        dd of="$d" bs=80 count=1 <"/tmp/save.$v"
        rm -f "/tmp/save.$v"
    fi
done
    
por 29.06.2015 / 12:19