Chat sous Samba

Publié le par pti-jean

Bonsoir,

Aujourd'hui, j'ai bataillé sur les configs des chats samba (voisinage réseau sous Windows) (chat en réseau lan... réseau local)

Tous d'abord je souhaitais chater entre Gnu/Linux et Windows. D'où l'intérêt de trouver des logiciels compatibles.

Sous Gnu/Linux il y a LinPopUp.
Il me fallait donc un logiciel compatible sous Windows. Je pensais l'affaire simple, mais non!
WinPopUp n'est pas gratuit... je n'avais pas l'intention de dépenser de l'argent pour ma bidouille... et me mettre or la loi en piratant... Cela ne m'apporte rien!
Il y a sous Windows RealPopUp... Un logiciel que j'utilisais à l'époque sous Windows 95/98, mais aujourd'hui, les versions actuelles sont à demi-compatibles avec LinPopUp (RealPopUp semble muet pour émettre ver LinPopUP)

Je me suis dont tourné ver ce qu'il y a de natif sous Windows XP pour faire ça... cad la ligne de commandes.
En ligne de commandes sous Windows, on peut envoyer un message comme ça:
> net send nom-rezo-machine message que j'envoie.
ou:
> net send ip message que j'envoie.

Attention: Chez moi la commande "net send" était désactivé par défaut. Pour l'activer il faut démarrer le service "Affichage des messages"

Bien sur la ligne de commandes c'est pas top, j'ai donc trouvé un front-end pour remplacer "net send" par une jolie fenêtre... Ce front-end s'appelle "A-NetSend".

Sous Gnu/Linux il faut que samba soit installer et aussi donc LinPopUp.
Dans le fichier de comf samba (/etc/samba/smb.conf), il y a une ligne magique qui commence par: "message command ="... Cette ligne est très importante pour mous.
Par défaut cette linge doit avoir: "message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' &" pour pouvoir fonctionner.
Et par défaut cela doit fonctionné... On doit pouvoir s'envoyer des messages dans tout les sens.

Sauf que... sous Windows l'arrivée du message provoque une fenêtre surgissante avec la quelle ont ne peut pas le louper... sous Gnu/Linux à l'arrivée du message, il ne se produit rien, et si ont a l'idée d'exécuter LinPopUp, on peut voir ces messages archivé.

Je souhaitais donc provoquer une fenêtre surgissante sous Gnu/Linux, comme cela se fait sous Windows.
Jolie prise de tête, pour moi qui ne suis qu'un programmeur occasionnel... N'est en mois j'ai une solution à vous proposer.
La Voici:

Sous le fichier de conf samba avec vim comme ceci:
# vim /etc/samba/smb.conf
Je cherche la ligne me concernent (celle du "message command =")... Je la remplace par:
message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s; /bin/touch /tmp/recu-ok-de-LinPopUp' &

Ceci n'est que le début car, j'ai automatiser des taches grâce au gestionnaire cron.
Donc sous root exécuter cette commande:
# crontab -u root -e
Sous Ubuntu cela donne:
# sudo crontab -u root -e

A la fin du fichier ajouter:
*/1 *   *   *   *       cat /tmp/recu-ok-de-LinPopUp 2>/dev/null && /bin/sh /tmp/recu-ok-de-LinPopUp > /dev/null
Et sauvegarder.

Maintenant ont modifie le crontab des utilisateurs qui veulent recevoir les messages...
Toujours en root:
# crontab -u pti-jean -e
(mon utilisateur est bien "pti-jean")
A la fin du fichier ajouter:
*/1 *   *   *  *  /bin/cat /tmp/recu-ok-de-LinPopUp 2>/dev/null && /bin/sh -c 'echo rm -f /tmp/recu-ok-de-LinPopUp > /tmp/recu-ok-de-LinPopUp; /bin/ps -C linpopup --format user | /bin/grep "$LOGNAME" || /usr/bin/kstart --display :0 /usr/bin/linpopup' > /dev/null
C'est long mais faut ce qu'il faut!

Et voila le tour est jouer.

Petit plus:
Sous Gnu/Linux ont peut aussi envoyer des messages en ligne de commandes.
ex:
$ smbclient -M 192.168.1.15
Connected. Type your message, ending it with a Control-D
Coucou c'est moi!
sent 19 bytes

Seulement dans mon exemple cela ne fonctionne que de Gnu/Linux à Gnu/Linux et pas de Gnu/Linux à Windows (vas savoir pourquoi???)

Sur ce bonne nuit,

Publié dans Astuces

Pour être informé des derniers articles, inscrivez vous :

Commenter cet article

machine a sous 10/08/2012 11:48

J'adore la compagnie apple.