Difference between revisions of "Skype"

From ArchWiki
Jump to: navigation, search
m (Skype does not start after upgrade to 4.3.: replace terminal notice with prompt signs)
m (Skype does not start after upgrade to 4.3.: rm unneeded "easy" hint, clarify / more concise)
Line 552: Line 552:
 
=== Skype does not start after upgrade to 4.3. ===
 
=== Skype does not start after upgrade to 4.3. ===
  
After upgrading Skype, when you try to launch it, you may see the welcome screen and your contact list appear very briefly or not at all, followed by Skype crashing. Should you run it from the terminal, the behaviour will be the same, except the message 'Aborted' will be displayed after it crashes.
+
After upgrading Skype, you may see the welcome screen and contact list appear very briefly (or not at all), followed by Skype crashing. Should you run it from the terminal, the behaviour will be the same, except the message 'Aborted' will be displayed after it crashes.
  
 
This issue affects users that upgrade from versions prior to 4.3, and is related to database changes which are incompatible with the old version of the database.
 
This issue affects users that upgrade from versions prior to 4.3, and is related to database changes which are incompatible with the old version of the database.
  
The fix for this is easy enough:
+
Make sure Skype is not running, and run:
 
 
Make sure Skype is not running:
 
  
 
  $ cd ~/.Skype/yourskypeusername
 
  $ cd ~/.Skype/yourskypeusername
Line 570: Line 568:
 
  .quit
 
  .quit
  
Now you can upgrade Skype and enjoy the new version.
+
Now you can upgrade Skype. [http://community.skype.com/t5/Linux/Skype-4-3-crashes-with-old-chat-history/td-p/3220410/page/2]
 
 
Source: http://community.skype.com/t5/Linux/Skype-4-3-crashes-with-old-chat-history/td-p/3220410/page/2
 

Revision as of 09:54, 3 August 2014

Installation

Install skype from the official repositories. If you have a 64-bit system, enable the multilib repository first as Skype is 32-bit only.

Running Skype is just as easy. Type skype into a terminal or double-click the Skype icon on your desktop or in your DE's application menu.

Skype sound

Since version 4.3, Skype requires PulseAudio for voice chatting or sounds. ALSA is no longer supported. See PulseAudio for how to set it up. You can still use Skype without PulseAudio for text chatting.

Securing Skype

There are a couple of reasons you might want to restrict Skype's access to your computer:

  • The skype binary is disguised against decompiling, so nobody is (still) able to reproduce what it really does.
  • It produces encrypted traffic even when you are not actively using Skype.
  • ...

See [1] for more information.

AppArmor

See the AppArmor page for how to set up AppArmor.

The userland tools for AppArmor come with a collection of example profiles. Skype is amongst them. Copy this to the directory where AppArmor profiles are stored.

# cp -ip /etc/apparmor/profiles/extras/usr.bin.skype /etc/apparmor.d/

For whatever reason, the profile is not complete. You may wish to modify it further. Here is an example for Skype 4:

#include <tunables/global>

/usr/bin/skype {
  #include <abstractions/audio>
  #include <abstractions/consoles>
  #include <abstractions/dbus-session>
  #include <abstractions/gnome>
  #include <abstractions/kde>
  #include <abstractions/nameservice>
  #include <abstractions/video>

  # Executables
  /usr/bin/skype ixmr,
  /usr/lib{,32}/skype/skype ixmr,
  /usr/bin/xdg-open PUxmr,
  /usr/bin/kde4-config PUxmr,

  # Configuration files
  owner @{HOME}/.Skype/ rw,
  owner @{HOME}/.Skype/** krw,
  owner @{HOME}/.config/Skype/ rw,
  owner @{HOME}/.config/Skype/** krw,

  # Downloads/uploads directory
  owner @{HOME}/Public/ rw,
  owner @{HOME}/Public/** krw,

  # Libraries
  /usr/lib{,32}/libv4l/v4l2convert.so mr,
  /usr/share/skype/lib/libQtWebKit.so.4 mr,

  # Shared data
  /usr/share/skype/ r,
  /usr/share/skype/** r,

  # Devices
  /dev/ r,
  /dev/video[0-9]* mrw,

  # System information
  /etc/machine-id r,
  @{PROC}/sys/kernel/{ostype,osrelease} r,
  @{PROC}/sys/vm/overcommit_memory r,
  @{PROC}/[0-9]*/net/arp r,
  owner @{PROC}/[0-9]*/cmdline r,
  owner @{PROC}/[0-9]*/status r,
  owner @{PROC}/[0-9]*/task/ r,
  owner @{PROC}/[0-9]*/task/[0-9]*/stat r,
  owner @{PROC}/[0-9]*/fd/ r,
  /sys/devices/system/cpu/ r,
  /sys/devices/system/cpu/cpu[0-9]*/cpufreq/scaling_{cur_freq,max_freq} r,
  /sys/devices/pci*/*/usb[0-9]*/*/*/modalias r,
  /sys/devices/pci*/*/usb[0-9]*/*/*/video4linux/video[0-9]*/dev r,
  /sys/devices/pci*/*/usb[0-9]*/*/{idVendor,idProduct,speed} r,

  # This probably should go to appropriate abstractions
  /etc/asound.conf r,
  owner @{HOME}/.config/fontconfig/fonts.conf r,
  owner @{HOME}/.config/gtk-3.0/bookmarks r,
  owner @{HOME}/.config/oxygen-gtk/argb-apps.conf rw,
  owner @{HOME}/.config/pulse/cookie krw,
  owner @{HOME}/.icons/** r,
  owner @{HOME}/.kde4/share/config/kdeglobals krw,
  owner @{HOME}/.kde4/share/config/gtkrc-2.0 r,
  owner @{HOME}/.kde4/share/config/oxygenrc r,
  /usr/share/icons/*/index.theme kr,
  /usr/share/nvidia/nvidia-application-profiles-*-rc r,

  # Denials
  deny owner @{HOME}/.mozilla/ r,
  deny owner @{HOME}/.mozilla/** r,
  deny /sys/devices/virtual/dmi/** r,
}
Note: This example assumes that Skype is configured to save received files into ~/Public. Feel free to change it to any folder you like.

To use the profile, first be sure securityfs is mounted,

# mount -t securityfs securityfs /sys/kernel/security

Load the profile by the command,

# apparmor_parser -r /etc/apparmor.d/usr.bin.skype

Now you can run Skype restricted but as your own user. Denials are logged in messages.log.

Docker

It is possible to use Skype in a safe Docker container. The program is then run through an SSH tunnel with X11 forwarding and sound is heard through PulseAudio's Network Server.

Download the prepared docker image from official index, or see the instructions on how to build the image yourself here.

TOMOYO

Please note that this section describes using TOMOYO 2.5. See TOMOYO_Linux#TOMOYO_Linux_2.x for installation.

  • Open /etc/tomoyo/exception_policy.conf file and add these lines:
path_group SKYPE_DIRS /home/\*/.Skype/
path_group SKYPE_DIRS /home/\*/.Skype/\{\*\}/
path_group SKYPE_DIRS /home/\*/.config/Skype/\{\*\}/
path_group SKYPE_DIRS /usr/share/skype/\{\*\}/
path_group SKYPE_DIRS /home/pf/work/tmp/\{\*\}/
path_group SKYPE_FILES /home/\*/.Skype/\{\*\}/\*
path_group SKYPE_FILES /home/\*/.config/Skype/\{\*\}/\*
path_group SKYPE_FILES /usr/share/skype/\{\*\}/\*
path_group SKYPE_FILES /home/pf/work/tmp/\{\*\}/\*
path_group SKYPE_FILES /home/\*/.Skype/\*
path_group SKYPE_FILES /home/\*/.config/Skype/\*
path_group SKYPE_FILES /usr/share/skype/\*
path_group SKYPE_FILES /home/pf/work/tmp/\*
path_group ICONS_DIRS /usr/share/icons/\{\*\}/
path_group ICONS_FILES /usr/share/icons/\{\*\}/\*
path_group ICONS_FILES /usr/share/icons/\*
initialize_domain /usr/bin/skype from any
initialize_domain /usr/lib32/skype/skype from any

Note that /home/pf/work/tmp folder is only the folder to which Skype will be able to save received files and from which it will be able to send all files. You have to change this folder.

  • Then open /etc/tomoyo/domain_policy.conf and add the following lines:
<kernel> /usr/bin/skype
use_profile 3
use_group 0

misc env \*
file read /bin/bash
file read /usr/bin/bash
file read/write /dev/tty
file read /usr/lib/locale/locale-archive
file read /usr/lib/gconv/gconv-modules
file read /usr/bin/skype
file read /usr/lib32/skype/skype
file execute /usr/lib32/skype/skype exec.realpath="/usr/lib32/skype/skype" exec.argv[0]="/usr/lib32/skype/skype"

<kernel> /usr/lib32/skype/skype
use_profile 3
use_group 0

file append /dev/snd/pcm\*
file chmod /home/\*/.Skype/ 0700
file create /home/\*/.cache/fontconfig/\* 0600-0666
file create /tmp/qtsingleapp-\*-lockfile 0600-0666
file create @SKYPE_FILES 0600-0666
file execute /usr/bin/firefox
file execute /usr/bin/gnome-open
file execute /usr/bin/notify-send
file execute /usr/bin/opera
file execute /usr/bin/xdg-open
file ioctl /dev/snd/\* 0-0xFFFFFFFFFFFFFFFF
file ioctl /dev/video0 0-0xFFFFFFFFFFFFFFFF
file ioctl anon_inode:inotify 0x541B
file ioctl socket:[family=1:type=2:protocol=0] 0x8910
file ioctl socket:[family=1:type=2:protocol=0] 0x8933
file ioctl socket:[family=2:type=1:protocol=6] 0x541B
file ioctl socket:[family=2:type=2:protocol=17] 0x541B
file ioctl socket:[family=2:type=2:protocol=17] 0x8912
file ioctl socket:[family=2:type=2:protocol=17] 0x8927
file ioctl socket:[family=2:type=2:protocol=17] 0x8B01
file link /home/\*/.cache/fontconfig/\* /home/\*/.cache/fontconfig/\*
file mkdir /home/\*/.cache/fontconfig/\* 0600
file mkdir @SKYPE_DIRS 0700-0777
file mksock /tmp/qtsingleapp-\* 0755
file read /dev/urandom
file read /etc/fonts/conf.avail/\*.conf
file read /etc/fonts/conf.d/\*.conf
file read /etc/fonts/fonts.conf
file read /etc/group
file read /etc/host.conf
file read /etc/hosts
file read /etc/machine-id
file read /etc/nsswitch.conf
file read /etc/passwd
file read /etc/resolv.conf
file read /home/\*/.ICEauthority
file read /home/\*/.XCompose
file read /home/\*/.Xauthority
file read /home/\*/.Xdefaults
file read /home/\*/.fontconfig/\*
file read /home/\*/.config/fontconfig/\*
file read /usr/lib/locale/locale-archive
file read /usr/lib32/gconv/UTF-16.so
file read /usr/lib32/gconv/gconv-modules
file read /usr/lib32/libv4l/v4l2convert.so
file read /usr/lib32/qt/plugins/bearer/libq\*bearer.so
file read /usr/lib32/qt/plugins/iconengines/libqsvgicon.so
file read /usr/lib32/qt/plugins/imageformats/libq\*.so
file read /usr/lib32/qt/plugins/inputmethods/libqimsw-multi.so
file read /usr/lib32/skype/skype
file read /usr/share/X11/locale/\*/Compose
file read /usr/share/X11/locale/\*/XLC_LOCALE
file read /usr/share/X11/locale/compose.dir
file read /usr/share/X11/locale/locale.alias
file read /usr/share/X11/locale/locale.dir
file read /usr/share/alsa/alsa.conf
file read /usr/share/alsa/cards/\*.conf
file read /usr/share/alsa/pcm/\*.conf
file read /usr/share/fonts/\*/\*/\*
file read @ICONS_FILES
file read proc:/cpuinfo
file read proc:/stat
file read proc:/sys/kernel/osrelease
file read proc:/sys/kernel/ostype
file read sysfs:/devices/\*/\*/\*/\*/\*/\*/modalias
file read sysfs:/devices/\*/\*/\*/\*/\*/\*/video4linux/video0/dev
file read sysfs:/devices/\*/\*/\*/\*/\*/idProduct
file read sysfs:/devices/\*/\*/\*/\*/\*/idVendor
file read sysfs:/devices/\*/\*/\*/\*/\*/speed
file read sysfs:/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
file read sysfs:/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
file read sysfs:/devices/system/cpu/online
file read/write /dev/snd/\*
file read/write /dev/video0
file read/write/truncate /home/\*/.config/Trolltech.conf
file read/write/unlink /home/\*/.cache/fontconfig/\*
file read/write/unlink /tmp/qtsingleapp-\*
file read/write/unlink/truncate @SKYPE_FILES
file rename /home/\*/.cache/fontconfig/\* /home/\*/.cache/fontconfig/\*
file rename @SKYPE_DIRS @SKYPE_DIRS
file rename @SKYPE_FILES @SKYPE_FILES
file rmdir @SKYPE_DIRS
misc env \*
network inet dgram bind 0.0.0.0 0-65535
network inet dgram bind 127.0.0.1 0
network inet dgram bind/send 0.0.0.0-255.255.255.255 0-65535
network inet stream bind/listen 0.0.0.0 0-65535
network inet stream connect 0.0.0.0-255.255.255.255 0-65535
network unix stream bind/listen /tmp/qtsingleapp-\*
network unix stream connect /tmp/.ICE-unix/\*
network unix stream connect /tmp/qtsingleapp-\*
network unix stream connect /var/run/dbus/system_bus_socket
network unix stream connect /var/run/nscd/socket
network unix stream connect \000/tmp/.ICE-unix/\*
network unix stream connect \000/tmp/.X11-unix/X0
network unix stream connect \000/tmp/dbus-\*

<kernel> /usr/lib32/skype/skype /usr/bin/xdg-open
use_profile 0
use_group 0

<kernel> /usr/lib32/skype/skype /usr/bin/gnome-open
use_profile 0
use_group 0

<kernel> /usr/lib32/skype/skype /usr/bin/notify-send
use_profile 0
use_group 0
  • After finishing editing reload TOMOYO config files by executing these commands:
# tomoyo-loadpolicy -df </etc/tomoyo/domain_policy.conf
# tomoyo-loadpolicy -ef </etc/tomoyo/exception_policy.conf

Voilà — your Skype is sandboxed now.

Please note that this config is generated on 64-bit Arch system, and some of your ioctls and library paths may differ from mentioned above. So in order to fine-tune TOMOYO config for your Skype load tomoyo-auditd daemon:

# systemctl start tomoyo-auditd

Then go to /var/log/tomoyo folder and start watching reject_003.log:

$ tail -f reject_003.log

The output of this command will show you rejected actions for Skype, so you will be able to add them to domain_policy.conf file if needed.

Detailed guide about TOMOYO configuring can be found here.

Use Skype with special user

Tango-view-refresh-red.pngThis article or section is out of date.Tango-view-refresh-red.png

Reason: Does not work with rootless X (1.16) (Discuss in Talk:Skype#)

Instead of using AppArmor or TOMOYO which require the installation of extra packages, one may prefer to add a special user. This user is only used for running Skype within one's normal environment. This approach restricts Skype to reading only the data of this particular user instead of one's main user. (The new user should not be used for any other thing. Skype only.)

An AUR package, skype-restrictedAUR exists that will run skype as a separate user ("_skype") cleanly. It is heavily based on the information in this section. Alternatively, one can use skype-secureAUR, a package that works similarly to skype-restricted, but wraps around already installed Skype binary.

Optionally, we first add a default group for the skype user. I will call the new user and its default group "skype". The security advantage in keeping the "skype" user in its separate group is that it can be restricted from accessing some places other users are allowed in.

# groupadd skype

Then we have to add the new user:

# useradd -m -g skype -G audio,video -s /bin/bash skype
Note: Maybe you need to add "skype" user to "pulse-access" and "pulse-rt" groups. But it works fine with "audio" and "skype" groups only.

Now add the following line to /home/skype/.bashrc:

export DISPLAY=":0.0"

At last we define the alias (e.g. in ~/.bashrc):

alias skype='xhost +local: && su skype -c skype'

Now we can start Skype as the newly created user simply by running skype from the command line and entering the password of the user skype.

If you are tired of typing in the skype user's password every time, make sure you installed the sudo package, run visudo then add this line at the bottom:

%wheel ALL=(skype) NOPASSWD: /usr/bin/skype

And use this alias to launch skype:

alias skype='xhost +local: && sudo -u skype /usr/bin/skype'
Note: If you forget the xhost command, Skype may fail with a "No protocol specified" error on stdout.

I noticed that the newly created user is able to read some of the files in my home directory because the permissions were a+r, so I changed them manually to a-r u+r and changed umask from 022 to 066.

In order to restrict user "skype" accessing your external drive mounted in /media/data for instance, make sure first that "skype" does not belong to group "users" (if you used the default group "skype", everything should be fine), then change the accesses on the mount point:

# chown :users /media/data
# chmod o-rwx /media/data

This way, it is ensured that only the owner (normally "root") and "users" can access the specified directory tree while the others, including "skype", will be forbidden.

Access Pulseaudio controls when using Skype as a different user

As the "main-user" copy /etc/pulse/default.pa to ~/.pulse/default.pa and add:

load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1

As the skype user, create ~/.pulse/client.conf and add:

default-server = 127.0.0.1

Open URLs in your user's browser

When one clicks URL in chat window, skype execute xdg-open to handle it. By default xdg-open uses default web browser for skype user environment. In order to open links in your user's browser perform next setup.

Note:
  • Sudo should be installed and properly configured.
  • Current example uses firefox as preferred browser.
  • Do not forget to adjust your_user to proper value.

Log in as skype user:

$ sudo su - skype

Create local preferences dir:

$ mkdir -p ~/.local/share/applications

Create /home/skype/.local/share/applications/firefox-sudo.desktop file:

[Desktop Entry]
Name=Firefox
Exec=/home/skype/firefox-wrapper %u
Terminal=false
Type=Application
Categories=Network;WebBrowser;

Set firefox-sudo.desktop to manage HTTP and HTTPS URLs:

$ xdg-mime default firefox-sudo.desktop x-scheme-handler/http
$ xdg-mime default firefox-sudo.desktop x-scheme-handler/https

(Optionally) add FTP handler:

$ xdg-mime default firefox-sudo.desktop x-scheme-handler/ftp

Create /home/skype/firefox-wrapper script (adjust your_user):

#!/bin/bash
DISPLAY=:0.0 HOME=/home/your_user sudo -u your_user /usr/lib/firefox/firefox -new-tab $1

Make it executable:

$ chmod +x ~/firefox-wrapper

Now as root user open /etc/sudoers:

# visudo

And add permission for skype user to exec user's browser (adjust your_user):

skype ALL=(your_user) NOPASSWD: /usr/lib/firefox/firefox -new-tab http*, /usr/lib/firefox/firefox -new-tab ftp*

Access received files

By default skype stores received files with 600 permissions (only owner can access them). One may use incron to perform automatic permission fix upon downloading.

Note: This example assumes that you configure skype to save received files into /home/skype/downloads

Make skype home dir and download dir accessible:

# chmod 755 /home/skype /home/skype/downloads

Install incron with the incron package from the official repositories, and enable and start incrond using systemd. Open incrontab for root user:

# incrontab -e

Add incron job:

/home/skype/downloads IN_CREATE chmod 644 $@/$#

Save changes and exit incrontab editor.

To test incron in action just enter skype donwload dir and create test file:

# cd /home/skype/downloads
# install -m 600 /dev/null test.txt
# ls -l test.txt

File permissions should be 644 or -rw-r--r--

(Optionally) link skype download dir into your home dir:

$ ln -s /home/skype/downloads ~/skype_files

Sandfox

sandfoxAUR from the AUR includes a profile which allows Skype to run in a chroot. You may also want to install sandfox-extrasAUR for systemd compatibility.

In case of problems, compare the binds to the #Apparmor profile, or run (as sudo):

$ sudo sandfox --verbose skype

Skype plugin for Pidgin

See Pidgin#Skype plugin.

Troubleshooting

Skype only shows a blank window when run as separate user

As of version 1.16, Xorg runs as a regular user. This means a special user has no access to X. [2] To regain the default behavior, add to /etc/X11/Xwrapper.config:

 needs_root_rights=yes

and restart X.

GUI does not match GTK Theme

See Uniform Look for Qt and GTK Applications for information about theming Qt based applications like Virtualbox or Skype.

Test call fails

Call to Echo Test Service can fail with error "call failed" when the user profiles are usually corrupt. Solution is to remove the profile and file and re-add your account in Skype as seen in Ubuntu Forums.

 # rm ~/.Skype/ -rf

No video with GSPCA webcams

For i686, install v4l-utils, userspace tools and conversion library for Video 4 Linux, and run Skype with

LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype

to start Skype with v4l1 compatibility.

For x86_64, install lib32-v4l-utils from [multilib] repository and run Skype with

LD_PRELOAD=/usr/lib32/libv4l/v4l1compat.so skype

To make it running from DE menus and independent of Skype updates, you can add alias (e.g. in ~/.bashrc):

alias skype='LD_PRELOAD=/usr/libxx/libv4l/v4l1compat.so skype'

where libxx should be edited as appropriate.

No video with Compiz

Try launching Skype setting an environment variable like this:

$ XLIB_SKIP_ARGB_VISUALS=1 skype

Skype does not use a GTK+ theme, even though other Qt apps do

Recent versions of Skype allow you to change the theme via the Options menu. However, selecting the GTK+ option may not work properly. This is probably because you do not have a 32-bit theme engine installed. Try to find the engine your theme uses in the multilib repository or the AUR. If you have no idea which engine your theme is using, the easiest fix is to install lib32-gtk-enginesAUR. This does however contain quite a lot of packages, so the best would be to find and install only the needed package.

Note: You may not have to install lib32-gtk-enginesAUR. First try if the following steps work for you if you only install lib32-gtk2 and a GTK+2 theme respectively. See also the forums.

Once installed, it will still not work unless you have a 32-bit version of GConf installed. You could build and install lib32-gconfAUR if desired, but there is an easier workaround. First, create or edit ~/.gtkrc-2.0 so that it contains the following line:

$ gtk-theme-name = "My theme"

Replace My theme by the name of your theme, but leave the quotes. Second, run Skype like this:

$ export GTK2_RC_FILES="/etc/gtk-2.0/gtkrc:$HOME/.gtkrc-2.0"
$ skype

The GTK+ theme should now appear correctly. You can make this permanent either by running Skype from a script containing the above 2 lines, or by exporting GTK2_RC_FILES in ~/.xprofile or ~/.xinitrc, depending on how you start X.

If you cannot change the theme in the Options menu, run Skype using the following command:

$ /usr/bin/skype --disable-cleanlooks -style GTK

If you wish menus within desktop environments to load Skype with a GTK+ theme by default then modify the 'Exec' line of /usr/share/applications/skype.desktop so that it reads:

$ Exec=/usr/bin/skype --disable-cleanlooks -style GTK

Similarly if you have set Skype to autostart then modify ~/.config/autostart/skype.desktop in the same way.

No incoming video stream

If skype shows a black square for the video preview, but something else (like xawtv -c /dev/video0) shows video correctly, you might need to start Skype with:

export XLIB_SKIP_ARGB_VISUALS=1 && skype

Another possible workaround is to preload v4l1compat.so:

LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype

A further alternative is:

cd /usr/lib/lib32/libv4l &&  LD_PRELOAD=v4l1compat.so skype;

Monster/low-octave "growling" distortion over mic

Some users with newer kernels are experiencing a monster-like growling distortion of their sound stream on the other end of Skype. This can be fixed by creating a dummy ALSA device or by removing ~/.Skype/shared.xml. See https://bbs.archlinux.org/viewtopic.php?pid=819500#p819500 for more information.

Crackling/noisy sound (mainly using 64-bit OS)

Solution 1

With root privileges, edit the /usr/bin/skype script to add the PULSE_LATENCY_MSEC variable, changing this line:

exec "$LIBDIR/skype/skype" "$@"

to this:

PULSE_LATENCY_MSEC=60 exec "$LIBDIR/skype/skype" "$@"

Solution 2

Edit /etc/pulse/default.pa and change the following line

load-module module-udev-detect

to

load-module module-udev-detect tsched=0

See also: PulseAudio#Glitches, skips or crackling.

Skype sounds stops media player or other sound sources

You can try commenting out the following modules in /etc/pulse/default.pa

#load-module module-role-cork

If that does not help, you can try changing flat-volumes to no in /etc/pulse/daemon.conf.

flat-volumes = no

If that still does not work, you can manually unload the module:

$ pactl unload-module module-role-cork

Skype does not start after upgrade to 4.3.

After upgrading Skype, you may see the welcome screen and contact list appear very briefly (or not at all), followed by Skype crashing. Should you run it from the terminal, the behaviour will be the same, except the message 'Aborted' will be displayed after it crashes.

This issue affects users that upgrade from versions prior to 4.3, and is related to database changes which are incompatible with the old version of the database.

Make sure Skype is not running, and run:

$ cd ~/.Skype/yourskypeusername
$ cp main.db main.db.backup
$ sqlite3 main.db
update Messages 
set body_xml=substr(body_xml,instr(body_xml,'<files'),12)||
             substr(body_xml,0,instr(body_xml,'<files'))||
             substr(body_xml,instr(body_xml,'alt=')+5) 
where type=68 and body_xml not like '<file%';
.quit

Now you can upgrade Skype. [3]