Skype (skype4pidgin) + minbif, ou comment utiliser l’IM skype dans votre irssi.

Vous savez surement que j’utilise minbif pour la messagerie instantanée. Mais il y a un protocole que j’utilise régulièrement pour la messagerie instantanée entre autre, et que je n’ai jamais pensé à intégré dans minbif, il s’agit de Skype.

Ce que je vous propose ici et une solution bien moche, en effet, skype est un protocole propriétaire, nous allons devoir utiliser le binaire skype, le lancer et passer par son API.

Cependant ce binaire ne propose pas de solution en console, il va falloir lancer skype en mode graphique, et le minbif étant sur un serveur, celà pose problème. La solution: utiliser Xvfb, un “fake” serveur X.

Voici la procédure que j’ai utilisé

Sur la machine distance :

1
2
3
4
5
6
7
8
9
10
# aptitude install xvfb x11vnc
# dpkg -i skype-debian_2.1.0.81-1_i386.deb
# apt-get -f install
# aptitude install minbif
# usermod -s /bin/bash minbif
# sudo su minbif
$ export DISPLAY=:25
$ Xvfb :25 -screen 0 1024x768x16 &
$ skype &
$ x11vnc -bg

Puis sur votre machine locale :

1
$ ssh server -L 5900:localhost:5900

Et également en local :

1
$ xvncviewer localhost

Vous pouvez alors accepter les conditions d’utilisation, entrer votre login/password et activer l’autologin. Votre client skype devrait-être fonctionnel en graphique.

Sur la machine distante :

1
2
3
$ killall x11vnc
$ killall skype
$ killall Xvfb

On modifie le fichier config.xml pour donner l’accès de minbif à l’API skype, tout à la fin:

1
2
3
4
5
6
7
8
$ vim /var/lib/minbif/.Skype/VOTRECOMPTE/config.xml
  <UI>
    <API>
      <Authorizations>(null)</Authorizations>
      <BlockedPrograms></BlockedPrograms>
    </API>
  </UI>
</config>
1
# usermod -s /bin/false minbif

Maintenant il faut compiler le plugin skype4pidgin avec le mode Xvfb :

1
# aptitude install pidgin-dev

j’utilise la révision 579

1
2
3
svn checkout http://skype4pidgin.googlecode.com/svn/trunk/ skype4pidgin
gcc -I/usr/include/libpurple `pkg-config --libs purple x11` -DPURPLE_PLUGINS -DENABLE_NLS -DUSE_XVFB_SERVER -Wall -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/lib64/glib-2.0/include -I/usr/include -I. -g -pipe libskype.c -o libskype.so -shared -fPIC -DPIC
cp libskype.so /usr/lib/purple-2/
Connectez vous à minbif, ajoutez un compte skype
Normalement si tout se passe bien, vous devriez voir se connecter echo123 et pouvoir faire des tests en lui parlant.
1
2
3
4
5
6
$ ps aux | grep minbif
minbif    6764  0.0  2.0  10248  5440 ?        S    14:15   0:01 Xvfb :25 -ac -terminate -tst -xinerama -render -shmem -screen 0 320x240x16
minbif    6766  0.4 13.8  80096 36328 ?        Sl   14:15   1:00 skype --pipelogin -display :25
minbif   10342  0.3  0.6  12368  1580 ?        Ss   15:38   0:29 /usr/bin/minbif --pidfile /var/run/minbif/minbif.pid /etc/minbif/minbif.conf
minbif   14203  9.5  4.8  86264 12616 ?        Sl   17:31   1:05 /usr/bin/minbif --pidfile /var/run/minbif/minbif.pid /etc/minbif/minbif.conf
minbif   14232  0.4  1.8  85680  4964 ?        S    17:31   0:03 /usr/bin/minbif --pidfile /var/run/minbif/minbif.pid /etc/minbif/minbif.conf
  1. SALE!@#!@#!@#!@#

  2. Bonjour,

    Effectivement la solution est laide mais peut en intéresser plus d’un. Est-ce que tu serais partant pour traduire ton article en anglais afin que je l’ajoute sur le wiki de Minbif ?

    Si oui je t’invite à me contacter personnellement.

    Romain

  3. Salut William et merci pour ton tutoriel !

    Je bloque sur un point : « On modifie le fichier config.xml pour donner l’accès de minbif à l’API skype, tout à la fin: $ vim /var/lib/minbif/.Skype/VOTRECOMPTE/config.xml ». Or je n’ai pas de tel dossier et fichier sur mon serveur. J’ai un dossier /var/lib/minbif/users/monnomd’utilisateur, qui contient un fichier accounts.xml, mais ça ne correspond pas à ce dont tu parles. Faut-il alors créer un dossier /var/lib/minbif/.Skype/monnomd’utilisateur, puis le fichier config.xml ?

    D’avance merci pour ton aide :-)

  4. Non, le dossier doit se créer de lui même en lançant skype avec l’utilisateur minbif.

  5. Salut William,

    Merci pour ta réponse. J’ai suivi cette étape que j’avais effectivement zapé, mais je suis à présent bloqué sur autre chose. Au lancement, Skype refuse de se loguer sur mon compte en prétextant “Sign in failed : Another Skype instance may exist”. Pourtant je ne vois pas d’autre instance de Skype dans les processus actifs, j’ai supprimé le dossier .Skype et réinstallé Skype, sans que cela ne résolve ce problème. Une idée/suggestion ?

  6. Non là je sèche totalement désolé, il ne devrait faire cette erreur que si un processus skype existe déjà

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>