Contenu | Rechercher | Menus

Annonce

La nouvelle clé USB Ubuntu-fr est en prévente
Rendez-vous sur la boutique En Vente Libre

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 28/06/2009, à 19:36

Zakhar

[Geek] Mon MSN à moi !

Les non Geeks passez votre chemin, vous n'allez pas aimer chatter à la console en SSH lol big_smile

J'ai découvert cette petite merveille en améliorant mon programme déjà super-Geek pour regarder la télé à distance.

En effet, depuis déjà quelques années, j'ai écrit un petit programme basé sur VLC (uniquement en techno Web via l'interface HTTP de VLC) pour regarder la télé à distance.

La problématique à résoudre est que mes parents n'ont pas de télévision hertzienne dans leur campagne à cause des montagnes environnantes. Ils ont cependant un ADSL, non dégroupé bien sûr, et compte tenu de la distance, à environ 1,5Mpbs. C'est donc un ADSL de base sans service télé.

La solution : depuis l'autre bout de la France, avec ma ligne free, j'ai un VLC en interface HTTP démarré dans mon init.d
Côté "campagne", une page Web de mon crû permet de se connecter au serveur, de piloter la chaine à regarder, et d'obtenir une rediffusion via le plugin VLC de firefox.

A une époque j'avais fait tout ça sous XP, puis maintenant sous Ubuntu aussi bien côté serveur que client.

Il restait un problème : je ne sais pas quand mes parents sont connectés pour regarder la télé (à part faire un top en console et constater que mon VLC en tâche de fond consomme du CPU !) et donc le risque est d'éteindre mon PC, qui sert aussi de serveur, pendant la diffusion de la "télé à distance".

Alors je me suis dit... "tiens donc, les notifications c'est sympa, si je pouvais les utiliser pour signaler les actions du PC à distance ce serait sympa"

Ainsi est née la Messagerie instannée pour Geek absolu sous Ubuntu !

La condition : bien sûr vous ne pourrez envoyer des messages instantannés qu'aux gens que vous connaissez bien puisqu'il vous faut le mot de passe d'un compte sur la machine cible. Mais comme vous êtes le Geek de la famille, vous avez installé et configuré toutes les machines de votre entourage et ce n'est donc pas un problème !

On y va !
Alors sur la machine où vous voulez envoyer les messages il faut installer l'utilitaire pour envoyer des notifications.

sudo apt-get install libnotify-bin

Un petit test en console

notify-send Test Message

En bas à droite de votre écran, vous devez voir apparaître une petite notification avec le titre Test et le message : Message

Ca c'est déjà sympa, mais il reste un problème, ça ne marche que pour l'utilisateur en session... donc il va falloir rajouter :

xhost +local:root

Rajoutez la commande au démarrage de session de l'utilisateur à qui vous voulez envoyer des messages.
Pour Gnome, ça se passe dans Système >> Préférences >> Sessions >> (onglet) Programmmes au démarrage.
(Pour KDE... je vous laisse chercher !)


Maintenant depuis votre poste distant

ssh IP:du:PC:distant

Et vous voila paré pour envoyer des petits messages par notification à toute votre famille.

Allez un petit exemple sympa pour la route :

DISPLAY=:0.0 notify-send -h int:x:1050 -h int:y:14 -i /usr/share/icons/default.kde4/32x32/emotes/face-kiss.png "Message de Zakhar" "Bisous à toute la famille"

En images :
im.png

C'est sûr, comme votre famille c'est pas tous des Geek comme vous, ils vont avoir du mal à vous répondre pareillement mais ça va les impressionner !

DISPLAY=:0.0 dans la commande ci-dessus permet d'adresser la notification pour l'utilisateur en session, et non pas à votre SSH. Votre session SSH n'ayant pas de server X, aucune chance qu'elle affiche une notification !
Et pour que le DISPLAY=:0.0 soit possible, il faut que le serveur X l'autorise, d'où la commande xhost ci-dessus pour cela

(*) bien sûr dans le cadre de mon programme "télé à distance", la notification passe via PHP... et non, je ne peux pas vous faire essayer vu que c'est tout sous OpenVPN bien sûr !


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#2 Le 30/06/2009, à 16:06

Geoffrey35

Re : [Geek] Mon MSN à moi !

Mdr!


Ubuntu, c'est pas non plus...

Hors ligne

#3 Le 30/06/2009, à 16:44

fove

Re : [Geek] Mon MSN à moi !

mouai


ACTA attaque l'internet attaquons ACTA
Black-aout contre ACTA sur Ubuntu-fr.org : http://forum.ubuntu-fr.org/viewtopic.php?id=376173
Soutenons la quadrature du net : http://www.laquadrature.net/fr/acta-attaque-linternet-attaquons-acta

Hors ligne

#4 Le 30/06/2009, à 20:36

haile_selassie

Re : [Geek] Mon MSN à moi !

lol Excellent

Hors ligne

#5 Le 02/07/2009, à 09:40

aresh

Re : [Geek] Mon MSN à moi !

On est à la limite du White hate non ? Plutôt que du Geek ?


smile

Dernière modification par aresh (Le 02/07/2009, à 09:40)


les Windowsiens critiquant GNU/Linux savent très rarement de quoi ils parlent, et les Linuxiens critiquant Windows savent trop souvent de quoi ils parlent.

Hors ligne

#6 Le 02/07/2009, à 11:16

Zakhar

Re : [Geek] Mon MSN à moi !

Arg... je suis pas assez Geek pour savoir ce que tu entends par "White hate". As-tu un lien explicatif ?


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#7 Le 02/07/2009, à 11:21

Emralegna

Re : [Geek] Mon MSN à moi !

Vraiment super ! cool

Hors ligne

#8 Le 02/07/2009, à 11:25

Ehorinn

Re : [Geek] Mon MSN à moi !

"Opposé" au "black hat" (Chapeau noir)
http://fr.wikipedia.org/wiki/Black_hat

Dernière modification par Ehorinn (Le 02/07/2009, à 15:02)

Hors ligne

#9 Le 02/07/2009, à 15:01

Zakhar

Re : [Geek] Mon MSN à moi !

Ok, White hat donc (il y avait une faute... hat et hate c'est pas pareil !)

Merci pour le lien big_smile


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#10 Le 02/07/2009, à 15:09

guilhem91

Re : [Geek] Mon MSN à moi !

impressionnant big_smile

j'ai testé ça aujourd'hui; ça marche super bien smile

bravo à toi, Zakhar lol


Debian Squeeze 6.0.1 64 bits sur AMD Phenom II X4 945 3GHz + Nvidia Geforce 9600 GT

Mon site : GNU/Linux, et conseils en vrac...

Hors ligne

#11 Le 02/07/2009, à 15:58

boufonman35

Re : [Geek] Mon MSN à moi !

Sympa sympa, il me semble qu'il y a pareil sous windows roll


Le libre à un seul défaut > On en devient accroc !

Hors ligne

#12 Le 02/07/2009, à 15:58

Notifan

Re : [Geek] Mon MSN à moi !

Salut,

J'avais eu l'idee de creer un petit chat avec zenity-notify mais sans passer par ssh avec un petit serveur SQL.
C'est assez simple à faire mais le truc c'est qu'il faut etre devant sa machine et avoir le temps de lire le message parce qu'il ne reste pas affiché eternelement et si un autre est envoyé a la suite ca enleve le precedent.

Ca peut quand meme faire un outil plus twiter que chat.

Je n'avais pas pensé au SSH mais ça me parait plus simple smile

Pourquoi White hat ? Rien à voir, c'est de la bidouille, du hack sans forcer quoi que ce soit puisqu'il faut connaitre le login/pass et configurer un serveur SSH sur la machine distante ?

#13 Le 02/07/2009, à 16:01

Notifan

Re : [Geek] Mon MSN à moi !

Sympa sympa, il me semble qu'il y a pareil sous windows

Ah netsend... lol

#14 Le 02/07/2009, à 16:59

Zakhar

Re : [Geek] Mon MSN à moi !

Notifan a écrit :

Sympa sympa, il me semble qu'il y a pareil sous windows

Ah netsend... lol

Ca c'est plutôt l'équivalent du write en console

@Notifan, en réalité je ne fais pas la commande directement.
Je passe par un script PHP qui fait la commande.
Le script PHP est invoqué avec les paramètres de la commande :

h t t p: // ma.machine.com/notify.php?title=Titre&message=Message

Donc rien n'empêche de faire une page PHP plus complète avec un formulaire permettant d'envoyer les messages à tes amis. C'est assez basique à faire ce genre de chose en PHP.

Ca permet par exemple à ta famille, qui n'est pas Geek du tout, de répondre à tes messages par la même voie en utilisant simplement une interface web toute simple. wink

L'autre intérêt du PHP est sécuritaire, ça évite de donner des accès SSH à ceux qui veulent t'écrire, tu donnes juste l'adresse de la page PHP.

Notifan a écrit :

C'est assez simple à faire mais le truc c'est qu'il faut etre devant sa machine et avoir le temps de lire le message parce qu'il ne reste pas affiché eternelement et si un autre est envoyé a la suite ca enleve le precedent.

Oui, c'est précisément le cahier des charges des notifications : être non-intrusif.

C'est à dire que c'est sensé ne pas gêner l'utilisateur dans ce qu'il est en train de faire.

Cela dit, si le temps d'affichage te paraît trop court tu peux le rallonger, il y a une option pour ça big_smile

Dernière modification par Zakhar (Le 02/07/2009, à 17:02)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#15 Le 02/07/2009, à 23:30

Zakhar

Re : [Geek] Mon MSN à moi !

Suite du challenge pour Geek !

Bon, maintenant il va s'agir de faire jouer un son lorsqu'un message arrive.
Je pourrais certes recompiler (ou essayer) le daemon de notification avec l'option de son (il est compilé sans visiblement), mais je vais tenter une autre méthode !

Vu que mes messages bulle sont lancés à partir de PhP, je peux rajouter à l'exec() la commande (exemple) :

paplay /usr/share/sounds/purple/login.wav

Le problème semble le même qu'on a réglé plus haut avec DISPLAY=:0.0

En réalité lorsqu'on fait ça depuis PHP (ou depuis le compte www-data, ce qui est équivalent) on obtient :

Connection failure: connection refused

Donc visiblement le serveur pulseaudio refuse que PhP l'utilise. Pas cool !

J'ai trouvé quelques explications qui prétendent qu'il faut rajouter le user aux groupes pulse-access, pulse-rt ou audio. J'ai fait les trois, mais toujours sans succès.

Si un spécialiste du hacking de pulse passe dans les parages et connaît la réponse je suis preneur !

... en attendant je continue à chercher wink


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#16 Le 04/07/2009, à 17:56

Zakhar

Re : [Geek] Mon MSN à moi !

Solution du challenge... ou comment envoyer aussi du son en plus de la notification !

Bon eh bien en réalité c'est tout bête.

Il faut activer le support tcp pour PulseAudio, sinon il n'y a que l'utilisateur en session qui peut l'utiliser (car en standard sur Ubuntu, PulseAudio est lancé en mode "par session").

Donc pour ça on peut installer paprefs... mais comme on est geek et qu'on veut éviter des interfaces graphiques inutiles qui encombrent le disque, on va la faire en modifiant les fichiers de configuration.

sudo gedit /etc/pulse/default.pa

Il s'agit de décommenter :

#load-module module-esound-protocol-tcp
#load-module module-native-protocol-tcp

On va profiter qu'on le fait proprement pour n'autoriser que les adresses IP qu'on choisit

load-module module-esound-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/24
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/24

Par exemple ci-dessus, on autorise les autres sessions du PC et le réseau local. Si vous voulez autoriser un ami, rajoutez son adresse IP.

Cette ligne là :

#load-module module-zeroconf-publish

On la laisse commentée, c'est pour Avahi. Je trouve ça limite "faille de sécurité" ce truc, car si un hacker trouve votre Avahi, il va pouvoir tranquillement voir tout ce qu'il a comme services sur votre machine... on va donc laisser commenté, en bon Geek vous savez parfaitement ce que vous avez activé comme service.

Une fois la modification faite, on se déconnecte de la session et on la relance.

Voila !

Maintenant depuis le PC lui-même, vous pouvez ouvrir une autre session.
Par exemple, pour simuler un envoi depuis PhP :

sudo su www-data

Et si vous faites

paplay /usr/share/sounds/purple/login.wav

Pour envoyer un son sur le PC de vos amis/famille, une fois la manipulation ci-dessus effectuée, il suffit de faire

paplay -s 88:88:88:88 /usr/share/sounds/purple/login.wav

vous remplacez bien sûr 88:88:88:88 par l'adresse IP de la machine visée.

PulseAudio permet aussi de faire un chat vocal très simple... pour le moment j'ai trouvé le truc en réseau local (pas trop utile !) je ne désespère pas de trouver mieux big_smile

Dernière modification par Zakhar (Le 04/07/2009, à 17:57)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#17 Le 05/07/2009, à 12:53

Peuks

Re : [Geek] Mon MSN à moi !

C'est vraiment bien ! je me posais la question pour ton programme vlc , tu l'as dévoilé ou il n'y a que toi qui en a le secret ? smile il m'interesse ! Surtout avec un iphone/ipod ( que j'ai pas ) ou un google phone couplé  à vlc ça pourrait être sympa !

Dernière modification par Peuks (Le 05/07/2009, à 15:07)

Hors ligne

#18 Le 05/07/2009, à 13:12

Kryztal

Re : [Geek] Mon MSN à moi !

Peuks a écrit :

C'est vraiment bien ! je me posais la question pour ton programme vlc , tu l'as dévoilé ou il n'y a que toi qui en a le secret ? smile il m'interesse ! Surtout avec un iphone/ipod ( que j'ai pas ) ou un google phone couplé a a vlc ça pourrait être être sympa !

+1

J'ai un pc desktop avec la télé herzienne ça serait sympa de la partager avec un appareil plus mobile smile


Un virus est un programme nocif.
Il est petit, rapide, prend peu de place en mémoire et sais se faire discret.

Windows n'est donc pas un virus, c'est un bug!

Hors ligne

#19 Le 05/07/2009, à 14:27

Rydgel

Re : [Geek] Mon MSN à moi !

Génial smile


Linux - Web 2.0 --> http://phollow.fr

Hors ligne

#20 Le 06/07/2009, à 20:34

Zakhar

Re : [Geek] Mon MSN à moi !

C'est publié nulle part parce que c'est un peu Geek et que ça intéresse vraiment peu de personnes.

Mais si vous êtes 2 ou 3 je peux mettre les sources et un tutorial en ligne c'est pas un problème.

@Peuks, si tu es chez Free et que tu as un iPhone, c'est bien le diable si on ne trouve pas un lecteur vidéo qui supporte de lire des flux réseaux que cette machine. Donc tu n'as guère besoin de mon truc. De plus ça ne fonctionne qu'avec l'aide du plugin VLC (ou de VLC, mais c'est moins pratique à utiliser dans ce cas) et je doute qu'il y ait ça sur iPhone Google Phone.

@Krystal, mon truc pour mes parents est vraiment "câblé" sur la télé Free. On peut bien sûr rediffuser autre chose, mais ça veut dire que tu connais les commandes pour piloter ta carte tuner depuis VLC... pas facile !
Tu peux cependant faire le test sans plus tarder avec VLC standard.

Sur ton PC Hertzien tu lances VLC et tu te mets sur une chaine de ton tuner.
Tu rajoutes une interface HTTP (via le menu de VLC)

Sur l'autre PC (le mobile) tu lances Firefox avec
http://ip.de.ton.hertzien:8080

Là tu auras l'interface standard de VLC en HTTP.
Tu peux alors jouer avec le sout (réémission) et une fois que tu as trouvé les "bons" paramètres... (pas facile !) tu lances VLC sur ton autre PC et tu joues le flux réseau sur :

mmsh://ip.de.ton.hertzien:1234 (ou tout autre port/protocole que tu as choisi).

On peut donc TOUT faire en standard avec le VLC de base... mon interface vise juste à masquer la complexité de ces manipulations !



... et après les petites notifications + le son, c'est juste pour la cerise sur le gâteau !

Dernière modification par Zakhar (Le 06/07/2009, à 20:36)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#21 Le 06/07/2009, à 23:50

Kryztal

Re : [Geek] Mon MSN à moi !

Oki merci beaucoup big_smile
ça peut toujours servir si je suis en déplacement et que je ne veux pas rater une émission smile


Un virus est un programme nocif.
Il est petit, rapide, prend peu de place en mémoire et sais se faire discret.

Windows n'est donc pas un virus, c'est un bug!

Hors ligne

#22 Le 07/07/2009, à 00:10

Grunt

Re : [Geek] Mon MSN à moi !

GG smile
Il ne manque plus qu'à faire ça dans un VPN wink

#23 Le 07/07/2009, à 09:10

Zakhar

Re : [Geek] Mon MSN à moi !

Grand_Grunt a écrit :

GG smile
Il ne manque plus qu'à faire ça dans un VPN wink

Tu penses bien que c'est comme ça que je fais Grand Grunt !

En réalité, outre la sécurité (éviter que quelqu'un qui trouve "par hasard" mon adresse s'y connecte !), ça permet de résoudre le fait que mes parents n'ont pas une IP fixe, c'est donc leur PC "campagnard" qui se connecte en OpenVPN à mon PC "urbain" qui lui a une IP fixe tongue

Du coup, le PC "campagnard" dispose d'une IP fixe (sur le VPN) qui est bien pratique pour tout un tas de choses (même si le machin de TV n'en a pas besoin) comme prendre la main à distance pour dépanner, etc...

Kryztal a écrit :

Oki merci beaucoup big_smile
ça peut toujours servir si je suis en déplacement et que je ne veux pas rater une émission smile

OK, je vais vous mettre ça en ligne sur un de mes sites. N'oublie pas cependant qu'il te faudra :
- soit quelqu'un qui allume ton PC "serveur" alors que tu n'es pas chez toi (il faut donc quelqu'un chez toi pour faire ça)
- soit utiliser en plus WakeOnLAN pour faire cette fonction (c'est prévu dans le truc, et on le faisait ainsi précédemment, mais j'ai fini par retirer la fonction).

P.S.: et je vais le poster sur un fil réservé à cet effet car l'objet du présent est juste la fonction d'envoi de notifications visuelles et sonores que j'y ai rajoutées.

Dernière modification par Zakhar (Le 07/07/2009, à 09:17)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#24 Le 07/07/2009, à 13:02

Grunt

Re : [Geek] Mon MSN à moi !

Zakhar a écrit :
Grand_Grunt a écrit :

GG smile
Il ne manque plus qu'à faire ça dans un VPN wink

Tu penses bien que c'est comme ça que je fais Grand Grunt !

En réalité, outre la sécurité (éviter que quelqu'un qui trouve "par hasard" mon adresse s'y connecte !), ça permet de résoudre le fait que mes parents n'ont pas une IP fixe, c'est donc leur PC "campagnard" qui se connecte en OpenVPN à mon PC "urbain" qui lui a une IP fixe tongue

Du coup, le PC "campagnard" dispose d'une IP fixe (sur le VPN) qui est bien pratique pour tout un tas de choses (même si le machin de TV n'en a pas besoin) comme prendre la main à distance pour dépanner, etc...

Je fais pareil ;+)
C'est idéal pour dépanner des machines à distance, au lieu de se prendre la tête avec une redirection de port et un DNS dynamique smile

#25 Le 07/07/2009, à 17:55

Zakhar

Re : [Geek] Mon MSN à moi !

C'est clair !

L'arternative à DynDNS est de demander à ma mère : "Tu peux me donner ton adresse IP ?"

Et j'obtenais la réponse : "Hein quoi ?..."

Aucun des deux n'étant satisfaisant, le VPN résout la question de façon élégante !

Dernière modification par Zakhar (Le 07/07/2009, à 17:57)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne