From Mageia wiki
Jump to: navigation, search


Introduction

This document describes how to install Skype in Mageia Linux. Microsoft's Skype software is not open source and subject to legal restrictions, that's why Skype itself is not available in the Mageia repositories.

Previously a Mageia get-skype package was available in the nonfree repositories which downloaded the software from the Microsoft website, but get-skype is no longer available.

Skype system requirements

At the time of writing this, there is a 64-bit version for Ubuntu, Debian, OpenSuse, and Fedora but no 32-bit version for Linux. Please note: Skype is Microsoft software and Microsoft does not support Skype on Mageia Linux.

The Linux version of Skype is still in beta!

For a list of requirements for using Skype please see this page: https://support.skype.com/en/faq/fa10328/what-are-the-system-requirements-for-skype


Installing

You can either follow the manual steps shown below or use the script skype_dl_if_new in Appendix 1 (below). The skype_dl_if_new script will check for and automatically install any pending new Skype update every time it is run.

Bear in mind that as there is no urpmi repository for this version of Skype that it will not get updates when you run a Mageia update.

Automatic install

Run the skype_dl_if_new script in Skype_with_video#Appendix_1:_.22skype_dl_if_new.22_script_to_check_for_and_install_new_version_if_available

A key benefit of using skype_dl_if_new is that it will only download and install if a new version of Skype for Linux is available. So, you can, from time to time, just run skype_dl_if_new as a non-root user to check for updates.

Manual install

Manual install step 1: download

Download rpm file from the Microsoft website: https://www.skype.com/en/download-skype/skype-for-linux

Please be aware that the skype rpm is about 110 MB in size and may take some time to download depending on your network connection.

Manual install step 2: install

You can install this rpm with:

cd <path_to_where_you_saved_the_rpm>
/bin/su
dnf install skypeforlinux-64.rpm

You can also install the rpm with urpmi, but it will not install the configuration for the Skype repository.

cd <path_to_where_you_saved_the_rpm>
/bin/su
urpmi skypeforlinux-64.rpm


During the installation of the rpm, you'll receive a warning:

Cannot find atd service

You can safely ignore this message, the at service should import the GPG key for the Skype mirror. The workaround:

su
cp /tmp/skype.gpgsig* /etc/pki/rpm-gpg/RPM-GPG-KEY-Skype
dnf update


Test

Notepad.png
Please note!
Skype doesn't provide video service or screen share anymore with the actual release. Some other features are also affected.

Before trying Skype, you can check your webcam works using the cheese photo-booth application in Mageia.

Try calling the Skype test service to check audio settings are correct.

Note: Skype only works with PulseAudio, this is the default setting in Mageia and can be changed via the Mageia Control Center.

If you have problems with the sound or microphone settings, check the Mixer settings of your graphical environment.

For instance in Gnome: System -> Preferences -> Sound, here you can find the microphone settings in the Input Tab. Make sure that you selected the correct device as an input device, if there are multiple devices available, just try them all.

Installing Pulse Audio Volume Control packages: pavucontrol (Gnome, XFCE etc.) or pavucontrol-qt (KDE) can also help adjust the settings.


Links

Skype voice and video chat http://www.skype.com
MAQeia for Skype discussion https://forums.mageia.org/en/viewtopic.php?f=36&t=1121

Change history

date editor change details
2011_12_25 Paul Blackburn first draft
2012_01_07 Paul Blackburn removed MIB package link and explained legal issue why Mageia does not include Skype software in Mageia urpmi sources
2012_10_07 Paul Blackburn updated install URL for version 4.0.0.8
2012_11_20 Paul Blackburn updated install URL for version 4.1.0.20 with security update
2013_04_27 Paul Blackburn updated download link
2014_06_07 Paul Blackburn updated install URL for version 4.2.0.13
2014_06_24 Paul Blackburn updated install URL for version 4.3.0.37-1
2014_10_26 Paul Blackburn updated install URL for version 4.3.0.37-5
2017_05_03 Papoteur video no more functional
2017_05_05 Kristoffer Grundström Audio works now with 5.1 beta release
2017_11_09 Frederik Vos get-skype package not available any longer ? Official rpm works fine, audio / video / bots
2018_05_01 Paul Blackburn removed statement about 32 bit version because it is only available for 64 bit
2018_05_01 Paul Blackburn added section "Skype system requirements"
2018_05_01 Paul Blackburn moved intro text from "install" section to "introduction", added section "Step 1: download", separated install into "Step 2: install", renamed test as "Step 3: test", removed superflous "exit" from dnf install examples
2018_05_01 Paul Blackburn added: Appendix 1: "skype_dl_if_new" script to check for and install new version if available
2018_09_16 Paul Blackburn updated "skype_dl_if_new" script to display previous and new installed version numbers

Appendix 1: "skype_dl_if_new" script to check for and install new version if available

This script checks to see if a new version of the Microsoft skype RPM is available and if so installs it.

#!/bin/sh

# Name        skype_dl_if_new
# Author      paul[dot]blackburn[at]gmail[dot]com
# Written     2018_05_01
# Updated     Wed  5 Sep 16:11:50 BST 2018 
# Update:     Now displays previous and new installed version of Skype rpm after update
#
# Purpose     Installing Skype in Mageia Linux.
#             Check for new version of "skypeforlinux-64.rpm", if new then download and install.
#             Run this script from time to time to check if there is a new update.
#             (There is no urpmi rpm repository for this.)
#
# Reference   https://wiki.mageia.org/en/Skype_with_video
#
# Usage       skype_dl_if_new
#             run as non-root user
#
# Assumptions
#             The latest available rpm is in:
#                     https://repo.skype.com/latest/skypeforlinux-64.rpm
#
#             We are installing on 64-bit Mageia Linux versions 5 or 6.
#             There is no 32-bit rpm available for skype.
#             There is at least 150mb of free disk space in ${HOME}/Downloads/
#
#             ${HOME}/Downloads/skypeforlinux-64.rpm will be the local copy (if previously downloaded).
#             ${HOME}/Downloads/skypeforlinux-64.rpm_directory_listing will be the local copy
#		of the server's RPM listing (if previously downloaded).
#             Current user is authorised to run /bin/sudo for the install part.
#
# Note        
#             Keeping a local copy of the server's directory listing makes it very fast and easy
#             to check for a new version (instead of downloading and comparing the rpm with
#             previously downloaded rpm).
#
#             In Mageia 6, skype should install and run OK.
#             In Mageia 5, the RPM install will fail with a reference to "libsecret"
#             this can normally be ignored. There will be prompts for keyring password which can also be ignored.


SKYPE_RPM=skypeforlinux-64.rpm
f=${HOME}/Downloads/${SKYPE_RPM}
SKYPE_RPM_DIR_LISTING=${f}_directory_listing

cmd=$(basename ${0})

# Sanity checking starts here

# Are we running on Mageia?
distro=$(cat /etc/release | awk '{ print $1}')
if [ "${distro}" != "Mageia" ]; then
	echo "Error: not running on Mageia. Bye" >&2
	exit 1
fi

# Are we running on 64-bit Mageia?
arch=$(uname -m | sed -e "s/i.86/i586/")
if [ "${arch}" != "x86_64" ]; then
	echo "Error: Skype is only available to 64-bit linux at present. Bye" >&2
	exit 1
fi

# Are we running on Mageia 5 or 6?
release=$(cat /etc/release | awk '{ print $3}')
case ${release} in 
	6) echo "Mageia 6 OK"
		urpmi_options="--force "
		;;
	5) echo "Mageia 5: ignore the libsecret issue on install and keyring prompts when running"
		urpmi_options="--allow-nodeps"
		;;
	*) echo "Not supported. Bye" >&2
		exit 1
		;;
esac

# We need to run as non-root
if [ $(whoami) = "root" ]; then
	echo "You need to be non-root user to run ${cmd}. Bye" >&2
	exit 1
fi

# Sanity checking ends here for the most part :-)


# Check if we already have a local copy of the skypeforlinux-64.rpm in Downloads
if [ -s ${f} ]; then

	# We do have a previously downloaded copy of skypeforlinux-64.rpm

	# Display currently installed rpm version
	echo "Checking installed version of skypeforlinux"
	echo "rpm -qa | grep -iE skypeforlinux"
	current_version=$(rpm -qa | grep -iE skypeforlinux)
	echo ${current_version}

	echo "${f} previously downloaded. Checking if newer version available."
	# check if we have a previous directory listing from server
	if [ -s ${SKYPE_RPM_DIR_LISTING} ]; then

		# we have previous directory listing, check if same as current one
		mv -f ${SKYPE_RPM_DIR_LISTING} ${SKYPE_RPM_DIR_LISTING}-

		# get directory listing for date/time/size of available rpm
		wget -qO - https://repo.skype.com/latest/ | grep skypeforlinux-64.rpm > ${SKYPE_RPM_DIR_LISTING}

		# check if same directory listing as last download's directory listing
		cmp ${SKYPE_RPM_DIR_LISTING} ${SKYPE_RPM_DIR_LISTING}- 2>&1 > /dev/null
		if [ $? = 0 ]; then
			echo "skypeforlinux-64.rpm directory listing has *not* changed. Nothing needs to be done."
		else
			echo "skypeforlinux-64.rpm directory listing has changed. Installing new skype version."
			# rename the current downloaded skypeforlinux-64.rpm to skypeforlinux-64.rpm-
			mv -f ${f} ${f}-

			# download skypeforlinux-64.rpm
			wget -O - https://repo.skype.com/latest/${SKYPE_RPM} > ${f}
			echo downloaded: $(ls -lh ${f})

			# Install new downloaded version
			echo "/bin/sudo /sbin/urpmi  ${urpmi_options} ${f}"
			/bin/sudo /sbin/urpmi  ${urpmi_options} ${f}

			new_version=$(rpm -qa | grep -iE skypeforlinux)
			echo "Previous version: ${current_version}"
			echo "     New version: ${new_version}"

		fi
	else
		# We do have a download of skypeforlinux-64.rpm but we do not have a previous directory listing
		# download available skypeforlinux-64.rpm and compare with what we already downloaded

		# move aside any already downloaded copy of skypeforlinux-64.rpm
		mv -f ${f} ${f}-

		# download available skypeforlinux-64.rpm (we skip the "-q" on wget because this will take a few minutes
		# and the user needs to see the download is happening)

		echo "downloading ${SKYPE_RPM}"
		wget -O - https://repo.skype.com/latest/${SKYPE_RPM} > ${f}
		echo downloaded: $(ls -lh ${f})

		current_version=$(rpm -qa | grep -iE skypeforlinux)
		echo ${current_version}

		# compare any previous download with current: are the same?
		echo "comparing previous download of ${SKYPE_RPM} with what is now available"
		cmp ${f}- ${f} 2>&1 > /dev/null
		if [ $? = 0 ]; then
			echo skype has not changed
		else
			echo "installing new skype version"
			echo "/bin/sudo /sbin/urpmi  ${urpmi_options} ${f}"
			/bin/sudo /sbin/urpmi  ${urpmi_options} ${f}

			new_version=$(rpm -qa | grep -iE skypeforlinux)
			echo "Previous version: ${current_version}"
			echo "     New version: ${new_version}"
		fi

##		# Display currently installed rpm version
##		echo "Installed skypeforlinux version:"
##		echo "rpm -qa | grep -iE skypeforlinux"
##		rpm -qa | grep -iE skypeforlinux

		# get directory listing for date/time/size of available rpm
		wget -qO - https://repo.skype.com/latest/ | grep skypeforlinux-64.rpm > ${SKYPE_RPM_DIR_LISTING}
		echo "downloaded directory listing for ${SKYPE_RPM}:  $(ls -l  ${SKYPE_RPM_DIR_LISTING} )"
	fi
else

# We do not have a previously downloaded copy of skypeforlinux-64.rpm.
# Likely a brand new install

# download, install, and get directory listing

	# download available skypeforlinux-64.rpm
	echo "downloading ${SKYPE_RPM}"
	wget -O - https://repo.skype.com/latest/${SKYPE_RPM} > ${f}
	echo downloaded: $(ls -lh ${f})

	# install
	echo "installing skype"
	echo "/bin/sudo /sbin/urpmi  ${urpmi_options} ${f}"
	/bin/sudo /sbin/urpmi  ${urpmi_options} ${f}

	# Display currently installed rpm version
	echo "Installed skypeforlinux version:"
	echo "rpm -qa | grep -iE skypeforlinux"
	rpm -qa | grep -iE skypeforlinux


	# get directory listing for date/time/size of available rpm
	wget -qO - https://repo.skype.com/latest/ | grep skypeforlinux-64.rpm > ${SKYPE_RPM_DIR_LISTING}
	echo "downloaded directory listing for ${SKYPE_RPM}:  $(ls -l  ${SKYPE_RPM_DIR_LISTING} )"

fi