Установку проводил на основе примеров из интернета.
Общие принципы:
- на сервере X-Server не поднимаем - будем использовать Xvfb
- общаться со скайпом будем через dbus
- скайп будем использовать только в текстовом режиме
- для выполнения первоначальной настойки будем использовать доступ через VNC
Для начала установим компоненты для работы с dbus
Код: Выделить всё
apt-get install php5-dev
apt-get install php-pear
pear install PEAR
Код: Выделить всё
apt-get install libdbus-1-dev libxml2-dev
pecl install dbus-beta
пропишем в настройки PHP использование модуля dbus
Код: Выделить всё
echo -e "; configuration for php DBus module\nextension=dbus.so"| tee -a /etc/php5/conf.d/dbus.ini
Проконтролируем, что все поставилось
должны увидеть что-то типа
Теперь непосредственно Скайп
так как у меня Debian sqweeze с ядром 2.6.32 - скачанный с сайта по ссылке дистрибутив не заработал (экспериментировал с обновлением ядра для 3-й версии - там все получилось).
Я скачивал старенький дистрибутив.
Итак, приступаем
Код: Выделить всё
wget http://download.skype.com/linux/skype-debian_4.0.0.7-1_i386.deb
dpkg -i skype-debian_4.0.0.7-1_i386.deb
99%, что вы получите ругань на неудовлетворенные зависимости. Делаем так:
и пробуем еще раз
есть вероятность, что ничего не получится. У меня решению проблемы помогло добавление в /etc/apt/source.list напротив каждого репозитария параметра Contrib
Если у вас все прошло хорошо, приступаем к последнему этапу шаманства
Первое замечание: у меня Apache и скрипты cycle.php исполняются от имени пользователя www-data. Поэтому и запуск скайпа я буду делать от имени этого пользователя.
Второе замечание: домашней директорией пользователя www-data является каталог /var/www, в котором этот пользователь царь и бог
поэтому я приодически на все файлы и каталоги проверяю выставленного владельца и права доступа.
Итак, если у вас еще не установлен пакет sudo - ставим
Я дал пользователю www-data права на запуск некоторых приложений, которые нужны для работы умного дома, а также для работы со скайпом. Перечень характерен именно для моего случая
Код: Выделить всё
echo 'www-data ALL = NOPASSWD: /bin/mount, /bin/umount, /sbin/shutdown, /sbin/reboot, /sbin/modprobe, /sbin/rmmod, /usr/bin/skype, /usr/bin/Xvfb, /home/skype/skype, /bin/su, /bin/kill'>>/etc/sudoers
Создадим каталоги для хранения настроек скайпа (в домашней директрии пользователя www-data)
Код: Выделить всё
mkdir -p /var/www/multi/interface01
chown -R www-data:www-data /var/www/multi
Для доступа к запущенному скайпу и выполнения первоначальных настроек (принять лицензионное соглащение, поотключать автоматические смены статусов и лишние оповещения) установим VNC-сервер
Попробуем запустить скайп
Запуск будем производить через утилиту Xvfb, используя возможность "сквозной" авторизации скайпа.
Код: Выделить всё
/usr/bin/Xvfb :101 -ac & su www-data -c "/bin/echo '<skype_login> <skype_password>'| DISPLAY=:101 /usr/bin/skype --dbpath=/home/skype/multi/interface01 --pipelogin &"
Разберемся поподробнее. На всех опциях останавливаться не буду, расскажу только про те, которые нам нужны.
:101 - номер так называемого "дисплея", на котором делаем запуск. При помощи это йопции в принципе можно запускать несколько копий скайпа на разных "дисплеях"
после знака & идет команда, которая выполняется на "дисплее". В нашем случае от имени пользователя www-data отправляем логин и пароль на вход команде
...
DISPLAY=:101... - запуск производим в "дисплее" 101
...
-dbpath=... - указываем, где храним настройки для хапускаемого сеанса. Если хотим несколько сеансов - раскидываем настройки по разным каталогам
...
-pipelogin... - говорим скайпу, что логин и пароль мы отправили ему ранее командой echo
Ну вот и все
скайп запущен. Осталось только его настроить. Для этого запусим VNC-сервер
Подключаемся при помощи любого vnc-клиента (я использую
RealVNC для Mac или
TightVNC для Windows). Как видите, сервер мы тоже адресуем к нашему :101 "дисплею". При таком запуске сервер остановится, как только вы от него отключитесь. Если хотите, чтобы он работал постоянно, и отключать его вручную - добавьте опцию -forever
Подключившись, вы увидете лицензионное соглашение. Приняв его, должны получить залогиненый скайп.
Я у себя в настройках отключил автоматическую смену статуса при неактивности, а также все уведомления (кроме входящего звонка - его просто не отключить), запретил автоматическую проверку обновлений и прочие непонятные и ненужные для текстового общения опции.
Об установе и запуске Скайпа пока все. Интеграцию его в Умный дом опишу чуть позднее, когда оттестирую скрипты.