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.

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

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:

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

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:

    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:

    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:

    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:

    Para voltar a recebê-las outra vez use:

    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 uma resposta

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.