Conversando com outro administrador do sistema via terminal

Imagine que você e um outro companheiro estejam trabalhando na solução de um problema em dado sistema e este seu amigo foi até o CPD ver o servidor fisicamente. Ainda que estejam distantes, no CPD não haja um telefone e nem nenhum outro meio de comunicação por voz, saiba que vocês podem manter contato usando um comunicador via console formado pela dobradinha de comandos Wall/Write que é praticamente omnipresente na maioria das instalações Linux, o que dispensa a instalação de novos pacotes no seu servidor.

Este recurso faz parte da história dos ambientes Unix e por isso foi herdado pelo Linux mas praticamente caiu em desuso. Ainda assim há inumeras situações em que ele pode ser usado evitando o uso do telefone, do msn etc.

O importante é lembrar que todas as pessoas envolvidas deverão estar conectadas no mesmo servidor de alguma maneira (localmente, via ssh, via telnet etc). Uma vez que todas estejam conectadas no mesmo servidor é possível usar os comandos que serão apresentados a seguir.

Escrevendo no mural

Quando há mais de duas pessoas conectadas no mesmo servidor e você precisa dar algum recado a todas elas pode-se usar o comando wall. Isso enviará uma mensagem de broadcast para o servidor que a divulgará em todos os terminais.

Por exemplo se eu estiver logado no meu servidor “ldapserver” e executar o comando abaixo todos que estiverem com um terminal aberto neste servidor lerão a minha mensagem. Observe que “^D” significa que ao terminar de escrever a mensagem você deverá teclar CTRL+D indicando o final da mensagem.

welrbraga@ldapserver:~$ wall
Senhores eu acabo de encontrar um erro no arquivo slapd.conf. Vou restartar o servico e vamos ver no que da.
Torcam para dar certo!
^D

No terminal de todos os usuários conectados ao servidor teriamos o seguinte resultado:

cristovao@ldapserver :/~#

Mensagem de broadcast de welrbraga@ldapserver
(/dev/pts/3) at 10:58 ...
Senhores eu acabo de encontrar um erro no arquivo slapd.conf. Vou restartar o
servico e vamos ver no que da.
Torcam para dar certo!

Percebam que propositalmente eu não acentuei as mensagens. Isso porque em meus servidores os caracteres acentuados são substituidos pelos correspondentes códigos númericos.

Conversando com um único usuario

O comando write permite o envio de mensagens para um único usuário. Imagine que no exemplo ficticio acima o usuário Pedro também estivesse logado no servidor “ldapserver” e quisesse responder a mensagem apenas a mim, quem enviei a mensagem. Ele poderia fazer assim:

pedro@ldapserver:~$ write welrbraga
Estou de dedos cruzados. Manda ve. ;)
^D

O Cristovão que está conectado não receberá mensagem alguma, mas no meu terminal eu veria a seguinte mensagem:

welrbraga@ldapserver:~$

Message from pedro@ldapserver on pts/2 at 10:59 ...
Estou de dedos cruzados. Manda ve. ;)
EOF

Aqui vale algumas informações sobre o comando write:

  1. Caso o usuário “welrbraga” esteja conectado em mais de uma sessão assim que o Pedro invocasse o comando “write” veria a  mensagem como:
    write: welrbraga is logged in more than once; writing to pts/3

    e a mensagem seria enviada apenas para a minha sessão no terminal “pts/3”.

  2. Ainda com relação ao caso acima embora eu esteja logado em vários terminais a mensagem me foi entregue exclusivamente no terminal “pts/3” e motivo da escolha foi simples. O sistema detectou que foi nesta sessão onde eu tive a minha última atividade, então ele considera que deve ser ali que eu ainda esteja olhando.
  3. Se você quiser enviar uma mensagem para outro terminal que não o último usado pelo destinatário você pode indicá-lo logo após o seu nome. Por exemplo:
    cristovao@ldapserver:~$ write welrbraga pts/0

    enviaria uma mensagem para o usuário welrbraga no terminal pts/0. Para saber em quais terminais os usuários estão logados basta digitar o comando “who”.

  4. Caso você queira enviar uma mensagem que esteja escrita em um arquivo, basta fazer um redirecionamento assim:
    cristovao@ldapserver:~$ write welrbraga <slapd.conf

    isso enviaria todo o conteúdo do arquivo para o console do destinatário

  5. Não é possível enviar mensagens para o usuário root, mas se você logar com seu usuário comum e usar uma sessão via “su” será possível receber mensagens endereçada ao seu usuário
  6. Se você não quiser receber mensagens basta digitar o comando:
    mesg n

    Para voltar a recebê-las outra vez use:

    mesg y

    entretanto mensagens enviadas pelo root sempre são recebidas mesmo por quem tenha configurado mesg n

Para mais informações consulte as páginas de manual dos comandos write, wall, who e aproveite os recursos que já estão disponíveis no seu sistema.

2 comentários em “Conversando com outro administrador do sistema via terminal”

  1. Olá @Davidson , certamente que a sua conexão entre seu desktop e o servidor será sim criptografada, mas observe que os comandos “wall” e “write” não enviam qualquer pacote pela rede, eles rodam apenas localmente.
    Não tem como enviar uma mensagem, por exemlo do servidor 192.168.1.1 para o servidor 192.168.1.7. O objetivo destes comandos é permitir a comunicação entre os usuários que estão logados em um mesmo servidor, seja por telnet, ssh ou mesmo via console local.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.