Как стать автором
Обновить

Комментарии 23

Класс! Спасибо, пригодится.
Если не сложно, спрячьте код под спойлер
О, так можно и полноценный web-skype организовать. Да и вообще множество различных применений. В общем полезно, однозначно в закладки. :)
А как-то можно запустить сам скайп на headless-сервере?
xvfb? Сомневаюсь, что без Х-ов как-то получиться.
Можно попробовать сделать свою прокси-библиотеку поверх Qt, которая будет перехватывать графические вызовы и игнорировать их с флагом «завершено успешно», а обращения ко всяким QTcpSocket перенаправлять настоящей библиотеке, и подгружать все это добро через LD_PRELOAD. Насколько мне известно, kekekeks далеко продвинулся именно в хаке графической части скайпа, надеюсь, он увидит этот пост и сможет рассказать подробнее.

Или взять какой-нибудь dummy X-сервер, который, опять-таки, игнорирует все, что ему говорят, притворяясь при этом рабочим сервером — чтобы даже фреймбуфер не создавал.
Если мне не изменяет память, скайп отлично заводится под VNCшным X-сервером. Если нужна мультисессионность, это нормально достигается через --dbpath=путь. Если нужно к каждому инстансу ломиться через API, достаточно поднять отдельную DBus-сессию, могу поделиться специальным лянчером, который помимо скайпа сразу в ней же запустит остальной нужный софт.

Но вообще лучше не над ним не издеваться и отдать 5 баксов за SkypeKit, он мощнее и к нему есть биндинги на C++, Python, Java и .NET (последние для работы под Mono надо весьма хитро патчить, опять же, если кому надо, могу поделиться).
Коль я правильно понимаю, Xvnc и производные обязан иметь фреймбуфер, в котором он сохраняет промежуточные результаты отрисовки, и отрисовка, как таковая, все равно происходит. Если никто и никогда не будет подключаться к нему по VNC и смотреть, что же там видно, в этом нет нужды и на самом факте отрисовки можно освободить ресурсы.

На какие подводные грабли можно наступить в случае использования «я X-сервер, я не хочу ничего рисовать, я хочу хур-дур-дур» по сравнению с xvfb?
Думаю, необходимость всё же такой X-сервер написать. На самом деле оно памяти сожрёт совсем немного, так что можно не принимать во внимание. А вообще, skypekit намного удобнее, лучше всё же раскошелиться на $5.
Признаться, я больше думал не о потреблении памяти, которое даже в случае невообразимого разрешения 2880х1800x32b составит аж 20 MiB, сколько о вычислительных ресурсах, необходимых для отрисовки всяких анимаций, всплывающих окон с меняющейся полупрозрачностью отдельных регионов окна, градиентных кнопок, меню, аватаров и тому подобных вещей, которые в headless-конфигурации никто не оценит.

Ну или сесть один раз и сделать libqt-headless, как раз для таких случаев.
> Ну или сесть один раз и сделать libqt-headless, как раз для таких случаев.

Это все чтобы сэкономить 5$ за официальную версию, правильную лицензию, совместимость в будущем и дополнительные функции и возможности, или я чего-то не понимаю?
Иногда удовольствие от ресеча перекрывает экономическую выгоду.
Говорят, Лицензия skypekit запрещает серверное использование.
Оно так и есть, его лицензия слишком строгая, имхо.
Мы используем для этого skype --pipelogin + xvfb. Для первичной настройки запускается X11vnc на соответсвующем $DISPLAY
Сразу нашел Creating an SMS message но цены на смс у скайпа очень завышены :(
Для отправки смс давно есть нормальные сервисы.
Я как-то хотел сделать бота для скайп чата.
В целом это оказалось довольно легко, я делал под виндой, у скайпа есть все необходимое в апи.
Но, нужна машина с запущенным скайпом (винда или, как вижу, linux).
Жаль, что на web сервере такое не получится реализовать.
Даже со skypekit?
Ух ты, не знал, спасибо.
Там много ограничений по лицензии, но я думал, что ничего подобного до сих пор нету.
Спасибо, годный пост. Пока пользуюсь skype4py, получаю уведомления из заббикса в чатик, удобно.
Спасибо, как раз думал менять статусы через API
Интересно! Я делал через вызовы из php к Skype4Py, запуская skype на нулевом X дисплее, при этом нещадно обрезая трафик процесса. Работает, В итоге всё снёс, не стоит того, ибо такую истинную проприетарщину, хоть и не суперноду, держать на рабочем сервере было очково.
Можно же завести через Xen, оно будет дешево по ресурсам, и изоляция чуть ли не лучшая из аналогичных решений.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории