Содержание
Skype — бесплатное проприетарное программное обеспечение с закрытым кодом, обеспечивающее шифрованную голосовую связь через Интернет между компьютерами (VoIP), а также платные услуги для связи с абонентами обычной телефонной сети.
Установка из deb-пакета с официального сайта
Скачайте файл .deb для вашей версии Ubuntu.
Откройте скачанный файл (двойной щелчок левой кнопкой мыши).
Выберите «Установить» в появившемся окне Центра приложений Ubuntu.
Установка из репозитория
- Необходимо подключить партнерский репозиторий Canonical. Тут нам поможет Центр приложений Ubuntu. Открываем его, переходим в меню «Правка» → «Источники приложений». В открывшемся окне открываем вкладку «Другое ПО», ищем пункт «Партнеры Canonical» и после этого ставим галочку напротив него. Всё, репозиторий подключен.
- Найдите и установите Skype используя поисковую строку Центра приложений Ubuntu. Также установить Skype можно выполнив в терминале команду:
sudo apt-get update && sudo apt-get install skype
Горячие клавиши
Для того чтобы отвечать на входящие вызовы и завершать разговоры с помощью горячих клавиш, необходимо проделать определённые действия. Инструкция ниже проверялась на Ubuntu 10.10.
Создаём два файла
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')
- Помещаем эти файлы в любую удобную вам папку, например ~/.Skype/hotkeys.
- Запускаем Skype и смотрим в Настройки - Публичный API стоит ли галочка напротив DBUS.
Открываем терминал и набираем
python ~/.Skype/hotkeys/skype-hangup.py
- Появится окно Запрос на авторизацию Skype API. Ставим галочку напротив Запомнить выбор и нажимаем Да.
Запускаем Система - Параметры - Комбинации клавиш клавиатуры. Нажимаем кнопку Добавить. В поле Имя пишем: Ответить на вызов в Skype, в поле Команда вставляем:
python /home/username/.Skype/hotkeys/skype-answer.py
где username - ваше имя для входа в систему. Нажимаем Применить, и щёлкаем напротив появившейся строки с названием команды в столбце Комбинация клавиш. Нажимаем комбинацию Ctrl+Alt+Pg_Up.
Для горячих клавиш завершения вызова проделываем аналогичные действия, только команда будет
python /home/username/.Skype/hotkeys/skype-hangup.py
и комбинация клавиш Ctrl+Alt+Pg_Down.
Статья написана на основе обсуждения http://forum.skype.com/index.php?showtopic=93334
Устранение треска при оповещениях в ubuntu 12.04 и старше
Наверное многим знакома ситуация, когда вместо (или вместе) с оповещением Skype раздается противный треск. Решение проблемы удалось найти на официальном форуме Skype. В файле /etc/pulse/default.pa
sudo nano /etc/pulse/default.pa
строку
load-module module-udev-detect
необходимо заменить на
load-module module-udev-detect tsched=0
и перезапустить PulseAudio командой
pulseaudio --k и skype
— boskor 2012/09/07 16:02
Перевёрнутое изображение
Решение найдено здесь http://ubuntuforums.org/showthread.php?t=1460790. Во первых, необходимо установить пакет
sudo apt-get install libv4l-0:i386
Теперь можно запускать (для версий до 12.04 включительно)
LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libv4l/v4l2convert.so skype
Для 12.10 и 13.04
LD_PRELOAD=/usr/lib/i386-linux-gnu/libv4l/v4l1compat.so skype
Чтобы не переписывать автозапуски и меню, нужно изменить смысл команды skype. В файле /usr/share/applications/skype.desktop заменить
Exec=skype
на
Exec=bash -c 'ВАШ_ПРЕЛОАД_ЗДЕСЬ'
Интеграция с Pidgin
Смотрите раздел Интеграция Skype в Pidgin на странице Pidgin.
Запуск нескольких копий Skype
Для запуска допольнительной копии Skype, необходимо в параметрах указать переменную dbpath:
skype -dbpath=~/.Skype2
Skype-wrapper интеграция Skype в Unity
Skype-wrapper позволяет интегрировать значок Skype, его уведомления, а так же управление статусом в индикатор сообщений Unity. Для установки
Установка
Для установки добавляем репозиторий и устанавливаем пакет
sudo apt-add-repository ppa:skype-wrapper/ppa && sudo apt-get update && sudo apt-get install skype-wrapper
Перезагружаем Skype, при запуске появится запрос на разрешение использования Skype сторонним приложением Skype4Py указываем «Запомнить выбор» и соглашаемся.
Проблемы
Проблема: После установки skype-wrapper Skype запускается со статусом «Оффлайн»
Причина: Это связано с тем, что skype-wrapper для установки статуса Skype берет статус приложения Empathy баг на ланчпаде, поэтому если вы используете другой мессенджер- то у вас будет такая проблема.
Решение: В настройках параметров skype-wrapper отключить «Использовать общую для всей системы систему он-лайн статусов». К сожалению, пока так, по заверениям разработчиков они уже пишут свой собственный механизм считывания статуса, поэтому остается только ждать.
Решение проблемы Заикается звук при использовании pulseaudio
Удаление значка Skype с панели Unity
Данная инструкция может выступать как приложение к использованию skype-wrapper. Существует три способа удаления значка Skype с панели Unity. Ниже они приведены в порядки уменьшения приоритета выполнения. Перед выполнением, не забудьте закрыть приложение Skype.
Запрет Skype использовать библиотеку libsni-qt.so (Лучший способ!)
Этот способ является приоритетным к выполнению, потому что он позволяет сохранить в системе пакет sni-qt, что даст возможность его использования другими приложениями, например everpad
Смысл способа заключается в прописывании профиля для AppArmor -приложения, установленного в Ubuntu по умолчанию и следящего за доступом различных приложений к ресурсам системы.
Для реализации данного способа необходимо создать (или отредактировать существующий?) файл /etc/apparmor.d/usr.bin.skype
он должен выглядеть так:
- usr.bin.skype
# Last Modified: Tue Jun 12 03:49:49 2012 by izx # REPOSITORY: http://apparmor.test.opensuse.org/backend/api draglor 53 # Additional profiling based on work by Андрей Калинин, LP: #226624 # Extremely simple profile for Skype designed ONLY to remove its panel # icon on Ubuntu 12.04 by disabling access to the sni-qt library # THIS PROFILE DOES NOT PROVIDE ANY OTHER KIND OF SECURITY #include <tunables/global> /usr/bin/skype { #include <abstractions/X> #include <abstractions/audio> #include <abstractions/base> #include <abstractions/dbus-session> #include <abstractions/fonts> #include <abstractions/freedesktop.org> #include <abstractions/kde> #include <abstractions/nameservice> #include <abstractions/nvidia> #include <abstractions/user-tmp> # deny read access to the sni-qt libraries, thus removing the panel icon deny /usr/lib/i386-linux-gnu/qt4/plugins/systemtrayicon/libsni-qt.so r, deny /usr/lib/x86_64-linux-gnu/qt4/plugins/systemtrayicon/libsni-qt.so r, /** mrwkl, }
Для быстрого добавления файла в систему выполните команду
sudo wget -O/etc/apparmor.d/usr.bin.skype http://pastebin.com/raw.php?i=2EYME5eF
После этого необходимо перезагрузить службу apparmor
sudo /etc/init.d/apparmor reload
Теперь после запуска Skype его значок не будет отображаться на панели.
Запрет чтения пользователю библиотеки libsni-qt.so (не желательно)
В целях сдерживания пользователей от выполнения данной инструкции не приведены команды для её выполнения, только описание.
Смысл данного способа заключается в изменении прав доступа к файлу libsni-qt.so. Необходимо удалить права на чтение файла.
Удаление пакета sni-qt (не рекомендуется)
Данный способ заключается в удалении пакета sni-qt из системы.
Ссылки
- http://ubuntologia.ru/forum/viewtopic.php?f=34&t=4514 - Решение некоторых проблем (cо звуком/микрофоном) Skype
- http://community.skype.com/t5/Skype-для-Linux/Треск/td-p/261858 - решение проблемы с треском (первоисточник)
- http://forum.ubuntu.ru/index.php?topic=196542.0 - решение проблемы с треском (решение на форуме)
- http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/PerfectSetup - настройка pulseaudio для работы со skype
- AskUbuntu.com - Удаление значка Skype с панели Unity [eng].