Skype4minbif

The skype4pidgin purple plugin needs to have the proprietary Skype process run on the same host than minbif.

As you probably run minbif on a server, you can't run skype on it directly. Here is a solution, written by sekh.

Use VNC to run Skype

Indeed, skype is a proprietary protocol, and we can only use the API of the Qt client for that hack.
We must use it with a virtual X server, Xvfb.

On the remote server :

# 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

On your local computer :

$ ssh server -L 5900:localhost:5900
$ xvncviewer localhost

You must accept the license and enter your login/password, then activate the autologin.
You can now use your graphical skype client over VNC.

On the remote server, you can now kill everything (the plugin will take care of launching skype within Xvfb on its own) :

$ killall x11vnc
$ killall skype
$ killall Xvfb

Configure minbif

You must edit the config.xml, after minbif can access to the skype API.

$ vim /var/lib/minbif/.Skype/VOTRECOMPTE/config.xml
  <UI>
    <API>
      <Authorizations>(null)</Authorizations>
      <BlockedPrograms></BlockedPrograms>
    </API>
  </UI>
</config>
# usermod -s /bin/false minbif

Installation of skype4pidgin

Now you must install skype4pidgin with Xvfb. It is essential that you build it yourself with the following options, otherwise it won't start skype automatically.

# aptitude install pidgin-dev

I use revision 579

$ svn checkout -r 579 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/

(Note that with wheezy (that ships with multiarch support), on an i386 machine, I had to replace /usr/lib64/glib-2.0/include with /usr/lib/i386-linux-gnu/glib-2.0/include)

Log on minbif
Add your skype account :

/map add bigbrownchunx-skype <name> -skype_autostart

If everything is ok, you can speak to “echo123?

    
$ 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

Also available in: HTML TXT