Neste artigo veremos como enviar mensagens para a tela do usuário, o que pode ser útil no caso da necessidade de reiniciar o teu servidor, avisando todos os usuários de sua rede ou os quais você desejar.
Crie dentro do diretório HOME do usuário que você utiliza um arquivo chamado "mensagem". Nesse arquivo teremos as escritas ou a mensagem que você deseja enviar para outros usuários.
Crie também dentro do diretório HOME um arquivo chamado "e-mensagem". Dentro desse arquivo colocaremos os comandos que enviam mensagens para cada usuário. Ex:
#!/bin/bash
cat mensagem | smbclient -U "Usuário" -R host -I "IP da máquina" -M "usuário de destino"
cat mensagem | smbclient -U "Usuário" -R host -I "IP da máquina" -M "usuário de destino"
cat mensagem | smbclient -U "Usuário" -R host -I "IP da máquina" -M "usuário de destino"
Entendendo as linhas acima:
smbclient -U "Usuário" - É o usuário que está enviando;
-R host - É o tipo de pesquisa que ele irá fazer na rede;
-I "IP da máquina" - O ip da máquina destino;
-M "usuário de destino" - Nome da máquina destino na rede.
OBS:
Repita as linhas para quantos usuários desejar, modificando o ip da máquina destino e o nome dela na rede.
Não esqueça de dar permissão de execução para o arquivo e-mensagem. Ex: chmod u+x e-mensagem
Botando pra funcionar:
Na prática, o que você tem que fazer é editar o arquivo "mensagem", escrever a mensagem que deseja enviar para os usuários e depois executar o arquivo "e-mensagem".
Pronto!
Se você fez tudo certo, a mensagem foi enviada para a lista de usuários.
[2] Comentário enviado por solucoesnandor em 17/09/2006 - 02:28h
Legal, vou anotar sua sugestão.
Ainda pode encontrar o LinPopUp, Kpopup, etc.
Essa é apenas uma demonstração do tipo "faça você mesmo"
Mas mesmo assim agradeço a contribuição.
Abraço
[4] Comentário enviado por monsores em 17/09/2006 - 11:05h
Você não precisa necessariamente criar um arquivo com a mensagem para usar no 'cat'.
Nos meus scripts eu uso 'echo' para facilitar.
# echo "Mensagem a ser enviada" | smbclient -I "IP da máquina"
[5] Comentário enviado por svicente em 17/09/2006 - 18:42h
Curioso, justamente HOJE eu estava procurando uma forma de fazer isto entre as minhas estações de trabalho e tinha visto soluções parecidas com esta, mas NENHUMA que explicasse como fazer o contrário, ou seja, do Windows (via "net send") vc alcançar um desktop Linux. ALLguém saberia dizer como? Tentei o "talk" e não rolou... Abç.
[8] Comentário enviado por solucoesnandor em 18/09/2006 - 09:20h
Caro svicente
Tem sim como você mandar windows X Linux basta fazer as seguintes alterações:
- No smb.conf altere ou adicione a seguinte linha:
message command = csh -c 'xedit %s;rm %s' &
- Tenha certeza de que você tem o xedit instalado.
- Reinicie o serviço do smb.
Pronto !
Obs:
- Não me lembro se você tem que iniciar o xedit na sessão do usuario.
- Em alguns casos tem que especificar a maquina no lmhosts da maquina linux.
Ambiente testado:
- Conectiva 10
smb
- Windows 2000 pro
[11] Comentário enviado por professordenis em 26/02/2007 - 09:04h
Muito interessante o script. Como ele ficaria para enviar mensagens de um terminal Linux para outro terminal Linux? Aí não precisaria do Samba, correto?
Antes que um tijolo me atinja, sou novato em shell script e meu conhecimento de Linux ainda é básico.
[14] Comentário enviado por cytron em 08/02/2008 - 12:40h
O legal é ver como uma solução apresentada no VOL pode gerar várias outras soluções. Por isso eu gosto daqui!
Eita pessoal que sabe das coisas! rs rs rs!
O VOL está de parabéns! Quando digo VOL, estou dizendo Vocês! Que sempre enriquecem o conteúdo.
Só a título de curiosidade: O conteúdo do VOL é tão rico, que conheço "admins" de empresas de telefonia fixa e móvel e até agências bancárias que vêm aqui buscar ajuda.
Estamos de parabéns! Nosso colegismo e espírito comunitário são únicos!
Ah! Não podia esquecer... gostei dos métodos, se houvesse uma maneira de enviar mensagens para windows sem precisar ativar o mensageiro.... rs rs rs, seria a cartada final!
[15] Comentário enviado por lordsun7 em 25/06/2009 - 10:43h
solucoesnandor, cara vi seu artigo, eu testei de varias maneiras, deu certo só 50%.
Causa: o script envia a mensagem correta e não aparece na tela do usuário, mas com outras q eu tentei usando o seu script deu certo da seguinte forma, instalei um programa chamado linpopup q já vem no ubunto 8.10 é o sistema q estou usando agora, o linpopup deve está em execução para aparecer a mensagem. Cara existe outra maneira de fazer isso.
Gostaria q fosse assim, do servidor envia a mensagem para o terminal do usuário e automaticamente aparece na tela do mesmo com se fosse o net send o ruindows.