web-dev-qa-db-fra.com

Webex audio ne fonctionne pas avec 11.10

Je peux voir des présentations, chatter, partager un écran, tout ce qui se passe dans une réunion webex, mais je ne peux pas faire fonctionner l'audio, je reçois toujours:

"Le périphérique audio est maintenant inaccessible"

Est-ce que quelqu'un sait ce qui se passe?

Merci.

16
Benner

Je viens de poster une réponse à cette question sur http://ubuntuforums.org/showthread.php?p=11757928

L'applet WebEx utilise un module natif propriétaire pour accéder au logiciel audio. C'est un fichier .so 32 bits, il ne peut donc pas être chargé par une machine virtuelle Java 64 bits. La solution habituelle semble être de faire fonctionner un navigateur 32 bits à chaque fois que vous utilisez WebEx. Au lieu de cela, j'ai corrigé l'utilitaire nspluginwrapper afin que vous puissiez exécuter un plug-in Java 32 bits à partir d'un navigateur 64 bits (j'ai testé avec Firefox, il devrait également fonctionner avec Chrome).

Téléchargez les dernières sources pour nspluginwrapper à partir de http://nspluginwrapper.org/download/

Développez le fichier (tar -xvzf) dans un emplacement pratique

Appliquez le correctif suivant au fichier 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) {

Vous aurez peut-être besoin de bibliothèques supplémentaires pour que tout fonctionne correctement. En particulier, j'ai installé:

Sudo apt-get install libcurl4-nss-dev libxt-dev libgtk2.0-dev g++-multilib

YMMV.

Après avoir obtenu les dépendances, c'est:

./configure
make
Sudo make install

Ensuite, vous aurez besoin d'un jre 32 bits. Cela peut être téléchargé à partir du site Web d'Oracle et installé.

Enfin, localisez le fichier libnpjp2.so dans le répertoire lib de l'installation Java 32 bits. Je l'ai trouvé dans /usr/lib/jvm/ia32-Java-6-Sun/jre/lib/i386/.

Execute

Sudo nspluginwrapper -i /usr/lib/jvm/ia32-Java-6-Sun/jre/lib/i386/libnpjp2.so

(Ou où que votre Java soit installé.)

Puis (re) démarrez Firefox. Tapez "aboutins" dans la barre d'adresse. Vous devriez voir votre plug-in Java 32 bits nouvellement installé.

Essayez de rejoindre une réunion WebEx avec son

7
Dan Menes

Je sais que ce fil est périmé, mais je viens de passer 2 jours à obtenir la solution fournie par Dan Menes (et la méthode de Dan NE FONCTIONNE), mais je voulais partager quelques étapes supplémentaires pour que les autres ne perdent pas 12 heures de travail comme je le faisais avec les réglages. Alors on y va:

Premièrement, je n'ai pas pu appliquer le correctif de Dan avec la commande "patch" de la manière habituelle. Lorsque j'ai essayé, j'ai eu l'erreur suivante (la même erreur que l'affiche "NW Tech", qui est:

Hunk # 1 a échoué à 5128

Avant de résoudre ce problème, j’ai déchiré tout mon Java - ALL existant! Je rencontrais un problème qui me disait que lorsque j’exécutais webex, je ne savais pas lequel des 5 ou 6 javas installés, à la fois 6 et 7, utilisait, et comme je ne sais pas comment être sûr, j’ai tout déchiré Java out sauf celui qui sera utilisé pour webex, afin que je puisse en être sûr. Vous pouvez le faire, ou si vous savez comment faire, assurez-vous que firefox utilise votre Java enveloppé comme décrit ci-dessous. Si vous décidez d’extraire tout votre Java comme je l’ai fait, alors je ne prends AUCUNE RESPONSABILITÉ pour ce qui pourrait casser pour vous - je me concentrais simplement sur la résolution de ce problème webex sans audio sur ordinateur sous Ubuntu Linux et je voulais être sûr que j'utilisais définitivement le Java 32 bits encapsulé, alors j'ai déchiré tous les autres Java dans des variantes pour en être sûr.

Alors, procédant sur ...

De plus, j'ai utilisé la dernière distribution de JDK 1.6 (1.6.0_45), PAS JDK 1.7 (cela pourrait marcher, je ne l'ai pas testée, ça ne me dérange pas, j'en ai fini avec ce problème irritant 1.6 64 bits encapsulé Java fonctionne pour le son webex, alors, FIN! Je suis fait!).

Avant d'installer Oracle Sun Java 1.6.0_45, j'ai complètement extrait tous les Java existants sur mon Ubuntu 12.04. Pour ce faire, j'ai utilisé ces étapes:

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

Après avoir exécuté ces étapes, j’ai installé JDK 1.6.0_45, puis j’ai installé celui-ci dans des alternatives, puis vérifié que les alternatives ne contenaient que 1.6.0_45 pour être certain que je prenais vraiment le Java-32 intégré au navigateur 64 bits que je voulait.

Avant de pouvoir le faire, cependant, je devais le mettre dans des alternatives, ce que j'ai fait de cette façon:

Sudo update-alternatives --install "/ usr/bin/Java" "Java" "/ usr/lib/jvm/Java-6-Oracle/bin/Java" 1050

(l'emplacement de votre jdk6 Java32 peut varier - c'est là que j'ai mis le mien).

Idk ce que le nombre 1050 signifie - c'est la "priorité" Je ne sais pas si cela compte ou non. Mes alternatives ressemble à ceci maintenant:

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$ 

Ainsi, après avoir dormi dessus, le samedi matin, j’ai jeté un œil au code de la ligne 5128 et ai juste collé le correctif manuellement dans le fichier, car ce correctif avait du mal à l’appliquer automatiquement.

/home/gstanden/Downloads/nspluginwrapper-1.4.4/src/npw-viewer.c

Voici les extraits avant et après qui montrent comment vous devez placer le code de correction:

voici le diff de npw-viewer.c patché par rapport au npw-viewer.c non 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();

Si vous voulez simplement vous lancer, voici les lignes concernées, les numéros de lignes indiqués pour plus de commodité. Je suis juste allé à la main dans un patch de Dan appliqué, car "patch" donnait une erreur, et cela fonctionnait.

À partir de la ligne 5128, voici comment cela devrait ressembler après l’application du correctif:

   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) {

Notez que les caractères "#" de la ligne 5139 et de la ligne 5129 sont supposés être là, ne les supprimez pas, laissez le # dans le code. Bien entendu, les numéros de ligne ne figurent pas dans le fichier modifié fini. Ils sont simplement indiqués ici pour vous aider à localiser l'emplacement de ce code corrigé.

Vous pouvez maintenant lancer make en ligne de commande:

cd /home/gstanden/Downloads/nspluginwrapper-1.4.4
make

Eh bien, la marque donnera une erreur. L'affiche "910Radar" l'a bien compris. Vous devez ajouter un petit extrait de la commande make et l'exécuter manuellement. Vous pouvez voir "910Radar" post ici: http://ubuntuforums.org/showthread.php?t=1858097

et ce qu'il a fait (et ce que j'ai fait) a été exécuté manuellement avec la commande make, comme suit (et cela fonctionne) pour elle. Cette commande est ici, collez-la simplement dans la ligne de commande:

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

et il fonctionne. Vous pouvez maintenant exécuter "make install" pour "nspluginwrapper", puis vous pouvez l'exécuter pour encapsuler le Java 32 bits que vous avez installé afin que le firefox 64 bits puisse l'utiliser, cette commande est la suivante:

Sudo nspluginwrapper -i /usr/lib/jvm/Java-6-Oracle/jre/lib/i386/libnpjp2.so

qui devrait renvoyer une invite de commande sans erreur ni message. Notez que si votre libnpjp2.so se trouve dans un répertoire différent, utilisez bien sûr votre chemin.

J'ai également constaté que même si pulseaudio fonctionnait sous Ubuntu 12.04 (youtube, vidéo, etc.), le "test audio" ne fonctionnait pas dans le panneau "son" des paramètres Ubuntu. En pensant que ce serait une bonne idée de résoudre tout problème rencontré avec le son sur mon Ubuntu, j'ai également résolu le problème. J'ai trouvé que résoudre ce problème nécessite cette étape:

Sudo apt-get install libcanberra-Pulse

et une fois que cela est fait, les "test" haut-parleurs droit et gauche fonctionneront à merveille (une voix féminine douce vous dit à quel point il est gentil de vous dire que vos haut-parleurs travaillent de chaque côté, que c'est beau).

De plus, si vous aviez déjà visité la page qui dit d’extraire pulseaudio et que vous avez découvert, comme moi, que l'extraction audio Pulse ne fonctionne pas aussi loin que de réparer le problème de son non-ordinateur pour Webex (du moins, cela ne m’a pas été utile pour moi). ) vous pouvez alors remettre Pulse audio en arrière, ainsi que le widget de barre d’outils de pulseaudio, de nouveau sur Ubuntu 12.04 en utilisant les commandes suivantes:

Sudo apt-get install pulseaudio
Sudo apt-get install indicator-sound  

(remet le son Pulse et remet l'indicateur sur les widgets en haut). Vous voudrez peut-être redémarrer après avoir fait cela.

Maintenant, essayez et si je me souviens de toutes les étapes, vous pourrez exécuter le son webex à partir de votre navigateur mozilla firefox 64 bits sur Ubuntu 12.04 64 bits et le son Webex intégré sur ordinateur fonctionnera sans problème! Une petite applet s'ouvre lorsque vous cliquez sur "utiliser mon ordinateur" pour obtenir du son lorsque vous êtes dans webex.

Profitez, et merci beaucoup, Dan Menes et "910Radar" et beaucoup d'autres "affiches inconnues" dont les messages sur des choses de base comme comment patcher le code src, comment ajouter des entrées à Java alternatives, etc., ont tous été faits il est enfin possible de résoudre ce problème sur mon ordinateur portable Ubuntu!

4
user215211