From Mageia wiki
Revision as of 07:54, 30 May 2021 by Morgano (talk | contribs) (CLI syntax, + Category howtos)
Jump to: navigation, search


Drakconf multiflag.png
Other languages
English ; français ;
Synopsis:
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 check_skype in Appendix 1 (below). The check_skype 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 check_skype script (see Appendix-1 below).

A key benefit of using check_skype 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 check_skype as a non-root user to check for updates.


Example of using check_skype script (when Skype not already installed)

This shows running check_skype on a system where skype is not installed.

[user@localhost Downloads]$ ./check_skype
Mageia 7 OK
downloading skypeforlinux-64.rpm
--2019-12-13 11:15:45--  https://repo.skype.com/latest/skypeforlinux-64.rpm
Resolving repo.skype.com (repo.skype.com)... 88.221.0.61, 2a02:26f0:104:4a8::1263, 2a02:26f0:104:48b::1263
Connecting to repo.skype.com (repo.skype.com)|88.221.0.61|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 107315189 (102M) [application/x-redhat-package-manager]
Saving to: ‘STDOUT’

-                   100%[============================================>] 102.34M   700KB/s    in 2m 30s  

2019-12-13 11:18:15 (699 KB/s) - written to stdout [107315189/107315189]

downloaded: -rw-r--r-- 1 user user 103M Dec 13 11:18 /home/mpb/Downloads/skypeforlinux-64.rpm
installing skype
/bin/sudo /sbin/urpmi  --force  /home/user/Downloads/skypeforlinux-64.rpm
[sudo] password for user: 


installing skypeforlinux-64.rpm from /home/user/Downloads
Preparing...                     ##################################################################
warning: skypeforlinux-8.55.0.135-1.x86_64: Header V4 RSA/SHA1 Signature, key ID df7587c3: NOKEY
      1/1: skypeforlinux         ##################################################################
Redirecting to /bin/systemctl start atd.service
Installed skypeforlinux version:
rpm -qa | grep -iE skypeforlinux
skypeforlinux-8.55.0.135-1
downloaded directory listing for skypeforlinux-64.rpm:
  -rw-r--r-- 1 user user 221 Dec 13 11:19 /home/user/Downloads/skypeforlinux-64.rpm_directory_listing


Example of using check_skype script (when Skype already installed)

This shows running check_skype on a system where skype is already installed. It checks if the directory listing on the Skype download server has been updated or not. If not updated it takes no action.

[user@localhost Downloads]$ ./check_skype
Mageia 7 OK
Checking installed version of skypeforlinux
rpm -qa | grep -iE skypeforlinux
skypeforlinux-8.55.0.135-1
/home/user/Downloads/skypeforlinux-64.rpm previously downloaded. Checking if newer version available.
skypeforlinux-64.rpm directory listing has *not* changed. Nothing needs to be done.


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

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

You can check if you have cheese installed with:

rpm -qa | grep -q cheese && echo Cheese installed || echo Cheese not installed

Example:

[user@localhost Downloads]$ rpm -qa | grep -q cheese && echo Cheese installed || echo Cheese not installed
Cheese installed

Start cheese:

cheese

Verify web cam working.


Start Skype and login to your Skype account.

skype

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

Normally, when calling someone else in Skype you can have video chat, audio-only chat and can share your screen but it is worth checking these all work with a friend.


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.


Turning off Skype autostart on login

By default, Skype is configured to automatically start when you login to Mageia. It does this using a file: ~/.config/autostart/skypeforlinux.desktop

[user@localhost ~]$ nl -ba ~/.config/autostart/skypeforlinux.desktop
     1	[Desktop Entry]
     2	Name=Skype for Linux
     3	Comment=Skype Internet Telephony
     4	Exec=/usr/bin/skypeforlinux
     5	Icon=skypeforlinux
     6	Terminal=false
     7	Type=Application
     8	StartupNotify=false
     9	X-GNOME-Autostart-enabled=true

There are several ways to prevent the autostart of Skype when you login. The simplest is to:

  1. Click on Tools in the Skype menu bar (top of Skype window)
  2. Select and click on Settings in the tools drop down menu
  3. In the new Settings window, click on General
  4. Click on the toggle switch for Automatically Start Skype to switch it off

Verify the change:

[user@localhost ~]$ nl -ba ~/.config/autostart/skypeforlinux.desktop
nl: /home/user/.config/autostart/skypeforlinux.desktop: No such file or directory


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
2019_12_13 Paul Blackburn updated for mageia7, renamed script from "skype_dl_if_new" to "check-skype"
2020_03_02 Paul Blackburn added section about switching off Skype autostart on login
2021_03_11 Paul Blackburn updated for Mageia 8
2021_04_03 Paul Blackburn Corrected spelling "Turning", set correct section spacing


Appendix 1: "check_skype" 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        check_skype
# Author      paul[dot]blackburn[at]gmail[dot]com
# Written     2018_05_01
# Updated     Thu 11 Mar 10:30:12 GMT 2021
# 2021_03_11  Updated for Mageia 8
# 2019_12_13  Updated for Mageia 7, name change: s/skype_dl_if_new/check_skype/
# 2018_09_05  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       check_skype
#             run as non-root user
#
# Assumptions
#             o The latest available rpm is in:
#                     https://repo.skype.com/latest/skypeforlinux-64.rpm
#
#             o We are installing on 64-bit Mageia Linux versions 5/6/7/8 
#             o There is no 32-bit rpm available for skype.
#             o There is at least 150mb of free disk space in ${HOME}/Downloads/
#
#             o ${HOME}/Downloads/skypeforlinux-64.rpm will be the local copy (if previously downloaded).
#             o ${HOME}/Downloads/skypeforlinux-64.rpm_directory_listing will be the local copy
#               of the server's RPM listing (if previously downloaded).
#             o 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 8, skype installs and runs OK.
#             In Mageia 7, skype should install and run OK.
#             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,6,7, or 8?
release=$(cat /etc/release | awk '{ print $3}')
case ${release} in 
        8) echo "Mageia 8 OK"
                urpmi_options="--force "
                ;;
        7) echo "Mageia 7 OK"
                urpmi_options="--force "
                ;;
        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 dirlinux_signing_key.pubectory 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


Appendix 2: updates

This appendix notes changes to skype or problems and how to resolve.

# date comment links/solution
1 2021_04_29 problem installing new skype release:

A requested package cannot be installed: skypeforlinux-8.71.0.36-1.x86_64 (due to unsatisfied (libatomic or libatomic1))

use:

/bin/sudo urpme skypeforlinux
/bin/sudo rpm -ivh --nodeps ~/Downloads/skypeforlinux-64.rpm