Skype — бесплатное проприетарное программное обеспечение с закрытым кодом, обеспечивающее шифрованную голосовую связь через Интернет между компьютерами (VoIP), а также платные услуги для связи с абонентами обычной телефонной сети.

Установка из репозитория

Необходим подключенный Canonical Partners репозиторий FIXME

  1. Запускаем Центр приложений Ubuntu
  2. Вводим в поиск skype
  3. В появившемся списке выбирам Skype (он скорее всего будет первым)
  4. Нажимаем Подробнее
  5. В появившемя окне нажимаем кнопку Использовать этот источник
  6. Будет выдано окно запросом пароле. Вводим его.
  7. Нажимаем кнопку Установить
  8. Будет выдано окно запросом пароле. Вводим его.
  9. Готово!

Теперь можете закрыть окно Центра приложений Ubuntu, перед этим можно добавить Skype на панель Unity, нажав кнопку Добавить на панель запуска.

Запустить его можно выбрав в меню приложений Интернет-приложения или через поиск.

Установка из терминала

sudo apt-add-repository "deb http://archive.canonical.com/ $(lsb_release -sc) partner"
sudo apt-get update
sudo apt-get install skype

Установка из deb-пакета с официального сайта

На странице загрузки доступны версии для Ubuntu 10.04 (и выше) 32-bit и 64-bit.

Скачиваем пакет для вашей архитектуры.

Запускаем скачаный файл:

В появившемя окне выбираем «Установить»:

Горячие клавиши

Для того чтобы отвечать на входящие вызовы и завершать разговоры с помощью горячих клавиш, необходимо проделать определённые действия. Инструкция ниже проверялась на Ubuntu 10.10.

1. Создаём два файла

skype-answer.py:

#!/usr/bin/env python
import sys
import traceback
import re

import dbus
import dbus.service
#for event loop
import gobject
from dbus.mainloop.glib import DBusGMainLoop

#######################################################
#catching the events
class Callback_obj(dbus.service.Object):
    def __init__(self, bus, object_path):
        dbus.service.Object.__init__(self, bus, object_path, bus_name='com.Skype.API')

    @dbus.service.method(dbus_interface='com.Skype.API')
    def Notify(self, message_text):
        pass
    
######################################################

dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)

#connect to the session
session_bus = dbus.SessionBus()

#connect to Skype
skype = session_bus.get_object('com.Skype.API', '/com/Skype')

#ok lets hit up skype now!
answer = skype.Invoke('NAME PythonManageCall')
if answer != 'OK':
    sys.exit('Could not bind to Skype client')
answer = skype.Invoke('PROTOCOL 5')
if (answer != 'PROTOCOL 5'):
    sys.exit('Could not agree on protocol!')

#tie up the events to the skype
skype_callback = Callback_obj(session_bus, '/com/Skype/Client')

print 'Alright lets go!\n'

answer = skype.Invoke('SEARCH ACTIVECALLS') #get calls going on right now!
print "Active calls ", answer
if(re.search(r'CALLS [0-9]+', answer)): # see if there was a call
    callNum = re.search(r'CALLS ([0-9]+)', answer).group(1)
    print 'Answering Call ', callNum
    skype.Invoke('SET CALL ' + callNum + ' STATUS INPROGRESS')

и skype-hangup.py:

#!/usr/bin/env python
import sys
import traceback
import re

import dbus
import dbus.service
#for event loop
import gobject
from dbus.mainloop.glib import DBusGMainLoop

#######################################################
#catching the events
class Callback_obj(dbus.service.Object):
    def __init__(self, bus, object_path):
        dbus.service.Object.__init__(self, bus, object_path, bus_name='com.Skype.API')

    @dbus.service.method(dbus_interface='com.Skype.API')
    def Notify(self, message_text):
        pass
    
######################################################

dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)

#connect to the session
session_bus = dbus.SessionBus()

#connect to Skype
skype = session_bus.get_object('com.Skype.API', '/com/Skype')

#ok lets hit up skype now!
answer = skype.Invoke('NAME PythonManageCall')
if answer != 'OK':
    sys.exit('Could not bind to Skype client')
answer = skype.Invoke('PROTOCOL 5')
if (answer != 'PROTOCOL 5'):
    sys.exit('Could not agree on protocol!')

#tie up the events to the skype
skype_callback = Callback_obj(session_bus, '/com/Skype/Client')

print 'Alright lets go!\n'

answer = skype.Invoke('SEARCH ACTIVECALLS') #get calls going on right now!
print "Active calls ", answer
if(re.search(r'CALLS [0-9]+', answer)): # see if there was a call
    callNum = re.search(r'CALLS ([0-9]+)', answer).group(1)
    print 'Answering Call ', callNum
    skype.Invoke('SET CALL ' + callNum + ' STATUS FINISHED')

2. Помещаем эти файлы в любую удобную вам папку, например ~/.Skype/hotkeys.

3. Запускаем Skype и смотрим в Настройки - Публичный API стоит ли галочка напротив DBUS.

4. Открываем терминал и набираем

$ python ~/.Skype/hotkeys/skype-hangup.py

5. Появится окно Запрос на авторизацию Skype API. Ставим галочку напротив Запомнить выбор и нажимаем Да.

6. Запускаем Система - Параметры - Комбинации клавиш клавиатуры. Нажимаем кнопку Добавить. В поле Имя пишем: Ответить на вызов в Skype, в поле Команда вставляем:

python /home/username/.Skype/hotkeys/skype-answer.py

, где username - ваше имя для входа в систему. Нажимаем Применить, и щёлкаем напротив появившейся строки с названием команды в столбце Комбинация клавиш. Нажимаем комбинацию Ctrl+Alt+Pg_Up.

7. Для горячих клавиш завершения вызова проделываем аналогичные действия, только команда будет

python /home/username/.Skype/hotkeys/skype-hangup.py

и комбинация клавиш Ctrl+Alt+Pg_Down.

Статья написана на основе обсуждения http://forum.skype.com/index.php?showtopic=93334

Интеграция с Pidgin

Добавить Плагин для Skype в Pidgin можно следующим образом.

Откройте консоль и выполните:

sudo apt-get install pidgin-skype

Теперь при создании учётной записи в Pidgin доступен протокол Skype. Также Skype будет доступен во всех программах, использующих libpurple (Finch, Empathy).

Проблемы и решения