Como fazer com que a CPU envie uma mensagem para o usuário?

1. Como fazer com que a CPU envie uma mensagem para o usuário?

toninho
gem

(usa Debian)

Enviado em 21/10/2008 - 16:14h

Bem, o que eu quero é o seguinte:
Criei um script com o dialog que monitora quando a tecla power da CPU é pressionada e abre um menu de opções para o usuário. Quando eu executo o script diretamente do terminal, o menu abre na tela e eu posso escolher a ação a executar. Porém, se eu pressiono a tecla power o script é chamado mas o menu do dialog não aparece na tela. Como eu faço pra que isso aconteça?


  


2. Re: Como fazer com que a CPU envie uma mensagem para o usuário?

Sandro Marcell
SMarcell

(usa Slackware)

Enviado em 22/10/2008 - 02:12h

Ficaria mais fácil obter ajuda, se tu postasse o código do script, pra galera dar uma analisada. Não acha?


3. Re: Como fazer com que a CPU envie uma mensagem para o usuário?

Marco Carvalho de Oliveira
demoncyber

(usa FreeBSD)

Enviado em 22/10/2008 - 03:45h

Eu acredito que o seu problema seja q o keylogger q vc fez para a tecla power esteja sendo rodado como root e o vc quer q o dialog apareca na tela de desktop do usuário, para tanto vc deve verificar junto ao programa qual o parametro ou variável de ambiente para setar o DISPLAY correto :) que a mensagem deve aparecer, dah uma pesquisada sobre.

Espero ter ajudado


4. Re: Como fazer com que a CPU envie uma mensagem para o usuário?

toninho
gem

(usa Debian)

Enviado em 22/10/2008 - 09:36h

Segue abaixo o conteúdo do arquivo sample.conf que fica na pasta /etc/acpi/events e que monitora a tecla power. Por default ele chama o shutdown. Apenas substituí a linha pra chamar o script que estou preparando.

# This is a sample ACPID configuration

event=button/power.*
#action=/sbin/shutdown -h now
action=/etc/acpi/events/teste.sh
~

############################################

Abaixo está o script que estou criando. Note que coloquei um "wall" no início do script. Quando rodo o script do terminal aparece pra mim a mensagem do "wall" e na sequência abre o menu do dialog pra eu escolher a opção desejada e tudo funciona corretamente ( Falta apenas substituir os "echos" pelos comandos desejados e testar). Porém se eu aperto a tecla power, a mensagem do "wall" aparece na tela mas não aparece o menu do dialog, por isso acho que seja realmente o que o demoncyber disse, mas não sei como fazer com que o dialog abra o menu pro usuário que estiver usando o PC.

wall mensagem
sleep 3

acao=$( dialog \
--stdout \
--menu 'Voce está tentando desligar incorretamente o computador. NUNCA FAÇA ISSO. Escolha o abaixo o que você deseja fazer:' \
15 60 3 \
a 'Desligar corretamente o computador' \
b 'Reiniciar corretamente o computador' \
c 'Sair desse menu sem fazer nada' )

case $acao in
a)echo "opção a" ;;
b)echo "opção b" ;;
c)echo "opção c" ;;
*) exit ;;
esac
~
~



5. Re: Como fazer com que a CPU envie uma mensagem para o usuário?

Renan
hellupline

(usa Ubuntu)

Enviado em 22/02/2009 - 22:48h

hm, troque o commando do script por isso:
'dialog --yesno 'teste' 0 0 2>&1 /root/saida_dialog'

dai aperte a tecla power e nos diga aqui qual foi a saida de erro do dialog,

eu creio que seja a variavel TERM, o dialog depende dela

tente setar essa variavel no script, assim:
TERM='linux'






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts