Преамбула.Ubuntu 10.10 поставляется с java машиной OpenJDK. А OpenJDK страдает некоторой недопиленностью. Например, не работает WebSDR.
Но это еще терпимо. А вот отсутствие звука в online-семинарах WebEx Cisco напрягало очень сильно. Пришлось даже запускать дефолт-ось, пока суть да дело. Но победить таки удалось. Методом научного тыка, не без помощи добрых людей.
Установка Sun Java VM http://www.dh1tw.de/websdr-java-ubuntu-linux-how-to-make-it-work
Идеи по запуску Sun Java используя padsp http://www.tuxyturvy.com/blog/index.php?/archives/66-Making-Sun-Java-1.6-play-via-PulseAudio.html
Поехали.
1. Сносим OpenJDK
Смотрим что установлено:
dpkg -l | grep openjdkСносим что есть, поменяв названия пакетов:
dpkg -l | grep icedtea
sudo apt-get purge openjdk-6-jdk2. Ставим труЪ Sun Java
sudo apt-get purge icedtea6-plugin
maverick - название установленной ветки ОС, в данном случае Ubuntu 10.10.
sudo add-apt-repository 'deb http://archive.canonical.com/ maverick partner'Обновляем базу
sudo apt-get updateСтавим яву (Андроид, прювет! :)))
sudo apt-get install sun-java6-jre sun-java6-plugin sun-java6-fontsПроверяем версию
java -versionУ меня было
java version "1.6.0_24"3. Настраиваем звук.
Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02, mixed mode)
К сожалению, в нестройных рядах линуксоидов, существует разброд и шатание в выборе используемой звуковой подсистемы. Что, кстати, один из факторов, который убивает интерес девелоперов игр IMHO. Ubuntu 10.10 идет c PulseAudio.
Проблема в том, что Sun Java VM не умеет выводить звук через PulseAudio. Только ALSA или OSS.
Снос PulseAudio и попытка настройки ALSA особого успеха не принесли, так как у меня внешний звук E-MU 0202 USB и куча других звуковух. В принципе настроить можно было, но PulseAudio есть вектор развития. По крайней мере в Ubuntu. Надо приспосабливаться.
Оставляем PulseAudio.
Чтобы звук появился делаем следующее. В Ubuntu 10.10 x64 java лежит по адресу:
/usr/lib/jvm/java-6-sun/jre/bin
Под рутом (т.е. юзаем sudo)
3.1
cd /usr/lib/jvm/java-6-sun/jre/bin3.2 Переименовываем файл java в java.bin
sudo mv java java.bin3.3 Создаем файл java следующего содержания
#!/bin/bash3.4. Делаем его исполняемым
padsp /usr/lib/jvm/java-6-sun/jre/bin/java.bin "$@"
sudo chmod +x java3.5 Переименовываем файл /usr/lib/jvm/java-6-sun/jre/lib/amd64/libjsoundalsa.so в libjsoundalsa.so.rename (или в что-нить другое). Если ОС другой архитектуры (не x64 догадайтесь что надо сделать).
sudo mv /usr/lib/jvm/java-6-sun/jre/lib/amd64/libjsoundalsa.so /usr/lib/jvm/java-6-sun/jre/lib/amd64/libjsoundalsa.so.renameСуть процесса в том, чтобы запустить java в среде эмулятора OSS от PulseAudio (утилита padsp). Последний пункт заставляет java для вывода звука использовать OSS вместо ALSA, т. к. не может найти библиотеку для ALSA.
Комментариев нет:
Отправить комментарий