Riesco a vedere presentazioni, chat, condivisione dello schermo, tutto nelle riunioni webex ma non riesco a far funzionare l'audio, ottengo sempre:
"Il dispositivo audio non è più accessibile ora"
Qualcuno sa cosa sta succedendo?
Grazie.
Riesco a vedere presentazioni, chat, condivisione dello schermo, tutto nelle riunioni webex ma non riesco a far funzionare l'audio, ottengo sempre:
"Il dispositivo audio non è più accessibile ora"
Qualcuno sa cosa sta succedendo?
Grazie.
Risposte:
Ho appena pubblicato una risposta a questa domanda su http://ubuntuforums.org/showthread.php?p=11757928
L'applet WebEx utilizza un modulo nativo proprietario per accedere al software audio. È un .so a 32 bit, quindi non può essere caricato da una JVM a 64 bit. La solita soluzione sembra essere quella di eseguire un browser a 32 bit ogni volta che si utilizza WebEx. In alternativa, ho patchato l'utility nspluginwrapper in modo da poter eseguire un plug-in Java a 32 bit da un browser a 64 bit (ho testato con Firefox, dovrebbe funzionare anche con Chrome).
Scarica le ultime fonti per nspluginwrapper da http://nspluginwrapper.org/download/
Espandi il file (tar -xvzf) in una posizione comoda
Applicare la seguente patch al file 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) {
Potrebbe essere necessario ottenere alcune librerie aggiuntive per far funzionare le cose. In particolare, ho installato:
sudo apt-get install libcurl4-nss-dev libxt-dev libgtk2.0-dev g++-multilib
YMMV.
Dopo aver ottenuto le dipendenze, è:
./configure
make
sudo make install
Quindi avrai bisogno di un jre a 32 bit. Questo può essere scaricato dal sito Web di Oracle e installato.
Infine, individua il file libnpjp2.so
nella lib
directory dell'installazione Java a 32 bit. L'ho trovato dentro /usr/lib/jvm/ia32-java-6-sun/jre/lib/i386/
.
Eseguire
sudo nspluginwrapper -i /usr/lib/jvm/ia32-java-6-sun/jre/lib/i386/libnpjp2.so
(O ovunque sia stato installato Java.)
Quindi (ri) avviare Firefox. Digita "aboutlugins" nella barra degli indirizzi. Dovresti vedere il tuo plugin Java a 32 bit appena installato.
Prova a partecipare a una riunione WebEx con l'audio
So che questo thread è stantio, ma ho appena passato 2 giorni per far funzionare la soluzione fornita da Dan Menes (e il metodo di Dan FUNZIONA), ma ci sono stati alcuni passaggi aggiuntivi che volevo condividere in modo che altri non perdessero 12 ore di lavoro come ho fatto con le modifiche. Quindi, eccoci qui:
Innanzitutto, non sono stato in grado di applicare la patch di Dan con il comando "patch" nel solito modo. Quando ho provato a farlo, ho ricevuto il seguente errore (lo stesso errore del poster "NW Tech", ovvero:
Hunk # 1 FAILED at 5128
Prima di risolvere il problema, ho strappato via tutto il mio Java esistente - TUTTI! Avevo un problema che quando eseguivo webex non ero sicuro di quale dei 5 o 6 java installati, sia 6 che 7, stesse usando, e dato che non so come esserne sicuro, ho semplicemente strappato tutto java tranne quello da utilizzare per il webex, in modo che potessi esserne sicuro. Puoi farlo, oppure se sai come fare, assicurati che firefox stia usando il tuo wrapping Java come descritto di seguito. Se decidi di strappare prima tutto il tuo java come ho fatto io, allora non mi assumo alcuna responsabilità per quello che potrebbe rompersi per te - ero solo concentrato sulla risoluzione di questo problema webex senza audio tramite computer su Ubuntu Linux e volevo essere sicuro Stavo sicuramente usando il java a 32 bit avvolto, quindi sono sicuro di aver strappato tutti gli altri java in alternative.
Quindi, procedendo su ...
Inoltre, ho usato l'ultima distribuzione di JDK 1.6 (1.6.0_45) NON JDK 1.7 (potrebbe funzionare, non ho ancora testato, non mi importa se ho finito con questo irritante problema 1.6 java wrapped a 64 bit funziona per il suono webex , quindi, FINE! Ho finito!).
Prima di installare Oracle Sun Java 1.6.0_45 ho completamente rimosso tutto il java esistente sul mio Ubuntu 12.04. Per fare ciò ho usato questi passaggi:
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
Dopo aver eseguito questi passaggi, ho installato JDK 1.6.0_45 e poi l'ho installato in alternative e poi ho verificato che le alternative avevano SOLO 1.6.0_45 per essere sicuro di prendere definitivamente il java-32 avvolto per il browser a 64 bit che ho ricercato.
Prima di poterlo fare, tuttavia, ho dovuto metterlo in alternative, cosa che ho fatto in questo modo:
sudo update-alternatives --install "/ usr / bin / java" "java" "/ usr / lib / jvm / java-6-oracle / bin / java" 1050
(la posizione del tuo java32 jdk6 può variare - è qui che ho inserito il mio).
Idk cosa significa il numero 1050 - è la "priorità" che non so se sia importante o meno. Le mie alternative ora sembrano così:
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$
Quindi, dopo aver dormito su di esso, la mattina di Satuday ho dato un'occhiata al codice alla linea 5128 e ho appena incollato la patch manualmente nel file poiché la patch aveva problemi ad applicarla automaticamente.
/home/gstanden/Downloads/nspluginwrapper-1.4.4/src/npw-viewer.c
Ecco i frammenti prima e dopo che mostrano come inserire il codice di patch:
ecco il diff del npw-viewer.c con patch rispetto al npw-viewer.c senza patch:
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();
Se vuoi semplicemente andare al sodo, ecco le linee interessate, i numeri delle linee mostrati per comodità. Ho appena inserito una patch di Dan applicata a mano, poiché "patch" ha dato errore e ha funzionato.
A partire dalla riga 5128 ecco come dovrebbe apparire dopo l'applicazione della patch:
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) {
Si noti che i caratteri "#" sulla riga 5139 e sulla riga 5129 dovrebbero essere presenti, non rimuoverli, lasciare il # nel codice. Naturalmente, i numeri di riga non vanno nel file modificato finito, ma vengono mostrati qui per comodità per aiutarti a individuare dove si trova questo codice patchato.
Ora puoi procedere per eseguire make dalla riga di comando:
cd /home/gstanden/Downloads/nspluginwrapper-1.4.4
make
Bene, il make darà errore. Il poster "910Radar" l'ha capito. Devi aggiungere un piccolo frammento al comando make ed eseguirlo manualmente. Puoi vedere il post "910Radar" qui: http://ubuntuforums.org/showthread.php?t=1858097
e quello che ha fatto (e quello che ho fatto) è stato eseguire manualmente il comando make, come segue (e funziona). Quel comando è qui, basta incollarlo nella riga di comando:
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
e funziona. Ora puoi eseguire "make install" per "nspluginwrapper" e quindi puoi eseguirlo per avvolgere il java a 32 bit che hai installato in modo che Firefox a 64 bit possa utilizzarlo, quel comando è:
sudo nspluginwrapper -i /usr/lib/jvm/java-6-oracle/jre/lib/i386/libnpjp2.so
che dovrebbe restituire un prompt dei comandi senza errori e senza messaggi. Nota, se libnpjp2.so si trova in una directory diversa, ovviamente usa il tuo percorso.
Ho anche scoperto che sebbene pulseaudio funzionasse sul mio Ubuntu 12.04 (youtube, video, ecc.) Il "test audio" non funzionava sul pannello "suono" nelle impostazioni di Ubuntu. Pensando che sarebbe una buona idea risolvere qualsiasi problema che ho riscontrato con l'audio sul mio Ubuntu, ho risolto anche quello. Ho scoperto che risolvere questo problema richiede questo passaggio:
sudo apt-get install libcanberra-pulse
e una volta fatto, il "test" dei diffusori destro e sinistro funzionerà alla perfezione (una voce femminile morbida ti parla, che bello dirti che i tuoi diffusori funzionano su entrambi i lati, che bello).
Inoltre, se sei già stato sulla pagina che dice di strappare pulseaudio, e hai scoperto come ho fatto io, che strappare l'audio degli impulsi non funziona fino a correggere il suono senza computer per il problema webex (almeno non ha funzionato per me ) quindi puoi ripristinare l'audio degli impulsi e anche il widget della barra degli strumenti di pulseaudio, su Ubuntu 12.04 usando questi comandi:
sudo apt-get install pulseaudio
sudo apt-get install indicator-sound
(ripristina l'audio degli impulsi e posiziona nuovamente l'indicatore sui widget in alto). Potresti voler riavviare dopo averlo fatto.
Ora provalo e spero che se mi sono ricordato di tutti i passaggi, sarai in grado di eseguire l'audio webex dal tuo browser mozilla firefox a 64 bit su Ubuntu 12.04 a 64 bit e avere l'audio webex integrato tramite computer che funziona bene! Una piccola applet si apre quando si fa clic su "usa il mio computer" per il suono quando si è in webex.
Divertiti e grazie Dan Menes e "910Radar" alla grande e molti altri "poster sconosciuti" i cui post su cose di base come il modo di correggere il codice src, come aggiungere voci alle alternative java, ecc., Hanno reso possibile finalmente risolvere questo problema sul mio laptop Ubuntu!
Dai un'occhiata qui o al post iniziale qui .
Propongono di utilizzare un'altra installazione di un browser (ad esempio swiftfox) che utilizza un plug-in Java a 32 bit.