Skype on Solaris

[It almost took me a full day to get it working, so I will write down what I have done to get there.]

Actually I wanted to use Ekiga, but it does not work very well in OpenSolaris and not many "normal" (reads: non-geek) people use such clients.  And I wanted to reach some of my "normal" friends, which almost all are using Windows and most possibly Skype.

Maybe there will be a native OpenSolaris port of Skype someday, but for now we have to go different ways.

You can use the "seamless mode" from VirtualBox to run Skype on Windows.  Feature-wise this is probably the best solution, but you need to install Windows (not an option for me).  And I'm not 100% sure that sound will work in VirtualBox as it always complained about problems opening some PCM devices.

Instead of using Windows  you could use Ubuntu to run Skype and there is the possibility of transferring the install into a BrandZ Linux zone.  And that's what I wanted to do.

First of all I tried the CentOS 3 image from here, but it's too old to run a recent Skype and it is really hard to find older versions on the web (well, I found one but I couldn't get it working).

Then I tried to install Ubuntu 8.04 and CentOS 5 in VirtualBox, but both was so slow that I canceled that and searched for CentOS image tar's instead.  Fortunately I found this site where you can download CentOS 4 and 5 images as tar files.

So I installed CentOS 5 in a zone and that worked perfectly.  But when I wanted to start Skype I got this error.  Seems like it's a known problem and not related to zones.

Then CentOS 4... yeah... GCC C++ ABI problems.  Skype wants 3.4.4, but CentOS only has 3.4.3.

So... what else is left?  Debian.  And I wanted to get it running in a zone...

I downloaded a businesscard install image, because it's the smallest one (32M), and installed the smallest possible system in VirtualBox.  That install was actually very fast.  Then got Skype for Debian, scp'ed it into the VirtualBox, installed all required packages (don't forget xbase-clients for SSH X11 forwarding), tar'ed up the whole root filesystem, scp'ed the image back to the native system and installed it into a zone.  The zone install does not work out-of-the-box, obviously Debian is not RHEL or CentOS, so I hacked it a bit.

Execute the following commands in VirtualBox before you tar up the whole filesystem:

$ mkdir /etc/sysconfig
$ mkdir /etc/rc.d
$ touch /etc/rc.d/rc.sysinit

and the zone install will be successful.

[I have to add here that the Debian zone does not boot properly (try zlogin -C), so it would be better to get it working in CentOS 5, but that doesn't really matter.  Log into the zone with zlogin and start the SSH daemon.]

Then I logged into the zone via SSH (only root works, as can be read here too) and started Skype...


It came up and signed in successfully!  Chat worked, calls didn't.

This is because BrandZ only maps OSS and the Skype Debian version uses ALSA. But hey, that last hurdle must be cleared too, right?

So, simply download the static OSS version of Skype and use that one...

Voila!  Skype calls on OpenSolaris!

Easy, wasn't it?


[Trackback] Sorry ... no native version so far . But Christian Thalinger explains in his blog entry how to use the Linux version of Skype on Solaris with the help of BrandZ for chat and calls with Skype.

Posted by on March 01, 2009 at 01:41 PM CET #

Check this out -

Posted by Sanat Gersappa on March 02, 2009 at 02:59 AM CET #

very interesting post, but it failed for me
could you give me your debian tarball?
i'm on os2008.11

thanks in advance,


Posted by gerard on March 04, 2009 at 09:47 AM CET #

Right, same for me. As I said, it does not boot properly but you can log in into your zone without -C:

$ zlogin debian40

and start the SSH daemon.

Posted by Christian Thalinger on March 04, 2009 at 10:06 AM CET #

even with that, it works


Posted by gerard on March 04, 2009 at 10:39 AM CET #

There is an alsa-oss plugin that allows you to create ALSA virtual devices forwarding to OSS, you might want to try that.

Posted by Diego E. 'Flameeyes' Pettenò on March 05, 2009 at 10:07 AM CET #

Nice. Thanks for posting this. Any chance you could post your Zone tar ball?

Posted by Haik on March 12, 2009 at 05:24 PM CET #

To Enable support to Linux 2.6:

To execute as root:
global$ cd /etc/zones
global$ pfexec wget
global$ pfexec chown root:bin /etc/zones/SUNWlx26.xml
global$ pfexec chmod 444 /etc/zones/SUNWlx26.xml

/etc/zones# zonecfg -z fedora
fedora: No such zone configured
Use 'create' to begin configuring a new zone.
zonecfg:fedora> create -t SUNWlx26
zonecfg:fedora> set zonepath=/rpool/zones/fedora
zonecfg:fedora> add net
zonecfg:fedora:net> set address= (my home network)
zonecfg:fedora:net> set physical=rtls0 (my network interface)
zonecfg:fedora:net> end
zonecfg:fedora> add attr
zonecfg:fedora:attr> set name="audio"
zonecfg:fedora:attr> set type=boolean
zonecfg:fedora:attr> set value=true
zonecfg:fedora:attr> end
zonecfg:fedora> add fs
zonecfg:fedora:fs> set dir=/mnt/sda5 (my fat32 partition)
zonecfg:fedora:fs> set special=/mnt/sda5
zonecfg:fedora:fs> set type=lofs
zonecfg:fedora:fs> add options [rw,nodevices]
zonecfg:fedora:fs> end
zonecfg:fedora> commit
zonecfg:fedora> exit

Download fedora 5 from:
global# zoneadm -z fedora install -v -d /mnt/sda5/opensolaris/download/zones/fedora/fedora-10-i386-default.tar.gz

Configure the network:
In global zone:

global$ pfexec gedit /rpool/zones/fedora/root/etc/sysconfig/network
GATEWAY= (your gateway in global zone)

global$ pfexec gedit /rpool/zones/fedora/root/etc/nsswitch.conf
hosts: files dns nis

global$ pfexec gedit /rpool/zones/fedora/root/etc/resolv.conf

global$ pfexec gedit /rpool/zones/fedora/root/etc/ssh/ssh_config
ForwardX11 yes

To include fedora in the hosts:
global$ pfexec chmod u+w /etc/inet/hosts
global$ pfexec echo " fedora" >> /etc/inet/hosts
global$ pfexec chmod u-w /etc/inet/hosts

global$ pfexec zoneadm -z fedora boot
global$ pfexec zlogin fedora

Change password of root:

[root@fedora ~]# passwd

In the Fedora Zone:

Sugestion: Install "nano" editor:


After to configure the network:

Install packages from Fedora:

># yum grouplist > groups.txt
# cat groups.txt
# yum groupinstall "nome do grupo" "grupo 2" "etc"

To fedora 10, to install the 'X':

To prepare the installer YUM e install the X, dependences and fonts:

# yum provides "\*/usr/bin/startx"

To Install packages necessary for X applications (ex: Skype):
# yum install nano hal hal-libs udev xorg-x11-xinit libXv libXfixes libXcursor libXinerama bitmap-fonts bitstream-vera-fonts dejavu-lgc-fonts xterm gtk2 mesa-libGL mesa-libGLU atk cairo hicolor-icon-theme jasper-libs libXcomposite libXdamage libdrm libthai mesa-dri-drivers pango pixman alsa-lib alsa-utils alsa-plugins-oss lcms lcms-libs libXScrnSaver libmng qt qt-x11

Instalar SKYPE (download version OSS format):

Install dependences:
# yum install alsa-lib alsa-utils alsa-plugins-oss lcms lcms-libs libXScrnSaver libmng qt qt-x11

# cp /mnt/sda5/OpenSolaris/zones/skype_static- /usr/bin
# mkdir /usr/share/skype
# cp -r /mnt/sda5/OpenSolaris/zones/skype_static- /usr/share/skype
# cp -r /mnt/sda5/OpenSolaris/zones/skype_static- /usr/share/skype
# cp -r /mnt/sda5/OpenSolaris/zones/skype_static- /usr/share/skype
# cp -r /mnt/sda5/OpenSolaris/zones/skype_static- /usr/share/skype

To iniciate the fedora zone:
# pfexec zoneadm -z fedora boot
# pfexec zlogin -X fedora

In the fedora:
# /etc/init.d/sshd start

To exit from zone:
# exit

To Close fedora zone:
# pfexec zoneadm -z fedora boot

More details:

Posted by Carlos Moura on August 21, 2009 at 06:52 PM CEST #

1) The follow lines must be same IP:
zonecfg:fedora:net> set address=
global$ pfexec echo " fedora" >> /etc/inet/hosts

2) Start fedora at zone as root:
# zoneadm -z fedora boot
To correct: # zlogin -X fedora ==> zlogin fedora

3) Start sshd into fedora:
# /etc/init.d/sshd start

3) Run Skype at other terminal as user:
$ ssh root@fedora -X skype

4) Close the zone:
# zoneadm -z fedora halt

Posted by Carlos Moura on September 15, 2009 at 10:58 AM CEST #

Post a Comment:
  • HTML Syntax: NOT allowed

Random posts from a HotSpot engineer.


« June 2016