суббота, 22 ноября 2014 г.

Unity 3D Web Player в нативных браузерах Ubuntu

Итак существует много браузерных игр, которые требуют Unity 3D Web Player. Но порта данного плагина не существует для Linux.

В данной статье будет рассмотрено самое оптимальное решение - запуск данного плагина с помощью Pipelight.

Что такое PipeLight?

Pipelight — это программа обёртка Windows NPAPI для Windows плагинов (Unity 3D WP, Silverlight, Flash и т.д.), позволяющая использовать эти плагины в нативных браузерах Linux.

Pipelight состоит из двух частей: 
- Linux библиотека, которая подгружается браузером, 
- Windows программы, стартующей в Wine. 

Windows программа имитирует Windows браузер и подгружает Windows библиотеку dll необходимого плагина.

Инструкция.

Возьмем в качестве примера браузерную игру:

Если мы захотим поиграть в неё, то увидим следующее сообщение:

Получаем сообщение, что Unity Web Player не установлен.

Исправим эту ситуацию:

1. Установка Pipelight в Ubuntu.

Установка проста, а необходимые Wine библиотеки подтянуться сами.
Откройте терминал и выполните следующие команды:sudo add-apt-repository ppa:pipelight/stable
sudo apt-get update
sudo apt-get install --install-recommends pipelight-multi
Обновляем pipelight plugin:sudo pipelight-plugin --update
Всё, теперь Pipelight установлен в Ubuntu.
Теперь версия пакета называется «pipelight-multi», а не «pipelight».
Так как тот уже считается устаревшим и поддерживаться не будет.
Если стоял старый пакет pipelight, то нужно его удалить:sudo apt-get purge pipelightПосле удаления старого плагина, нужно очистить папку с конфигурацией pipelight:rm -rf ~/.wine-pipelight/

2. Настройка Pipelight в Ubuntu для работы Unity Web Player.

Теперь осталось включить поддержку Unity Web Player, для этого выполните следующую команду в терминале:sudo pipelight-plugin --enable unity3dВ терминале будет запрошено, что нужно принять лицензионное соглашение.
Жмём клавишу Y, после этого запустится Wine приложение, ждём его загрузки.

Всё. Перезагружаем браузер и теперь должно всё работать.

Заходим снова на сайт игры Contract Wars и теперь видим:

Появится надпись "Разрешить" или "Продолжить блокировать".
Жмём "Разрешить", затем "Разрешить и запомнить", чтобы не задавался данный вопрос в следующий раз.

После чего запустится наша игра:




Вот таким образом мы запустили приложение Unity Web Player в Linux.

Решение основных проблем.

Если у Вас работал плагин, игры работали, и вдруг перестали.

То можно попробовать очистить рабочую папку Pipelight,rm -rf ~/.wine-pipelight/После чего перезагрузить приложение Unity Web Player (обновить страницу с приложением в вашем браузере).

Если приложение отказывается работать.

То возможно, что в запускаемое приложение встроена проверка User Agent, которая отсеивает не Windows/MacOSX системы.
В этом случае можно подменить User Agent, установив расширение в браузер.

Для Firefox.
Установите следующие плагин:
Открываем Preferences (Настройки данного плагина) и вписываем туда следующую строку:
Safari/OSX: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/534.55.3 (KHTML, like Gecko) Version/5.1.3 Safari/534.53.10
Закрываем Настройки, в конце списка появится новый пункт Safari/OSX, который и нужно выбирать.

Для Chromium подобных браузеров.
Установите следующий плагин.
В появившемся значке - выбирать Safari - OSX Safari 5

Дополнительные возникающие проблемы.

Остановка загрузки приложения - попробуйте перезагрузить страницу с приложением.

Залипание клавиш - также, либо перегружаем страницу, либо это баг приложения. (У меня залипания случаются и в некоторых играх, запускаемых через wine).

Приложение может вообще не заработать - ничего страшного в этом тоже нет. Такое тоже может произойти. В этом случае ничего нельзя сделать. Как правило, это случается 1 к 20.


Хоть Pipelight - это и костыльное решение, но всё-таки это лучше, чем ничего. И это лучше, чем играть в виртуалке с Windows 7/8.

И ещё:
Если на компьютере есть какая то старая версия Pipelight, как её корректно вычистить из системы?
sudo apt-get remove pipelight


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

  1. Как теперь удалить его полностью со всеми настройками что скачались?

    ОтветитьУдалить
    Ответы
    1. Команда: sudo apt-get remove pipelight не помогла?Тогда Synapyic.Ввести в поиск pipelight и отметить для удаления.

      Удалить
  2. Не завелся, в смысле включился, все ок, но юнити так и не взлетел Ubuntu 14.04

    ОтветитьУдалить
  3. у меня не загрузился Pipelight пишет:: Не удалось получить http://ppa.launchpad.net/speed-dreams/ppa/ubuntu/dists/trusty/main/source/Sources 404 Not Found

    W: Не удалось получить http://ppa.launchpad.net/speed-dreams/ppa/ubuntu/dists/trusty/main/binary-i386/Packages 404 Not Found

    E: Некоторые индексные файлы не скачались. Они были проигнорированы или вместо них были использованы старые версии.
    Подскажите пожалуйста, что мне делать?

    ОтветитьУдалить