16 октября 2013

Pipelight Plugin. MS Silverlight в Ubuntu 12.04, 12.10, 13.04, 13.10

Многие пользователи Линукс, которые смотрят телевизионные трансляции онлайн, наверняка сталкивались с проблемой - некоторые каналы используют технологию Microsoft Silverlight, нативная поддержка которой в Линукс системах, по понятным причинам, отсутствует, а имеющиеся "костыли" вроде Moonlight давно устарели и не работают.
Единственным способом решения этой проблемы до недавнего времени было использование Netflix Desktop, что предполагает установку специально "пропатченных" библиотек Wine и Windows-версии Firefox. Сравнительно новая разработка - Pipelight plugin,  позволяет использовать Windows-библиотеки Silverlight непосредственно в браузерах для Линукс. При этом, сам Silverlight работает через Wine, а Pipelight plugin служит "переходником", обеспечивающим совместимость с любым Линукс-браузером, поддерживающим Netscape Plugin API (Firefox, Chrome, Midori и др.). Причем, по уверениям разработчиков, потери производительности при этом минимальны. Новая версия плагина работает также с Windows-версией Adobe Flash, но эта функция пока экспериментальная и на ней мы останавливаться не будем.


Установка Pipelight

1) Для начала, нам потребуется установить расширение для браузера, которое позволит ему выдать себя за Windows-версию. Это важный шаг, и чтобы его ненароком не пропустить, проделаем это сразу.
 - Для Firefox: установите расширение UAControl или User Agent Overrider и выберите в настройках расширения одну из следующих строк user agent:
     Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20120427 Firefox/15.0a1
     Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20100101 Firefox/22.0
     Mozilla/5.0 (Windows NT 6.1; rv:23.0) Gecko/20131011 Firefox/23.0
- Для Chrome: установите расширение User Agent Switcher  и выберите Windows Firefox 15 в настройках расширения.

2)  Разработчики рекомендуют производить саму установку при закрытых окнах браузера, иначе возможны ошибки и конфликты. Поэтому скопируйте дальнейшие инструкции в текстовый редактор и закройте все браузеры.

Если вы уже используете старую версию Pipelight, удалите её командой в терминале:
sudo apt-get remove pipelight

затем скопируйте и выполните следующие команды:

sudo apt-add-repository ppa:ehoover/compholio
sudo apt-add-repository ppa:mqchael/pipelight
sudo apt-get update
sudo apt-get install pipelight-multi

Как видим, приходится использовать два репозитория - один для специальной версии Wine, другой для самого Pipelight. Теперь необходимо активизировать плагин командой:

pipelight-plugin --enable silverlight (для текущего пользователя)

или

sudo pipelight-plugin --enable silverlight (для всей системы, но это обычно не требуется. Я устанавливал без sudo).

Установка практически завершена. Первый запуск браузера после установки плагина потребует больше времени, чем обычно - система автоматически создаст специальный префикс Wine, скачает и установит туда библиотеки Silverlight, о чем будет свидетельствовать информационное окошко. По умолчанию, устанавливается версия Silverlight 5.1, но если вы хотите использовать другую, например, 5.0, воспользуйтесь командой

pipelight-plugin --disable silverlight --enable silverlight5.0  (с sudo - для всей системы).

Работу плагина можно для начала проверить на этом тестовом Silverlight-апплете.

Если вы забыли закрыть браузер перед установкой и случился сбой, можно попробовать удалить соответствующий wineprefix, чтобы он создался заново:

rm -rf ~/.wine-pipelight/

и перезапустить браузер.

Примечание: если плагин не работает, проверьте, виден ли он в списке установленных (например, введите about:plugins в строке адреса). Кроме того, в крайнем случае, можно воспользоваться более свежими тестовыми версиями Pipelight, подключив daily PPA. У меня плагин завелся сразу, без особых проблем, разве что первый запуск воспроизведения на этой странице произошел после длинной паузы, но затем всё нормализовалось.
Использовался Firefox 24, Xubuntu 13.10 beta2, драйвер Nvidia 325.15. Расширение User Agent Overrider, строка User agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20100101 Firefox/22.0 (Firefox 22/Windows). Нагрузка на процессор при воспроизведении онлайн-видео наблюдалась примерно такая же, как у обычного Flash.

И еще. Если воспроизведение сильно тормозит, можно попробовать настроить аппаратное ускорение как написано здесь. Надеюсь, это не понадобится.

Удачи в экспериментах.

UPD: посмотрите новую статью о Pipelight от 08.04.2014

10 комментариев :

  1. Вещь нужная,- для меня, во всяком случае..)
    Установил пока в Zorin-6 - при открытом браузере (не из принципа, а просто забыл закрыть) - и ничего, заработало..))
    кстати, использую вот на этом сайте - довольно сносное качество, да и сайт ничего себе так ..))) http://seetv.tv/all-tv
    Спасибо за труды, Максим Пузырёв!..)))

    ОтветитьУдалить
  2. а как это всё удалить? Я таких тармозов уже давно не видел... ХЕЛП!!!

    ОтветитьУдалить
    Ответы
    1. Бывает. Возможно, аппаратное ускорение по какой-то причине не срабатывает, либо просто железо слабовато.
      Можно и не удалять, а просто плагин деактивировать:

      pipelight-plugin --disable silverlight

      и перезапустить браузер.

      Ну а если уж удалять, то
      sudo apt-get purge pipelight-multi wine-compholio
      sudo apt-get autoremove
      rm -rf ~/.wine-pipelight/

      Удалить
    2. ага, огромное спасибо! Правда сейчас, пришли обновления, потом гляну.

      Удалить
    3. удалил... Праблема, когда включаеш видео, то весь браузер начинает страшно тормозить...
      Большое спасибо за помощь!

      Удалить
    4. Эх, забыл пояснить - браузер гугл.

      Удалить
    5. Я на Google Chrome пока не тестировал. По комментариям, которые удалось почитать в интернете, ситуация тут разная. У некоторых в Chrome нормально работает, в Мозилле похуже, у других - наоборот... В проекте Netflix (из которого и берется пропатченный Wine для плагина) изначально используется Firefox, правда, в Windows-версии.

      Удалить
    6. решил вот крыску установить

      Удалить
  3. А для чего собственно браузеру выдавать себя за Windows-версию? Сознательно пропустил этот шаг-на результат вроде бы не повлияло,проверку на тестовом Silverlight-апплете прошел, и пауза первого запуска по ссылке в примечании не такая уж и длинная,~ 40-50 сек...

    ОтветитьУдалить
    Ответы
    1. Подменять user agent далеко не всегда требуется. Но на некоторых специализированных коммерческих сайтах, вроде того же https://www.netflix.com, Линукс версии браузеров действительно отсекаются, это известный факт и не я это придумал.

      Удалить