回答:
この質問に対する回答をhttp://ubuntuforums.org/showthread.php?p=11757928に投稿しました。
WebExアプレットは、独自のネイティブモジュールを使用してサウンドソフトウェアにアクセスします。これは32ビットの.soであるため、64ビットJVMによってロードすることはできません。通常の解決策は、WebExを使用しているときは常に32ビットブラウザーを実行することです。別の方法として、64ビットブラウザから32ビットJavaプラグインを実行できるように、nspluginwrapperユーティリティにパッチを適用しました(Firefoxでテストしましたが、Chromeでも動作するはずです)。
nspluginwrapperの最新ソースをhttp://nspluginwrapper.org/download/からダウンロードします
便利な場所でファイル(tar -xvzf)を展開します
次のパッチをファイルnpw-viewer.cに適用します。
--- npw-viewer.c 2011-06-30 23:18:57.000000000 -0400
+++ nspluginwrapper-1.4.4/src/npw-viewer.c 2012-03-11 14:09:35.104158681 -0400
@@ -5128,6 +5128,17 @@
}
handles[n_handles++] = handle;
dlerror();
+#else
+ /* Install libstdc++ for java */
+ const char libstcpp[] = "libstdc++.so.6";
+ D(bug(" trying to open standard C++ runtime '%s'\n", libstcpp ));
+ if ((handle = dlopen(libstcpp, RTLD_LAZY|RTLD_GLOBAL)) == NULL) {
+ npw_printf("ERROR: %s\n", dlerror());
+ return 1;
+ }
+ handles[n_handles++] = handle;
+ dlerror();
+
#endif
D(bug(" %s\n", plugin_path));
if ((handle = dlopen(plugin_path, RTLD_LAZY)) == NULL) {
動作させるには、追加のライブラリを取得する必要がある場合があります。特に、私はインストールしました:
sudo apt-get install libcurl4-nss-dev libxt-dev libgtk2.0-dev g++-multilib
YMMV。
依存関係を取得した後、その:
./configure
make
sudo make install
次に、32ビットjreが必要になります。これは、OracleのWebサイトからダウンロードしてインストールできます。
最後に、32ビットJavaインストールのディレクトリでファイルlibnpjp2.so
を見つけlib
ます。で見つけました/usr/lib/jvm/ia32-java-6-sun/jre/lib/i386/
。
実行する
sudo nspluginwrapper -i /usr/lib/jvm/ia32-java-6-sun/jre/lib/i386/libnpjp2.so
(または、Javaがインストールされている場所。)
次に、Firefoxを(再)起動します。アドレスバーに「aboutlugins」と入力します。新しくインストールされた32ビットJavaプラグインが表示されます。
音声付きでWebExミーティングに参加してみてください
私はこのスレッドが古いことを知っていますが、Dan Menesが提供するソリューションを機能させるために2日間(およびDanのメソッドは動作します)を経験しましたが、他の人が失わないように共有したい追加の手順がいくつかありました私が微調整で行ったように、何時間もの労働時間。それで、ここに行きます:
まず、通常の方法でDanのパッチを「patch」コマンドで適用できませんでした。それを試みたときに、次のエラーが発生しました(ポスター「NW Tech」が取得したのと同じエラー:
ハンク#1は5128で失敗しました
それを修正する前に、既存のJavaをすべて削除しました-すべて!私が問題を抱えていたのは、webexを実行したときに、5または6のインストールされたJavaのうち6と7のどちらが使用されているのかわからず、どうすればよいかわからないので、 webexに使用されるものです。それを行うことができます。または、方法がわかっている場合は、以下で説明するように、Firefoxがラップされたjavaを使用していることを確認してください。私のように最初にすべてのJavaをリッピングすることを選択した場合、私はあなたのために壊れる可能性のあるものには一切責任を負いません-私はUbuntu Linuxのコンピュータを介してオーディオなしでこのwebexの問題を修正することに集中しました私は間違いなくラップされた32ビットJavaを使用していたので、他のすべてのJavaを確実に別の方法でリッピングしました。
だから、続行...
また、私はJDK 1.7ではなくJDK 1.6(1.6.0_45)の最後のディストリビューションを使用しました(テストしていなくても動作するかもしれませんが、この刺激的な問題で終わっていますか? 、だから、FINE!完了です!)。
Oracle Sun Java 1.6.0_45をインストールする前に、Ubuntu 12.04で既存のJavaをすべて完全に削除しました。それを行うには、次の手順を使用しました。
sudo apt-get update
apt-cache search java | awk '{print($1)}' | grep -E -e '^(ia32-)?(sun|oracle)-java' -e '^openjdk-' -e '^icedtea' -e '^(default|gcj)-j(re|dk)' -e '^gcj-(.*)-j(re|dk)' -e 'java-common' | xargs sudo apt-get -y remove
sudo apt-get -y autoremove
これらの手順を実行した後、JDK 1.6.0_45をインストールし、代替にインストールしてから、代替が唯一の1.6.0_45であることを確認して、64ビットブラウザー用にラップされたjava-32を確実に選択していることを確認しました欲しかった。
しかし、それができるようになる前に、私はそれを別の方法に入れなければなりませんでした。
sudo update-alternatives --install "/ usr / bin / java" "java" "/ usr / lib / jvm / java-6-oracle / bin / java" 1050
(java32 jdk6の場所は異なる場合があります-私は私の場所です)。
Idk番号1050の意味-それが重要かどうかわからない「優先順位」です。私の選択肢は今このようになります:
gstanden@Ubuntu1204:/usr/lib/mozilla/plugins$ sudo update-alternatives --config java
[sudo] password for gstanden:
There is 1 choice for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-6-oracle/bin/java 1050 auto mode
* 1 /usr/lib/jvm/java-6-oracle/bin/java 1050 manual mode
Press enter to keep the current choice[*], or type selection number:
gstanden@Ubuntu1204:/usr/lib/mozilla/plugins$
そのため、土曜日の朝、私は5128行目のコードを見て、パッチを自動的に適用する際に問題が発生したため、手動でファイルにパッチを貼り付けました。
/home/gstanden/Downloads/nspluginwrapper-1.4.4/src/npw-viewer.c
パッチコードを配置する方法を示す前後のスニペットを次に示します。
パッチを適用したnpw-viewer.cとパッチを適用していないnpw-viewer.cの差分を次に示します。
gstanden@Ubuntu1204:~/Downloads/nspluginwrapper-1.4.4/src$ diff npw-viewer.c npw-viewer.c.bak
5129,5138c5129,5130
< #else
< /* Install libstdc++ for java */
< const char libstcpp[] = "libstdc++.so.6";
< D(bug(" trying to open standard C++ runtime '%s'\n", libstcpp ));
< if ((handle = dlopen(libstcpp, RTLD_LAZY|RTLD_GLOBAL)) == NULL) {
< npw_printf("ERROR: %s\n", dlerror());
< return 1;
< }
< handles[n_handles++] = handle;
< dlerror();
---
> handles[n_handles++] = handle;
> dlerror();
追いかけるだけの場合、影響を受ける行は次のとおりです。便宜上、行番号を示します。「patch」がエラーを与えたので、私は手作業でDanのパッチを適用しました。
5128行目から始まるのは、パッチが適用された後の外観です。
5128 }
5129 #else
5130 /* Install libstdc++ for java */
5131 const char libstcpp[] = "libstdc++.so.6";
5132 D(bug(" trying to open standard C++ runtime '%s'\n", libstcpp ));
5133 if ((handle = dlopen(libstcpp, RTLD_LAZY|RTLD_GLOBAL)) == NULL) {
5134 npw_printf("ERROR: %s\n", dlerror());
5135 return 1;
5136 }
5137 handles[n_handles++] = handle;
5138 dlerror();
5139 #endif
5140 D(bug(" %s\n", plugin_path));
5141 if ((handle = dlopen(plugin_path, RTLD_LAZY)) == NULL) {
5139行目と5129行目の「#」文字が存在することに注意してください。それらを削除せず、コードに#を残します。もちろん、行番号は編集済みの完成したファイルには含まれません。このパッチが適用されたコードがどこにあるのかを見つけるのに役立つように、ここに表示されています。
これで、コマンドラインからmakeを実行できます。
cd /home/gstanden/Downloads/nspluginwrapper-1.4.4
make
まあ、メイクはエラーを与えます。ポスター「910Radar」はそれを理解しました。makeコマンドに小さなスニペットを追加して、手動で実行する必要があります。ここで「910Radar」の投稿を見ることができます:http ://ubuntuforums.org/showthread.php?t=1858097
そして彼がやったこと(そして私がやったこと)は、次のようにmakeコマンドを手動で実行しました(そして、それは動作します)。このコマンドはここにあります。コマンドラインに貼り付けてください。
gcc -std=c99 -o npplayer npplayer-npw-player.o npplayer-debug.o npplayer-rpc.o npplayer-utils.o npplayer-glibcurl.o npplayer-gtk2xtbin.o -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lglib-2.0 -lglib-2.0 -lcurl -lXt -lX11 -lpthread -lgthread-2.0
そしてそれは動作します。「nspluginwrapper」に対して「make install」を実行し、それを実行して、インストールした32ビットJavaをラップして、64ビットFirefoxで使用できるようにすることができます。そのコマンドは次のとおりです。
sudo nspluginwrapper -i /usr/lib/jvm/java-6-oracle/jre/lib/i386/libnpjp2.so
エラーやメッセージのないコマンドプロンプトが返されます。libnpjp2.soが別のディレクトリにある場合は、もちろんパスを使用してください。
また、pulseaudioはUbuntu 12.04(youtube、ビデオなど)で機能していましたが、Ubuntu設定の「サウンド」パネルで「テストオーディオ」が機能していないこともわかりました。Ubuntuのサウンドで見つかった問題を修正することをお勧めしますが、それも修正しました。その問題を解決するには、次の手順が必要であることがわかりました。
sudo apt-get install libcanberra-pulse
そして、それが行われると、「テスト」の左右のスピーカーは非常にうまく機能します(柔らかい女性の声があなたに話します。
また、あなたがすでにpulseaudioをリッピングするというページに行っていて、私と同じように見つかった場合、webexの問題のコンピュータなしの音を修正する限り、パルスオーディオのリッピングは機能しません(少なくとも私にとってはそうではありませんでした) )次に、以下のコマンドを使用して、Ubuntu 12.04にパルスオーディオを戻し、pulseaudioのツールバーウィジェットを戻すことができます。
sudo apt-get install pulseaudio
sudo apt-get install indicator-sound
(音声をパルスで戻し、上部のウィジェットにインジケーターを戻します)。それを行った後、リブートしたい場合があります。
今すぐ試してみて、すべての手順を覚えていれば、Ubuntu 12.04 64ビットで64ビットのmozilla firefoxブラウザからwebexサウンドを実行でき、コンピューターを介してwebexサウンドが正常に動作するようになります!webexでサウンドを再生するために「コンピューターを使用」をクリックすると、小さなアプレットが開きます。
楽しんで、そして感謝しますDan Menesと "910Radar"および他の多くの "unknown poster"がsrcコードにパッチを当てる方法、javaの代替にエントリを追加する方法などの基本的な事柄について投稿しました。 Ubuntuラップトップで問題が発生しました!