个人工具

“UbuntuHelp:Skype”的版本间的差异

来自Ubuntu中文

跳转至: 导航, 搜索
Audio Problems
 
(未显示1个用户的15个中间版本)
第1行: 第1行:
 
{{From|https://help.ubuntu.com/community/Skype}}
 
{{From|https://help.ubuntu.com/community/Skype}}
 
{{Languages|UbuntuHelp:Skype}}
 
{{Languages|UbuntuHelp:Skype}}
 
+
<<Include(Tag/ContentCleanup)>>
 
+
 
== Introduction ==
 
== Introduction ==
 
 
Skype is proprietary software that allows you to make calls over the Internet using your computer. Skype uses decentralized peer-to-peer technologies, so your calls do not go through a central server, but through distributed servers and other users. It uses its own proprietary communication protocol to achieve this.  In addition, all communications are encrypted from end to end so that others cannot listen in. The Skype software is free to use, but it is not free software; the source code is proprietary and not available for modification.
 
Skype is proprietary software that allows you to make calls over the Internet using your computer. Skype uses decentralized peer-to-peer technologies, so your calls do not go through a central server, but through distributed servers and other users. It uses its own proprietary communication protocol to achieve this.  In addition, all communications are encrypted from end to end so that others cannot listen in. The Skype software is free to use, but it is not free software; the source code is proprietary and not available for modification.
 
 
General information about Skype is on [http://en.wikipedia.org/wiki/Skype Wikipedia]. The official Skype website is http://www.skype.com.
 
General information about Skype is on [http://en.wikipedia.org/wiki/Skype Wikipedia]. The official Skype website is http://www.skype.com.
 
+
[[UbuntuWiki:SkypeEthics|SkypeEthics]] gives information on why some users do not use Skype.
[https://wiki.ubuntu.com/SkypeEthics SkypeEthics] gives information on why some users choose not to use Skype.
+
Open alternative [[UbuntuHelp:SoftPhone|Softphones]] using open protocols include [[UbuntuHelp:Ekiga|Ekiga]], [[UbuntuHelp:Twinkle|Twinkle]] and [http://www.wengophone.com Wengophone].
 
+
Open alternative SoftPhones using open protocols include [[UbuntuHelp:Ekiga]], [[UbuntuHelp:Twinkle]] and [http://www.wengophone.com Wengophone].
+
 
+
 
You need a working sound input and output configuration in order to use Skype.
 
You need a working sound input and output configuration in order to use Skype.
 
Most modern computers have sound output out of the box, but you need a microphone
 
Most modern computers have sound output out of the box, but you need a microphone
(or a headset, while you are out shopping) for the input.
+
(or a headset, while you are out shopping) for the input. In order to broadcast your face, you'll need a webcam.
 
+
 
+
=== The Problem ===
+
 
+
There are a few different aspects to the problem:
+
* Skype is not available in any Ubuntu software repository, and therefore cannot be installed with Ubuntu's package management software such as <code><nowiki>Synaptic</nowiki></code> or <code><nowiki>apt-get</nowiki></code> without adding the Skype repostory.
+
* On some systems, the Skype application can only be used for one call each time it is run due to an issue with GNOME's Enlightened Sound Daemon (ESD).
+
 
+
=== The Solution ===
+
 
+
The best way is to install Skype from the [[UbuntuHelp:Medibuntu]] repository. Version 1.3 is available for Ubuntu 6.06 and later.
+
 
+
An alternative is to use the Debian .deb package available from [http://www.skype.com/products/skype/linux/ Skype]. As of October 2006, version 1.3 is available. It supports ALSA and therefore should ease many problems with Skype.
+
 
+
 
Links to detailed information about Skype issues on Ubuntu can be found in the ''Resources'' section below.
 
Links to detailed information about Skype issues on Ubuntu can be found in the ''Resources'' section below.
 
 
== Installing Skype ==
 
== Installing Skype ==
There are a few different ways to install Skype. The recommended way is using the Skype repository as you will automatically receive future updates to the software.
+
Skype is not available in any Ubuntu software repository, and therefore cannot be installed with Ubuntu's package management software such as [[UbuntuHelp:Synaptic|Synaptic]] or [[UbuntuHelp:apt-get|apt-get]] without adding a repository containing Skype. There is the official Skype repository: http://forum.skype.com/index.php?showtopic=29679
 +
You can add the Apt source like this
 +
<pre><nowiki>
 +
echo "deb http://download.skype.com/linux/repos/debian/ stable non-free #Skype" | sudo tee -a /etc/apt/sources.list > /dev/null
 +
</nowiki></pre>
 +
Import the Apt key, even it is not used, but may be useful in future:
 +
<pre><nowiki>
 +
sudo apt-key adv --keyserver pgp.mit.edu --recv-keys 0xd66b746e
 +
</nowiki></pre>
 +
Install Skype:
 +
<pre><nowiki>
 +
sudo aptitude update && sudo aptitude install skype
 +
</nowiki></pre>
 +
Using a repository, you will automatically receive future updates to the software.
 +
Please be aware that the repository is not signed, so when you try to install Skype, you will get a warning.
 +
If you don't want to do that, or can't (for example, if you're on amd64), perhaps the easiest way to install is from the Debian (.deb) package available directly from the Skype website. The downside of this is that you won't automatically get future updates, you will have to download the new versions as they become available.
 +
=== Debian Package ===
 +
<ol><li>Download Debian package from http://www.skype.com/go/getskype-linux-ubuntu
 +
</li><li>Open the file (will open with the default GDebi Package Installer).
 +
</li><li>Click on install button.</li></ol>
  
If you don't want to do that, or can't (for example, if you're on amd64), perhaps the easiest way to install is from the Debian (.deb) package available directly from the Skype website.  The downside of this is that you won't automatically get future updates, you will have to download the new versions as they become available.
+
=== AMD64 ===
 +
For 8.10-10.04
 +
<ol><li>Download http://www.skype.com/download/skype/linux/choose/ (choose your architecture).
 +
</li><li>Install it by double-clicking the deb file and clicking "Install Package"</li></ol>
  
=== Skype Repository ===
+
Note : version 2.1 beta will work natively using PulseAudio server
* Add the Skype repository*: <code><nowiki>deb http://download.skype.com/linux/repos/debian/ stable non-free</nowiki></code>
+
Note 2: For 10.04 you will need the nspluginwrapper package which is available from the multiverse. You can enable the multiverse by going to System > Administration > Software sources and enabling the "multiverse" channel.
* Reload or update the package information
+
For 8.04:
* Install the <code><nowiki>skype</nowiki></code> package.
+
<ol><li>Download [http://www.skype.com/go/getskype-linux-ubuntu-amd64 Ubuntu 64 bit Skype package]
 +
</li><li>Install it by double-clicking the deb file and clicking "Install package"</li></ol>
  
* Refer to [[UbuntuHelp:Repositories/Ubuntu]] for information on adding, removing and modifying repositories
+
For 7.10:
 +
<ol><li>Install 32-bit libraries: sudo aptitude install lib32asound2 ia32-libs-gtk ia32-libs-kde
 +
</li><li>Download the Ubuntu package (http://skype.com/download/skype/linux/)
 +
</li><li>Install skype: sudo dpkg -i --force-architecture <the_package>
 +
</li><li>Determine if missing any additional 32bit libs: ldd /usr/bin/skype | grep not
 +
</li><li>Search and download the missing 32bit (i386) libs. (Hint [http://packages.ubuntu.com/gutsy/libs/libdbus-1-3 libdbus-1.3], [http://packages.ubuntu.com/gutsy/libs/libqt4-core libqt4-core], [http://packages.ubuntu.com/gutsy/libs/libqt4-gui libqt4-gui], [http://packages.ubuntu.com/gutsy/libs/libsigc++-2.0-0c2a libsigc++-2.0], [http://packages.ubuntu.com/gutsy/libs/libxss1 libXss])
 +
</li><li>Extract the downloaded *.deb files: dpkg-deb --extract <package> <targetdir>
 +
</li><li>Copy the necessary library files from the extracted packages to /lib32: sudo cp -i <targetdir>/usr/lib/* /lib32/</li></ol>
  
=== Debian Package ===
 
* Download Debian package from http://www.skype.com/go/getskype-linux-ubuntu
 
* Open the file (will open with the default GDebi Package Installer).
 
* Click on install button.
 
 
=== AMD64 ===
 
 
For 6.06:
 
For 6.06:
* Download the debian package (http://skype.com/download/skype/linux/)
+
<ol><li>Download the Debian package (http://skype.com/download/skype/linux/)
* Install skype: sudo dpkg -i --force-all <the_package>
+
</li><li>Install skype: sudo dpkg -i --force-all <the_package>
* Determine missing 32bit libs: ldd /usr/bin/skype | grep not
+
</li><li>Determine missing 32bit libs: ldd /usr/bin/skype | grep not
* Download the libs (the i386 version of course, hint: the package is named libqt3-mt): http://packages.ubuntu.com/
+
</li><li>Download the libs (the i386 version of course, hint: the package is named libqt3-mt): http://packages.ubuntu.com/
* mkdir ~/.32bitLibs (or use /lib32 and change last step to this directory)
+
</li><li>mkdir ~/.32bitLibs (or use /lib32 and change last step to this directory)
* extract the *.deb files (dpkg-deb --extract <package> <targetdir>)
+
</li><li>extract the *.deb files (dpkg-deb --extract <package> <targetdir>)
* copy the necessary library files from the extracted packages to ~/.32bitLibs
+
</li><li>copy the necessary library files from the extracted packages to ~/.32bitLibs
* create a wrapper script: export LD_LIBRARY_PATH="/home/<your_user>/.32bitLibs/";skype
+
</li><li>create a wrapper script: export LD_LIBRARY_PATH="/home/<your_user>/.32bitLibs/";skype</li></ol>
  
 
For 6.10 or 7.04:
 
For 6.10 or 7.04:
* Install 32-bit libraries: sudo aptitude install lib32asound2 ia32-libs-gtk ia32-libs-kde
+
<ol><li>Install 32-bit libraries: sudo aptitude install lib32asound2 ia32-libs-gtk ia32-libs-kde
* Download the debian package (http://skype.com/download/skype/linux/)
+
</li><li>Download the Debian package (http://skype.com/download/skype/linux/)
* Install skype: sudo dpkg -i --force-architecture <the_package>
+
</li><li>Install skype: sudo dpkg -i --force-architecture <the_package></li></ol>
 
+
For 7.10:
+
* Install 32-bit libraries: sudo aptitude install lib32asound2 ia32-libs-gtk ia32-libs-kde
+
* Download the Ubuntu package (http://skype.com/download/skype/linux/)
+
* Install skype: sudo dpkg -i --force-architecture <the_package>
+
* Determine if missing any additional 32bit libs: ldd /usr/bin/skype | grep not
+
* Search and download the missing 32bit (i386) libs. (Hint [http://packages.ubuntu.com/gutsy/libs/libdbus-1-3 libdbus-1.3], [http://packages.ubuntu.com/gutsy/libs/libqt4-core libqt4-core], [http://packages.ubuntu.com/gutsy/libs/libqt4-gui libqt4-gui], [http://packages.ubuntu.com/gutsy/libs/libsigc++-2.0-0c2a libsigc++-2.0], [http://packages.ubuntu.com/gutsy/libs/libxss1 libXss])
+
* Extract the downloaded *.deb files: dpkg-deb --extract <package> <targetdir>
+
* Copy the necessary library files from the extracted packages to /lib32: sudo cp -i <targetdir>/usr/lib/* /lib32/
+
  
 
== Running Skype ==
 
== Running Skype ==
 
 
To start Skype, choose '''Applications->Internet->Skype'''. It usually takes a minute or two for Skype to get started, and you may think that nothing is happening, so be patient.
 
To start Skype, choose '''Applications->Internet->Skype'''. It usually takes a minute or two for Skype to get started, and you may think that nothing is happening, so be patient.
 
 
When the Skype window finally opens, sign up (if necessary) and log in to your Skype account. Test your configuration by selecting the <code><nowiki>Echo / Sound Test Service</nowiki></code> contact (if not there already, add contact <code><nowiki>echo123</nowiki></code>) and clicking on the large green button at the bottom of the Skype window. If the connection is made and you hear a voice, your sound configuration is fine. If you cannot hear a voice, see the troubleshooting section below.
 
When the Skype window finally opens, sign up (if necessary) and log in to your Skype account. Test your configuration by selecting the <code><nowiki>Echo / Sound Test Service</nowiki></code> contact (if not there already, add contact <code><nowiki>echo123</nowiki></code>) and clicking on the large green button at the bottom of the Skype window. If the connection is made and you hear a voice, your sound configuration is fine. If you cannot hear a voice, see the troubleshooting section below.
 
 
== Troubleshooting Skype ==
 
== Troubleshooting Skype ==
 
+
Much of what follows applies to older versions of Skype and older versions of Ubuntu.  Also, if you are using Kubuntu 9.10 or later, you do not need PulseAudio (you can remove it if it is installed) and recent versions Skype (e.g. 2.0) will work without any configuring.
If you are having audio problems, first check to make sure that sound is working on your system and that your microphone and speaker volume levels are high enough. If that does not work, then try changing the Skype audio device, and finally, if all else fails, modify your ESD configuration.
+
If you are having audio problems, first check to make sure that sound is working on your system and that your microphone and speaker volume levels are high enough. First test your mic and sound by using the application Sound Recorder. If the mic works, and  you cannot hear yourself using the Skype Test Call feature, use Synaptic Package Manager to install pavucontrol (Pulse Audio Volume Controller). Use the application to set-up your input device. Most built-in mics are mono. The default setting on the Input Control is to lock the R&L channel together. By reading the mono mic as stereo, PulseAudio cancels the input. Click on the middle button on the upper right of the control panel to unlock the R&L channel. Move either the left or right channel to 10 leaving the other channel about 90. You should now see the VU meter sensing sound. Now try Skype again.
 
+
Next try configuring pulseaudio according to the [http://www.pulseaudio.org/wiki/PerfectSetup#Skype pulseaudio website].  If that does not work, then try changing the Skype audio device, and finally, if all else fails, modify your ESD configuration.
=== Audio Problems ===
+
=== Message: "Problem with ..." ===
==== 1. Volume Levels ====
+
On Ubuntu 8.10 (Intrepid). Out of Skype, the sound work fine. But playing and recording however using skype, you get the error. ”Problem with Audio Capture” or “Problem with Audio Playback”.
 
+
On skype, go to the options menu and look under the sub-menu "sound devices". Switch "Sound out" and "Ringing" to "pulse". In "Sound in", test all the options until you can hear your voice when making a test call.
* Test that output is working with the <code><nowiki>Sound Preferences</nowiki></code> dialog. Choose '''System->Preferences->Sound'''.
+
In alternative, you can uninstall pulseaudio and switch it with [[UbuntuHelp:esound|esound]]. To do so, run the following commands :
* Test that microphone input is working with the <code><nowiki>Sound Recorder</nowiki></code> application. Choose '''Applications->Sound & Video->Sound Recorder'''.
+
* Ensure that your audio output and microphone input channels are not muted by choosing '''Applications->Sound & Video->Volume Control'''.
+
 
+
==== 2. Skype Audio Device ====
+
 
+
If your audio levels are properly configured and you can hear audio in Skype but your contacts cannot hear your input, you may need to change Skype's input device. From the Skype menu, choose '''Tools->Options''' and select <code><nowiki>Hand/Headsets</nowiki></code> in the dialog that opens. Experiment with different <code><nowiki>Calls</nowiki></code> selections, if they are available.
+
 
+
==== 3. ESD Configuration ====
+
 
+
''Note: for Ubuntu 5.10 (Breezy) only. This is the already the default configuration in Ubuntu 6.06 (Dapper).''
+
A problem with the GNOME ESD (Enlightened Sound Daemon) server may cause issues with Skype for some users. If Skype is unable to make or receive calls and continuously crashes, then a small change to the ESD configuration may help. Run:
+
 
<pre><nowiki>
 
<pre><nowiki>
gksudo gedit /etc/esound/esd.conf
+
killall pulseaudio
</nowiki></pre>
+
sudo aptitude remove pulseaudio
and change the line:
+
sudo aptitude install esound
<pre><nowiki>
+
sudo aptitude remove /etc/X11/Xsession.d/70pulseaudio
auto_spawn=0
+
</nowiki></pre>
+
to:
+
<pre><nowiki>
+
auto_spawn=1
+
 
</nowiki></pre>
 
</nowiki></pre>
 
+
Source : http://blog.rajatpandit.com/2008/11/15/skype-audio-playback-and-capture-problem-on-ubuntu-810/
Log out and back in to restart ESD, and test Skype again as above. It is likely that this solution will only work if Skype is the only application using audio. You will not be able to play music while using Skype, and you will not be able to use Skype while playing music.
+
YMMD with that aswner! TX
 
+
For more setup information, see the Skype website article [http://www.skype.com/help/guides/soundsetup_linux.html Skype Sound and Audio Set-Up - PC Running Linux].
+
 
+
==== 4. ALSA Configuration ====
+
 
+
Enabling ALSA gives you the choice to workaround some Skype issues: The present Skype Linux release (1.2.0.18) uses OSS sound, which means it allows '''only one application to access sound device'''. On some systems, OSS is not even used by default, which means you won't be able to select the OSS sound device ('''/dev/dsp''') at all, because it does not exist. Worse off, it has a bug that makes Skype '''unusable after a call'''. Sometimes a few calls can be made, before it happens, but later only solution is to restart Skype. Technically it seems that Skype "forgets" to close the sound device before trying to open it again and therefore locks up. This seems to happen when '''you''' are the first to hang up and not when the other party hangs up first, so a workaround is to just wait at the end of a call and let the other party finish first.
+
 
+
To avoid these issues, you can use ALSA instead of ESD. First, follow the guidelines found in [http://www.ubuntuforums.org/showthread.php?t=32063]. Then follow up with [http://juljas.net/linux/skype/]. Good luck!
+
 
+
Note that the above forum post howto is for Hoary/Breezy. This should, according to [http://www.ubuntuforums.org/showpost.php?p=1143531&postcount=1089 mdz's post], not be an issue in Ubuntu 6.06 (Dapper).
+
 
+
===== 4.1 Another possible solution for software mixing =====
+
 
+
If none of the other options works, try this one (it's working on a HP Pavilion dv1000).  Taken from http://forum.skype.com/viewtopic.php?t=48195
+
 
+
Create or add the following to your .asoundrc file:
+
<pre><nowiki>
+
gedit ~.asoundrc
+
</nowiki></pre>
+
 
+
Add the following text to it
+
<pre><nowiki>
+
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 can't just use a "plug" plugin because although the open will
+
# succeed, the buffer sizes will be wrong and we'll 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
+
}
+
}
+
</nowiki></pre>
+
 
+
Create a skype launcher (in this example is going to be at your home directory).
+
<pre><nowiki>
+
gedit ~/skype.sh
+
</nowiki></pre>
+
 
+
add the following text
+
<pre><nowiki>
+
#/usr/bin/sh
+
 
+
ALSA_OSS_PCM_DEVICE="skype" aoss /usr/bin/skype --disable-dbus
+
</nowiki></pre>
+
 
+
Give skype.sh execution rights by browsing with Nautilus over there, right click on the file, go to Properties, go to Permissions tab, and select "Execute" for the user.
+
 
+
Double click on the file and you should be done.
+
  
 
=== Video Problems ===
 
=== Video Problems ===
 
+
For troubleshooting video issues on Skype, the following wiki pages may be helpful:
For troubleshooting video issues on Skype (video is available in beta since 11/2007), the following wiki pages may be helpful:
+
* [[UbuntuWiki:SkypeWebCams|Skype|and webcams]]
 
+
* [[UbuntuHelp:Webcam|General|page on webcams]]
* [https://wiki.ubuntu.com/SkypeWebCams     Skype and webcams]
+
 
+
* [https://help.ubuntu.com/community/Webcam General page on webcams]
+
 
+
 
=== Port use ===
 
=== Port use ===
 
 
Skype uses port 80 by default, and thus, may block some other applications that use the same port such as Apache. The solution is to change the port in one of the applications. Usually, port 81 is free and works fine. To change the port number in Skype go to menu Tools > Options, then click on the Advanced tab, then in the 'port' box, change to your preference.
 
Skype uses port 80 by default, and thus, may block some other applications that use the same port such as Apache. The solution is to change the port in one of the applications. Usually, port 81 is free and works fine. To change the port number in Skype go to menu Tools > Options, then click on the Advanced tab, then in the 'port' box, change to your preference.
 
 
=== Invalid Pointer ===
 
=== Invalid Pointer ===
 
 
Some very few users have experienced the inability to normally start Skype 1.3 under Dapper, receiving the following error:
 
Some very few users have experienced the inability to normally start Skype 1.3 under Dapper, receiving the following error:
 
<pre><nowiki>
 
<pre><nowiki>
 
*** glibc detected *** free(): invalid pointer: 0x08aab8a0 ***
 
*** glibc detected *** free(): invalid pointer: 0x08aab8a0 ***
 
</nowiki></pre>
 
</nowiki></pre>
The pointer's address might vary on install or version, the only common factor exhibited by all people receiving the error is that all of them use '''SCIM''' to be able to input in one of various asian languages (some users exhibit this while using scim for Chinese, others when using it to input in Japanese so the language itself seems not to be important, only the presence of scim is). A few of these same persons report success in running a statically compiled version of the Skype 1.3 client. Others have shown success in changing the XIM input preferences during Skype launch by launching Skype (from either the command line or Gnome's/Kde's menu) with this command:
+
The pointer's address might vary on install or version, the only common factor exhibited by all people receiving the error is that all of them use '''SCIM''' to be able to input in one of various Asian languages (some users exhibit this while using scim for Chinese, others when using it to input in Japanese so the language itself seems not to be important, only the presence of scim is). A few of these same persons report success in running a statically compiled version of the Skype 1.3 client. Others have shown success in changing the XIM input preferences during Skype launch by launching Skype (from either the command line or Gnome's/Kde's menu) with this command:
 
<pre><nowiki>
 
<pre><nowiki>
 
XMODIFIERS=@im=none QT_IM_MODULE=xim skype
 
XMODIFIERS=@im=none QT_IM_MODULE=xim skype
 
</nowiki></pre>
 
</nowiki></pre>
 
This will hinder (read, remove) your ability to use scim to type in a foreign language inside Skype itself, but it will also most probably permit you to run Skype normally.
 
This will hinder (read, remove) your ability to use scim to type in a foreign language inside Skype itself, but it will also most probably permit you to run Skype normally.
 
 
If you use SCIM as your default input method, and you are unable to run Skype you could try these solutions and see if they solve the problem.
 
If you use SCIM as your default input method, and you are unable to run Skype you could try these solutions and see if they solve the problem.
 
 
=== System hangs for a short while (few seconds) ===
 
=== System hangs for a short while (few seconds) ===
 
 
Skype apparently creates FIFO threads when initiating a chat with someone. Users members of the admin group (typically the user who has installed Ubuntu) are likely to find this really annoying as the created threads do not relinquish the CPU easily. The first option (maybe the easiest) is to remove yourself from the admin group. You may otherwise intercept calls to pthread_create() with a preloaded (LD_PRELOAD) DSO:
 
Skype apparently creates FIFO threads when initiating a chat with someone. Users members of the admin group (typically the user who has installed Ubuntu) are likely to find this really annoying as the created threads do not relinquish the CPU easily. The first option (maybe the easiest) is to remove yourself from the admin group. You may otherwise intercept calls to pthread_create() with a preloaded (LD_PRELOAD) DSO:
 
 
<pre><nowiki>
 
<pre><nowiki>
 
#define _GNU_SOURCE 1
 
#define _GNU_SOURCE 1
第239行: 第115行:
  
 
int (* orig_pthread_create) (pthread_t *thread,
 
int (* orig_pthread_create) (pthread_t *thread,
const pthread_attr_t *attr,
+
      const pthread_attr_t *attr,
void *(*start_routine)(void*), void *arg) = NULL;
+
      void *(*start_routine)(void*), void *arg) = NULL;
  
 
static void change_sched_policy (pthread_attr_t *attr) {
 
static void change_sched_policy (pthread_attr_t *attr) {
  
int policy;
+
  int policy;
  
if (attr == NULL) return;
+
  if (attr == NULL) return;
pthread_attr_getschedpolicy (attr, &policy);
+
  pthread_attr_getschedpolicy (attr, &policy);
if (policy == SCHED_FIFO) {
+
  if (policy == SCHED_FIFO) {
printf ("### SCHED_FIFO policy changed to SCHED_RR\n");
+
      printf ("### SCHED_FIFO policy changed to SCHED_RR\n");
pthread_attr_setschedpolicy (attr, SCHED_RR);
+
      pthread_attr_setschedpolicy (attr, SCHED_RR);
}
+
  }
 
}
 
}
  
 
int pthread_create(pthread_t *thread,
 
int pthread_create(pthread_t *thread,
const pthread_attr_t *attr,
+
      const pthread_attr_t *attr,
void *(*start_routine)(void*), void *arg) {
+
      void *(*start_routine)(void*), void *arg) {
  
pthread_attr_t new_attr;
+
  pthread_attr_t new_attr;
  
if (orig_pthread_create == NULL) {
+
  if (orig_pthread_create == NULL) {
orig_pthread_create = dlsym (RTLD_NEXT, "pthread_create");
+
      orig_pthread_create = dlsym (RTLD_NEXT, "pthread_create");
}
+
  }
  
change_sched_policy (attr);
+
  change_sched_policy (attr);
  
return orig_pthread_create (
+
  return orig_pthread_create (
thread, attr, start_routine, arg
+
      thread, attr, start_routine, arg
);
+
  );
  
 
}
 
}
 
</nowiki></pre>
 
</nowiki></pre>
 
 
Compile the above source code with <code><nowiki>gcc -shared -o libskype.so skype.c</nowiki></code> and launch Skype as follow:
 
Compile the above source code with <code><nowiki>gcc -shared -o libskype.so skype.c</nowiki></code> and launch Skype as follow:
 
 
<pre><nowiki>
 
<pre><nowiki>
 
export LD_LIBRARY_PATH=path_to/libskype.so:/usr/lib/libqt-mt.so.3
 
export LD_LIBRARY_PATH=path_to/libskype.so:/usr/lib/libqt-mt.so.3
 
/usr/bin/skype
 
/usr/bin/skype
 
</nowiki></pre>
 
</nowiki></pre>
 
 
My work colleagues and I have tested this on Ubuntu Edgy Eft and we haven't seen, so far, any side effects.
 
My work colleagues and I have tested this on Ubuntu Edgy Eft and we haven't seen, so far, any side effects.
 +
=== Skype fails to start  ===
 +
Skype has a conflict when the Nessus scanner is installed.  When opening Skype from the command line the following error occurs:
 +
<pre><nowiki>
 +
skype: symbol lookup error: /usr/lib/libQtNetwork.so.4: undefined symbol: _ZN14QObjectPrivate15checkWindowRoleEv
 +
</nowiki></pre>
 +
The solution is to edit /etc/ld.so.conf and comment out the line /opt/nessus/lib and then run sudo ldconfig.
 +
<pre><nowiki>
 +
sudo nano /etc/ld.so.conf
 +
</nowiki></pre>
 +
Put a # infront of the line /opt/nessus/lib.  Save and exit.
 +
<pre><nowiki>
 +
include /etc/ld.so.conf.d/*.conf
  
 +
#/opt/nessus/lib
 +
</nowiki></pre>
 +
Run
 +
<pre><nowiki>
 +
sudo ldconfig
 +
</nowiki></pre>
 +
Now Skype should open.
 +
=== Skype resets DSL modem ===
 +
This has been reported to happen by people using Siemens Speedstream 4200 modem. Disabling UPnP in the modem seems to solve the problem (as posted in http://forum.skype.com/index.php?showtopic=113444).
 
== Display configuration ==
 
== Display configuration ==
Because Skype is a KDE application, Skype's typeface will appear very large on GNOME desktops. You can use either the <code><nowiki>kcontrol</nowiki></code> or the <code><nowiki>qt3-qtconfig</nowiki></code> package to configure the appearance of Skype and other KDE/QT applications. Of these two, the QT Configurator (<code><nowiki>qt3-qtconfig</nowiki></code>) has far fewer dependencies than <code><nowiki>kcontrol</nowiki></code> and may therefore be more convenient for people who mostly use non-KDE software. See also QtGnome for how to make Skype (and other Qt applications) look more like Gnome.
+
Because Skype is a Qt application, Skype's typeface will appear very large on GNOME desktops. You can use either the <code><nowiki>kcontrol</nowiki></code> or the <code><nowiki>qt3-qtconfig</nowiki></code> package to configure the appearance of Skype and other KDE/QT applications. Of these two, the QT Configurator (<code><nowiki>qt3-qtconfig</nowiki></code>) has far fewer dependencies than <code><nowiki>kcontrol</nowiki></code> and may therefore be more convenient for people who mostly use non-KDE software. See also [[UbuntuHelp:QtGnome|QtGnome]] for how to make Skype (and other Qt applications) look more like Gnome.
 
+
 
* A quick fix, without installing any configuration packages at all, is to make a file '''<code><nowiki>qtrc</nowiki></code>''' in your '''<code><nowiki>$HOME/.qt</nowiki></code>''' directory, and put these two lines in it:
 
* A quick fix, without installing any configuration packages at all, is to make a file '''<code><nowiki>qtrc</nowiki></code>''' in your '''<code><nowiki>$HOME/.qt</nowiki></code>''' directory, and put these two lines in it:
 
<pre><nowiki>
 
<pre><nowiki>
[General]
+
  [General]
font=Bitstream Vera Sans Mono,9,-1,5,50,0,0,0,0,0
+
  font=Bitstream Vera Sans Mono,9,-1,5,50,0,0,0,0,0
</nowiki></pre>
+
  </nowiki></pre>
 
+
 
* You can start QT Configurator with the "<code><nowiki>qtconfig</nowiki></code>" command. On the "Fonts" tab, choosing Font Family ''Sans Serif'' and Point Size 10 will give something that resembles Ubuntu's GNOME desktop.
 
* You can start QT Configurator with the "<code><nowiki>qtconfig</nowiki></code>" command. On the "Fonts" tab, choosing Font Family ''Sans Serif'' and Point Size 10 will give something that resembles Ubuntu's GNOME desktop.
 
 
* If you install the <code><nowiki>kcontrol</nowiki></code> package, you may run it by entering '''<code><nowiki>kcontrol</nowiki></code>''' into the <code><nowiki>Applications/Run Application...</nowiki></code> prompt. Expand the <code><nowiki>Appearance & Themes</nowiki></code> menu and select <code><nowiki>Fonts</nowiki></code>. Press <code><nowiki>Adjust All Fonts</nowiki></code> and select <code><nowiki>Size</nowiki></code>. Lower this value to your preference (size 10 or 11 is usually satisfactory). Press <code><nowiki>OK</nowiki></code> and <code><nowiki>Apply</nowiki></code> and exit the KDE Control Center.
 
* If you install the <code><nowiki>kcontrol</nowiki></code> package, you may run it by entering '''<code><nowiki>kcontrol</nowiki></code>''' into the <code><nowiki>Applications/Run Application...</nowiki></code> prompt. Expand the <code><nowiki>Appearance & Themes</nowiki></code> menu and select <code><nowiki>Fonts</nowiki></code>. Press <code><nowiki>Adjust All Fonts</nowiki></code> and select <code><nowiki>Size</nowiki></code>. Lower this value to your preference (size 10 or 11 is usually satisfactory). Press <code><nowiki>OK</nowiki></code> and <code><nowiki>Apply</nowiki></code> and exit the KDE Control Center.
 
 
https://help.ubuntu.com/community/Skype?action=AttachFile&do=get&target=kcontrol.png
 
https://help.ubuntu.com/community/Skype?action=AttachFile&do=get&target=kcontrol.png
 
+
== 640x480 Video Hack ==
== Resources ==
+
640x480 video is not officially a Linux feature but it seems to work with the following modification.
 +
Once Skype is working correctly for you, close it down completely and edit this file
 +
<YOUR HOME DIRECTORY>/.Skype/<SKYPE_USERNAME>/config.xml
 +
and add
 +
<CaptureHeight>480</CaptureHeight>
 +
<CaptureWidth>640</CaptureWidth>
 +
inside this section
 +
<Video>
 +
</Video>
 +
After that you should see outbound 640x480 video (it may take a minute or two to "warm up" it seems to gradually increase quality until it hits the limit).
 +
Dual Core processor, etc (see Skype Windows high quality video hardware requirements) recommended.
 +
== See Also ==
 +
* [[UbuntuHelp:InternetApplications|InternetApplications]]
 +
* [[UbuntuHelp:Ekiga|Ekiga]] OpenSource [[UbuntuHelp:VoIP|VoIP]] application
 +
== External Links ==
 
* The Skype homepage http://www.skype.com/
 
* The Skype homepage http://www.skype.com/
 
* Skype article on Wikipedia: http://en.wikipedia.org/wiki/Skype
 
* Skype article on Wikipedia: http://en.wikipedia.org/wiki/Skype
第309行: 第213行:
 
* Skype takes a long time to load? (change command to "skype --disable-dbus") http://forum.skype.com/viewtopic.php?t=47838
 
* Skype takes a long time to load? (change command to "skype --disable-dbus") http://forum.skype.com/viewtopic.php?t=47838
 
* https://wiki.ubuntu.com/SkypeEthics
 
* https://wiki.ubuntu.com/SkypeEthics
 +
* [[UbuntuHelp:SkypeRecordingHowto|SkypeRecordingHowto]] Recording Skype Conversations
 +
* How to make Skype use Notify-OSD instead of the default Skype notifications http://webupd8.blogspot.com/2009/06/ubuntu-jaunty-notification-system-for.html
 +
----
 +
* [[UbuntuHelp:Skype/PageDiscussion|Discuss this page]]
 +
----
 +
[[category:CategorySoftware]] [[category:CategoryAudio]]
  
 
[[category:UbuntuHelp]]
 
[[category:UbuntuHelp]]

2011年8月16日 (二) 23:40的最新版本


<<Include(Tag/ContentCleanup)>>

Introduction

Skype is proprietary software that allows you to make calls over the Internet using your computer. Skype uses decentralized peer-to-peer technologies, so your calls do not go through a central server, but through distributed servers and other users. It uses its own proprietary communication protocol to achieve this. In addition, all communications are encrypted from end to end so that others cannot listen in. The Skype software is free to use, but it is not free software; the source code is proprietary and not available for modification. General information about Skype is on Wikipedia. The official Skype website is http://www.skype.com. SkypeEthics gives information on why some users do not use Skype. Open alternative Softphones using open protocols include Ekiga, Twinkle and Wengophone. You need a working sound input and output configuration in order to use Skype. Most modern computers have sound output out of the box, but you need a microphone (or a headset, while you are out shopping) for the input. In order to broadcast your face, you'll need a webcam. Links to detailed information about Skype issues on Ubuntu can be found in the Resources section below.

Installing Skype

Skype is not available in any Ubuntu software repository, and therefore cannot be installed with Ubuntu's package management software such as Synaptic or apt-get without adding a repository containing Skype. There is the official Skype repository: http://forum.skype.com/index.php?showtopic=29679 You can add the Apt source like this

echo "deb http://download.skype.com/linux/repos/debian/ stable non-free #Skype" | sudo tee -a /etc/apt/sources.list > /dev/null

Import the Apt key, even it is not used, but may be useful in future:

sudo apt-key adv --keyserver pgp.mit.edu --recv-keys 0xd66b746e

Install Skype:

sudo aptitude update && sudo aptitude install skype

Using a repository, you will automatically receive future updates to the software. Please be aware that the repository is not signed, so when you try to install Skype, you will get a warning. If you don't want to do that, or can't (for example, if you're on amd64), perhaps the easiest way to install is from the Debian (.deb) package available directly from the Skype website. The downside of this is that you won't automatically get future updates, you will have to download the new versions as they become available.

Debian Package

  1. Download Debian package from http://www.skype.com/go/getskype-linux-ubuntu
  2. Open the file (will open with the default GDebi Package Installer).
  3. Click on install button.

AMD64

For 8.10-10.04

  1. Download http://www.skype.com/download/skype/linux/choose/ (choose your architecture).
  2. Install it by double-clicking the deb file and clicking "Install Package"

Note : version 2.1 beta will work natively using PulseAudio server Note 2: For 10.04 you will need the nspluginwrapper package which is available from the multiverse. You can enable the multiverse by going to System > Administration > Software sources and enabling the "multiverse" channel. For 8.04:

  1. Download Ubuntu 64 bit Skype package
  2. Install it by double-clicking the deb file and clicking "Install package"

For 7.10:

  1. Install 32-bit libraries: sudo aptitude install lib32asound2 ia32-libs-gtk ia32-libs-kde
  2. Download the Ubuntu package (http://skype.com/download/skype/linux/)
  3. Install skype: sudo dpkg -i --force-architecture <the_package>
  4. Determine if missing any additional 32bit libs: ldd /usr/bin/skype | grep not
  5. Search and download the missing 32bit (i386) libs. (Hint libdbus-1.3, libqt4-core, libqt4-gui, libsigc++-2.0, libXss)
  6. Extract the downloaded *.deb files: dpkg-deb --extract <package> <targetdir>
  7. Copy the necessary library files from the extracted packages to /lib32: sudo cp -i <targetdir>/usr/lib/* /lib32/

For 6.06:

  1. Download the Debian package (http://skype.com/download/skype/linux/)
  2. Install skype: sudo dpkg -i --force-all <the_package>
  3. Determine missing 32bit libs: ldd /usr/bin/skype | grep not
  4. Download the libs (the i386 version of course, hint: the package is named libqt3-mt): http://packages.ubuntu.com/
  5. mkdir ~/.32bitLibs (or use /lib32 and change last step to this directory)
  6. extract the *.deb files (dpkg-deb --extract <package> <targetdir>)
  7. copy the necessary library files from the extracted packages to ~/.32bitLibs
  8. create a wrapper script: export LD_LIBRARY_PATH="/home/<your_user>/.32bitLibs/";skype

For 6.10 or 7.04:

  1. Install 32-bit libraries: sudo aptitude install lib32asound2 ia32-libs-gtk ia32-libs-kde
  2. Download the Debian package (http://skype.com/download/skype/linux/)
  3. Install skype: sudo dpkg -i --force-architecture <the_package>

Running Skype

To start Skype, choose Applications->Internet->Skype. It usually takes a minute or two for Skype to get started, and you may think that nothing is happening, so be patient. When the Skype window finally opens, sign up (if necessary) and log in to your Skype account. Test your configuration by selecting the Echo / Sound Test Service contact (if not there already, add contact echo123) and clicking on the large green button at the bottom of the Skype window. If the connection is made and you hear a voice, your sound configuration is fine. If you cannot hear a voice, see the troubleshooting section below.

Troubleshooting Skype

Much of what follows applies to older versions of Skype and older versions of Ubuntu. Also, if you are using Kubuntu 9.10 or later, you do not need PulseAudio (you can remove it if it is installed) and recent versions Skype (e.g. 2.0) will work without any configuring. If you are having audio problems, first check to make sure that sound is working on your system and that your microphone and speaker volume levels are high enough. First test your mic and sound by using the application Sound Recorder. If the mic works, and you cannot hear yourself using the Skype Test Call feature, use Synaptic Package Manager to install pavucontrol (Pulse Audio Volume Controller). Use the application to set-up your input device. Most built-in mics are mono. The default setting on the Input Control is to lock the R&L channel together. By reading the mono mic as stereo, PulseAudio cancels the input. Click on the middle button on the upper right of the control panel to unlock the R&L channel. Move either the left or right channel to 10 leaving the other channel about 90. You should now see the VU meter sensing sound. Now try Skype again. Next try configuring pulseaudio according to the pulseaudio website. If that does not work, then try changing the Skype audio device, and finally, if all else fails, modify your ESD configuration.

Message: "Problem with ..."

On Ubuntu 8.10 (Intrepid). Out of Skype, the sound work fine. But playing and recording however using skype, you get the error. ”Problem with Audio Capture” or “Problem with Audio Playback”. On skype, go to the options menu and look under the sub-menu "sound devices". Switch "Sound out" and "Ringing" to "pulse". In "Sound in", test all the options until you can hear your voice when making a test call. In alternative, you can uninstall pulseaudio and switch it with esound. To do so, run the following commands :

killall pulseaudio
sudo aptitude remove pulseaudio
sudo aptitude install esound
sudo aptitude remove /etc/X11/Xsession.d/70pulseaudio

Source : http://blog.rajatpandit.com/2008/11/15/skype-audio-playback-and-capture-problem-on-ubuntu-810/ YMMD with that aswner! TX

Video Problems

For troubleshooting video issues on Skype, the following wiki pages may be helpful:

Port use

Skype uses port 80 by default, and thus, may block some other applications that use the same port such as Apache. The solution is to change the port in one of the applications. Usually, port 81 is free and works fine. To change the port number in Skype go to menu Tools > Options, then click on the Advanced tab, then in the 'port' box, change to your preference.

Invalid Pointer

Some very few users have experienced the inability to normally start Skype 1.3 under Dapper, receiving the following error:

*** glibc detected *** free(): invalid pointer: 0x08aab8a0 ***

The pointer's address might vary on install or version, the only common factor exhibited by all people receiving the error is that all of them use SCIM to be able to input in one of various Asian languages (some users exhibit this while using scim for Chinese, others when using it to input in Japanese so the language itself seems not to be important, only the presence of scim is). A few of these same persons report success in running a statically compiled version of the Skype 1.3 client. Others have shown success in changing the XIM input preferences during Skype launch by launching Skype (from either the command line or Gnome's/Kde's menu) with this command:

XMODIFIERS=@im=none QT_IM_MODULE=xim skype

This will hinder (read, remove) your ability to use scim to type in a foreign language inside Skype itself, but it will also most probably permit you to run Skype normally. If you use SCIM as your default input method, and you are unable to run Skype you could try these solutions and see if they solve the problem.

System hangs for a short while (few seconds)

Skype apparently creates FIFO threads when initiating a chat with someone. Users members of the admin group (typically the user who has installed Ubuntu) are likely to find this really annoying as the created threads do not relinquish the CPU easily. The first option (maybe the easiest) is to remove yourself from the admin group. You may otherwise intercept calls to pthread_create() with a preloaded (LD_PRELOAD) DSO:

#define _GNU_SOURCE 1
#include <dlfcn.h>
#include <pthread.h>
#include <stdio.h>
#include <string.h>

int (* orig_pthread_create) (pthread_t *thread,
       const pthread_attr_t *attr,
       void *(*start_routine)(void*), void *arg) = NULL;

static void change_sched_policy (pthread_attr_t *attr) {

   int policy;

   if (attr == NULL) return;
   pthread_attr_getschedpolicy (attr, &policy);
   if (policy == SCHED_FIFO) {
      printf ("### SCHED_FIFO policy changed to SCHED_RR\n");
      pthread_attr_setschedpolicy (attr, SCHED_RR);
   }
}

int pthread_create(pthread_t *thread,
       const pthread_attr_t *attr,
       void *(*start_routine)(void*), void *arg) {

   pthread_attr_t new_attr;

   if (orig_pthread_create == NULL) {
      orig_pthread_create = dlsym (RTLD_NEXT, "pthread_create");
   }

   change_sched_policy (attr);

   return orig_pthread_create (
      thread, attr, start_routine, arg
   );

}

Compile the above source code with gcc -shared -o libskype.so skype.c and launch Skype as follow:

export LD_LIBRARY_PATH=path_to/libskype.so:/usr/lib/libqt-mt.so.3
/usr/bin/skype

My work colleagues and I have tested this on Ubuntu Edgy Eft and we haven't seen, so far, any side effects.

Skype fails to start

Skype has a conflict when the Nessus scanner is installed. When opening Skype from the command line the following error occurs:

skype: symbol lookup error: /usr/lib/libQtNetwork.so.4: undefined symbol: _ZN14QObjectPrivate15checkWindowRoleEv

The solution is to edit /etc/ld.so.conf and comment out the line /opt/nessus/lib and then run sudo ldconfig.

sudo nano /etc/ld.so.conf

Put a # infront of the line /opt/nessus/lib. Save and exit.

include /etc/ld.so.conf.d/*.conf

#/opt/nessus/lib

Run

sudo ldconfig

Now Skype should open.

Skype resets DSL modem

This has been reported to happen by people using Siemens Speedstream 4200 modem. Disabling UPnP in the modem seems to solve the problem (as posted in http://forum.skype.com/index.php?showtopic=113444).

Display configuration

Because Skype is a Qt application, Skype's typeface will appear very large on GNOME desktops. You can use either the kcontrol or the qt3-qtconfig package to configure the appearance of Skype and other KDE/QT applications. Of these two, the QT Configurator (qt3-qtconfig) has far fewer dependencies than kcontrol and may therefore be more convenient for people who mostly use non-KDE software. See also QtGnome for how to make Skype (and other Qt applications) look more like Gnome.

  • A quick fix, without installing any configuration packages at all, is to make a file qtrc in your $HOME/.qt directory, and put these two lines in it:
  [General]
  font=Bitstream Vera Sans Mono,9,-1,5,50,0,0,0,0,0
  
  • You can start QT Configurator with the "qtconfig" command. On the "Fonts" tab, choosing Font Family Sans Serif and Point Size 10 will give something that resembles Ubuntu's GNOME desktop.
  • If you install the kcontrol package, you may run it by entering kcontrol into the Applications/Run Application... prompt. Expand the Appearance & Themes menu and select Fonts. Press Adjust All Fonts and select Size. Lower this value to your preference (size 10 or 11 is usually satisfactory). Press OK and Apply and exit the KDE Control Center.

Skype?action=AttachFile&do=get&target=kcontrol.png

640x480 Video Hack

640x480 video is not officially a Linux feature but it seems to work with the following modification. Once Skype is working correctly for you, close it down completely and edit this file <YOUR HOME DIRECTORY>/.Skype/<SKYPE_USERNAME>/config.xml and add <CaptureHeight>480</CaptureHeight> <CaptureWidth>640</CaptureWidth> inside this section <Video> </Video> After that you should see outbound 640x480 video (it may take a minute or two to "warm up" it seems to gradually increase quality until it hits the limit). Dual Core processor, etc (see Skype Windows high quality video hardware requirements) recommended.

See Also

External Links

http://forum.skype.com/

  • A discussion on Skype forum of the dependency problem

http://forum.skype.com/viewtopic.php?t=38474&postdays=0&postorder=asc&start=0

  • A discussion on Ubuntu forum of the dependency problem

http://www.ubuntuforums.org/showthread.php?t=81831