Como eu programo o Python para que ele seja enviado para todos os terminais no Linux?

1

Estou programando um programa python para o raspberry pi. Existe uma maneira para mim, de modo que, quando o pi do framboesa exibir o texto, ele será exibido em todos os terminais que estão atualmente remotamente conectados via SSH?

    
por user3346931 29.06.2015 / 15:32

2 respostas

3

Você pode tentar usar o programa wall , mas os usuários conectados podem substituir e evitar ver as mensagens wall . Como alternativa, você pode tentar configurar e usar o syslog para enviar uma mensagem de um determinado recurso para o * location, que (na minha experiência) será exibido em todos os shells conectados.

    
por 29.06.2015 / 15:58
1

De uma forma muito simplista: você pode ver todos os pseudo-ttys em uso e escreva para todos eles. Use who para listar todos os logins atuais e seu tty, por exemplo:

$ who
me       tty1         Jun  1 07:09
brian    pts/0        Jun  1 07:15 (:pc1)
john     pts/1        Jun  1 07:15 (:pc88)
sue      pts/2        Jun  1 07:15 (:pc7)

A segunda coluna mostra, e. /dev/pts/0 está sendo usado pelo login brian . Você pode simplesmente escrever para ele, se você tiver permissão suficiente, por exemplo:

echo 'Msg from me: hello!' >/dev/pts/0

No meu sistema (não um pi, desculpe), você precisa estar no grupo tty ou ser root:

$ ls -l /dev/pts/0
crw--w---- 1 brian tty 136, 4 Jun 28 20:55 /dev/pts/0
    
por 29.06.2015 / 16:36

Tags