Difference between revisions of "Skype"

From ArchWiki
Jump to: navigation, search
(Skype crashes shortly after login)
(Problems)
Line 330: Line 330:
 
  Kill PulseAudio: $ killall pulseaudio
 
  Kill PulseAudio: $ killall pulseaudio
 
  Shut down and restart Skype
 
  Shut down and restart Skype
 +
 +
===Crackling / Noisy sound (main using 64-bit OS) ===
 +
 +
Edit the following file: /etc/pulse/daemon.conf and uncomment/add the following lines:
 +
 +
high-priority = yes
 +
nice-level = -11
 +
realtime-scheduling = yes
 +
realtime-priority = 5
 +
resample-method=src-sinc-best-quality
 +
 +
Restart pulseaudio (or your computer). It should fix the problem (http://www.howtoforge.com/how-to-fix-the-sound-issues-between-skype2.0-and-pulseaudio-on-fedora9)

Revision as of 22:20, 3 October 2011

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Installing and Running Skype

Template:Package Official is available in [community] for i686 systems and [multilib] for x86_64 systems [1] or as bin32-skype-oss for the OSS sound system in the AUR. Enable the appropriate repository in Template:Filename and then use pacman to install Skype,

# pacman -S skype

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

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 [2] for more information.

AppArmor

Follow the instructions here 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. (If the Mozilla denials annoy you, feel free to uncomment the appropriate lines.)

To use the profile, first be sure Template:Codeline 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 Template:Filename.

TOMOYO

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: please use the first argument of the template to provide a brief explanation. (Discuss in Talk:Skype#)
TOMOYO

Use Skype with special user

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.)

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:

# adduser

Enter the details for the new user (assumed login name: "skype"). If you created the default "skype" group and want to keep "skype" outside the "users" group, enter "skype" when the wizard asks for the initial group. As additional groups we need "audio,video,pulse-access,pulse-rt".

Now add the following line to Template:Filename:

export DISPLAY=":0.0"

At last we define the alias (e.g. in Template:Filename):

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

Now we can start Skype as the newly created user simply by running Template:Codeline 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 Template:Codeline 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'

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 Template:Filename 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.

Skype Sound

Skype supports PulseAudio since version 2.1 and ALSA since version 2.0. Earlier versions support only the deprecated OSS.

Skype PulseAudio Sound (2.1+)

Sound should work out of the box, if not you can select another input using pavucontrol (you may have to install it first).

If you are on x86_64 and use the multilib Template:Package Official package, you also need Template:Package Official.

Skype ALSA Sound (2.0+)

Sound should work out of the box, if not you can select a sound device to use in Skype options. If you have problems with Skype blocking your sound device, you only need to add the following to your Template:Filename

pcm.dmixout {
  # Just pass this on to the system dmix
  type plug
  slave {
     pcm "dmix"
  }
}

then you can start Skype as normal, go to the audio options and select dmixout as your speaker- and ringingdevice.

Skype-OSS Sound (Pre-2.0)

If you have a recent version of Skype, this will not work and is not needed, look at the "important notes" on start of this page. Option B is preferred over other options. With option B you can use Skype AND let other programs play sound too. With option C you can do that too, but option B is way easier to set up.

An OSS compatible version is available from here. Then download the PKGBUILD for x86-64 users form here. Correct the md5sum in the PKGBUILD, and also install Template:Package Official (for x86-64 users). Finally, run

$ makepkg -s

to create the pacman installable package.

A. With OSS or Kernel OSS emulation for ALSA

Start Skype and make sure no other program is using your soundcard. If you want to use Skype AND let another program play sound too, look at option B instead.

B. Making ALSA + dMix work for Skype

First of all, we need to install the Template:Package Official package with pacman:

# pacman -S alsa-oss

Add the following to Template:Filename. If the file does not exist yet, just create it! (Many thanks to Lorenzo Colitti for figuring this out!)

# .asoundrc to use skype at the same time as other audio apps like xmms
#
# Successfully tested on an IBM x40 with i810_audio using Linux 2.6.15 and
# Debian unstable with skype 1.2.0.18-API. No sound daemons (asound, esd, etc.)
# running. However, YMMV.
#
# For background, see:
#
# https://bugtrack.alsa-project.org/alsa-bug/view.php?id=1228
# https://bugtrack.alsa-project.org/alsa-bug/view.php?id=1224
#
# (C) 2006-06-03 Lorenzo Colitti - http://www.colitti.com/lorenzo/
# Licensed under the GPLv2 or later

pcm.skype {
   type asym
   playback.pcm "skypeout"
   capture.pcm "skypein"
}

pcm.skypein {
   # Convert from 8-bit unsigned mono (default format set by aoss when
   # /dev/dsp is opened) to 16-bit signed stereo (expected by dsnoop)
   #
   # We cannot just use a "plug" plugin because although the open will
   # succeed, the buffer sizes will be wrong and we will hear no sound at
   # all.
   type route
   slave {
      pcm "skypedsnoop"
      format S16_LE
   }
   ttable {
      0 {0 0.5}
      1 {0 0.5}
   }
}

pcm.skypeout {
   # Just pass this on to the system dmix
   type plug
   slave {
      pcm "dmix"
   }
}

pcm.skypedsnoop {
   type dsnoop
   ipc_key 1133
   slave {
      # "Magic" buffer values to get skype audio to work
      # If these are not set, opening /dev/dsp succeeds but no sound
      # will be heard. According to the ALSA developers this is due
      # to skype abusing the OSS API.
      pcm "hw:0,0"
      period_size 256
      periods 16
      buffer_size 16384
   }
   bindings {
      0 0
   }
}

If you get the error message :

The dmix plugin supports only playback stream

then add the following to Template:Filename:

pcm.asymed {
        type asym
        playback.pcm "dmix"
        capture.pcm "dsnoop"
}

pcm.!default {
        type plug
        slave.pcm "asymed"
}


Now run Skype in this way each time you want to use it:

ALSA_OSS_PCM_DEVICE="skype" aoss skype

Optionally you can make a script to start Skype:

As root, create the file: Template:Filename

# Little script to run Skype correctly using the modified .asoundrc
# See: http://wiki.archlinux.org/index.php/Skype for more information!
#
# Questions/Remarks: profox@debianbox.be

ALSA_OSS_PCM_DEVICE="skype" aoss skype

Now make sure every user is able to execute the file:

# chmod a+x /usr/bin/askype

You can also fix the menu entry so you can start Skype from the your window manager's menu:

Edit the file: Template:Filename

[Desktop Entry]
Name=Skype
Comment=P2P software for high-quality voice communication
Exec=askype
Icon=skype.png
Terminal=0
Type=Application
Encoding=UTF-8
Categories=Network;Application;

Sometimes it takes a while for Skype to start up but once it is loaded it should work ok!

C. Using OSS emulation with oss2jack

Template:Package AUR is another way to have OSS emulation without using ALSA directly. Instead, oss2jack creates a OSS device that forwards everything to JACK (JACK Audio Connection Kit), which in turn mixes, then outputs to the standard ALSA device. For more information on setting this up, please refer to Allow_multiple_programs_to_play_sound_at_once#ALSA_with_oss2jack.

Skype plugin for Pidgin

See Pidgin#Skype plugin.

Problems

Skype crashes immediately

Try creating the directory

~/.Skype/Logs

Skype crashes shortly after login

If Skype crashes shortly after logging in, changing the rights for Template:Filename (minor version might differ) and Template:Filename might fix the issue.[3]

# cd /usr/lib
# chmod ugo-r libpulse.so.0.12.*
# chmod ugo-r libpulse-simple.so.0.0.3

64bit users might have to cd to Template:Filename instead.

I can receive multiple audio streams, but I can only send one

Skype can send and receive audio and I still hear other sounds playing from other applications, but I cannot record my microphone with other applications. That is because Skype or aoss blocks the audio input for itself.

No video with GSPCA webcams

For i686, install Template:Package Official, 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 Template:Package Official 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 Template:Filename):

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

No video with Compiz

Try this

$ XLIB_SKIP_ARGB_VISUALS=1 skype

Skype does not use my 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. Once installed, it will still not work unless you have a 32-bit version of GConf installed. You could build and install Template:Package AUR if desired, but there is an easier workaround. First, create or edit Template:Filename 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 Template:Filename or Template:Filename, 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 Template:Filename so that it reads:

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

Similarly if you have set Skype to autostart then modify Template:Filename in the same way.

The microphone does not work

Run amixer,

$ amixer

and check if you have an output for Capture similar to the one below.

Simple mixer control 'Capture',0
 Capabilities: cvolume cswitch penum
 Capture channels: Front Left - Front Right
 Limits: Capture 0 - 15
 Front Left: Capture 8 [53%] [12.00dB] [on]
 Front Right: Capture 8 [53%] [12.00dB] [on]

If your output is similar, your microphone is working just fine, and the issue is either hardware related (broken microphone) or your volume needs to be checked. If you do not have an output similar to the one above or, more specifically, if both Front Left and Front Right are 0% or show an [off] tag at the end, then your microphone settings need to be rectified.

In either case, try to run:

$ alsamixer

and press F5 to show all channels. Using the arrow keys navigate all the way to the end and increase Capture. If you do not see a left and right channel for Capture, press the space bar. Doing this turns the left and right channels on. Check that Input Source is set to the correct value (e.g. [Front Mic]): navigate through the values with up and down arrow keys. If your microphone is an array built into your monitor, or you have a similar setup, make sure to increase the volume for the Digital column too. If you have multiple microphones, you may have to play around with the Mic Jack channel to get your desired setting.

You may want to save your mixer settings with:

# alsactl -f /var/lib/alsa/asound.state store

No incoming video stream

This might be related to Cairo dock, though I am not sure. You need to start skype with:

export XLIB_SKIP_ARGB_VISUALS=1 && skype

Low sound in Skype, but works everywhere else

If you are sure your microphone is configured correct in ALSA (try recording with a 3rd-party-utility to determent whether it is an ALSA, or Skype problem), it is most likely because Skype is controlling your volume levels. Simply disable this feature in the voice settings page in the Skype configuration window.

This may also help if your microphone input is automatically lowered until 0.

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 Template:Filename. See https://bbs.archlinux.org/viewtopic.php?pid=819500#p819500 for more information.

Skype can only see pulseaudio, but not ALSA devices

Turn PulseAudio autospawn off, normally: $ echo "autospawn = no" > ~/.pulse/client.conf
Kill PulseAudio: $ killall pulseaudio
Shut down and restart Skype

Crackling / Noisy sound (main using 64-bit OS)

Edit the following file: /etc/pulse/daemon.conf and uncomment/add the following lines:

high-priority = yes
nice-level = -11
realtime-scheduling = yes
realtime-priority = 5
resample-method=src-sinc-best-quality

Restart pulseaudio (or your computer). It should fix the problem (http://www.howtoforge.com/how-to-fix-the-sound-issues-between-skype2.0-and-pulseaudio-on-fedora9)