Ya, ya sé qué están pasando cosas muy chulas en el mundo del Software Libre local, pero estoy un poco saturado de hacer de vocero de los avances en este campo por parte del Gobierno Vasco (alucinante que tenga que decir esto, quién me lo iba a decir hace meses). Enhorabuena a la gente de ESLE y a quienes han colaborado desde la Administración 😉
Tampoco me he olvidado de que se ha publicado una nueva versión de la distro de GNU/Linux más popular, hecho que anima a más gente a probarla.
Pero hoy quiero hablar de algo más práctico, mundano, útil: utilizar aplicaciones desarrolladas con Jinitiator (Oracle) desde GNU/Linux sin problemas.
Al entrar en una de estas aplicaciones (muy habituales en nuestra deustense intranet), se nos pide instalar un plugin que no está disponible para GNU/Linux + Firefox (jinit). Afortunadamente, este plugin no es más que una funcionalidad concreta del propio plugin de Java, así que no tenemos más que hacer lo siguiente:
1. Instalar el plugin java:
apt-get install sun-java6-plugin
2. Comprobar que está instalado correctamente en nuestro navegador. Para ello visualizaremos la página especial «about:plugins».
3. Comprobar qué versión de jpi usa el servidor (mirando en el código fuente de la página web que lanza la aplicación que queremos usar). En mi caso es 1.4.2_06.
4. Cerrar el navegador y abrir el fichero pluginreg.dat que está en el perfil de Firefox que usemos (típicamente en el directorio .mozilla de nuestra $HOME, aunque a veces está dentro de un directorio extraño con un nombre tipo: «234xsdfe.default»).
5. En pluginreg.dat, buscamos las líneas que contienen «jpi» y cambiamos al versión que viene (ej: 1.6.0_14) por la versión que hemos encontrado en el 4º paso (ej: 1.4.2_06).
6. Guardamos los cambios y abrimos el navegador.
7. Si todo ha ido bien, veremos la aplicación funcionando perfectamente:
Ya no hay excusa para no usar GNU/Linux en este tipo de aplicaciones 😉
Tags: Firefox, Java, Jinitiator, jpi, Mozilla, Oracle, pluginreg.dat, Software Libre, Sun
Brutal! felicidades por la receta 😀
Mil gracias, ya no tendré que conectarme por rdesktop a una máquina windows para usar este tipo de aplicaciones.
Caguen, cada vez me quedan menos escusas para usar esas aplicaciones 🙂
Saludos Beni.
Señor Txipiron, que Dios se lo pague con un montón de hijos más que acompañen a lágrima tendida a Peio 😉
¡¡Gran receta que hará que mi VirtualBox no se vuelva a iniciar nunca más!!
Gracias Txipi!!! Qué gran ayuda!!!
Josu
Hola Pablo,
Quería consultarte algo con respecto a este tema, la configuración que expusiste funciona correctamente, el formulario es accesible y se comporta perfectamente como en windows al igual que la ejecución de los reportes, sin embargo tengo problemas con la barra de botones personalizada que le he agregado a los formularios ya que en la misma no se despliegan las imágenes iconicas que se encuentran asociados a los botones.
Estas imágenes vienen empaquetadas en un archivo jar y que en windows el jinitiator lo descarga como un paquete en la máquina cliente, sin embargo, en linux (y no se si en windows) la máquina virtual de Sun trata de acceder directamente a las imágenes en el servidor y no descarga el archivo jar.
Te dejo algunas imágenes como en windows hace lo correcto y en linux no, aunque posiblemente el problema lo genere la máquina virtual de Sun y no el sistema operativo:
En Linux: http://es.tinypic.com/r/2i896cx/6
En Windows: http://es.tinypic.com/r/2ur1pck/6
Desde ya gracias por todo..
Muchisimas gracias por la info, hacia mucho tiempo que venia luchando para levantar una aplicacion en linux (lo habia logrado con opera en realidad, pero la velocidad hacia casi imposible usarlo), fuera de esto tengo exactamente el mismo problema que Gabriel con los iconos. Si hubiera alguna forma de cargarlos, sin ser agregarlos al servidor mismo seria genial
Hola, paso de vuelta por acá porque quería compartir con ustedes la solución del problema que planteé en mi comentario anterior. El inconveniente era que la máquina virtual java de sun no descargaba el paquete jar de iconos que utiliza mi aplicación
Para solucionar este inconveniente debemos agregar el parámetro «archive» a la sección personalizada que creamos en el formsweb.cfg (en mi caso la sección que utilizo se llama test) o también en la sección default (en la cual ya existe la entrada «archive» por defecto) y asignarle a dicho parámetro los nombres de los archivos frmall.jar y el archivo jar de iconos, en mi caso llamado testartwork.jar. La entrada en el archivo formsweb.cfg en mi caso quedaría como sigue:
archive=frmall.jar,testartwork.jar
Aclaro que en la descripción del parámetro «archive» en la sección «default» del archivo formsweb.cfg detalla claramente para que sirve el mencionado parámetro, descripción que cito a continuación:
–>»Forms applet archive setting for other clients (Sun Java Plugin, Appletviewer, etc)»<–
Claro no?? jaja
Bueno, para mi el asunto está solucionado, espero que esta entrada haya sido de ayuda..
Saludos.
@Gabriel: ¡¡¡genial tu aporte!!! Muchas gracias por volver con la solución. He tenido el blog abandonado un par de semanas por el fin de año, pero ya veo que lo habéis sabido cuidar en mi ausencia 😉
Genial, millones de gracias a ambos
@Pablo: No hay problema por el aporte, y por el tema de dejar abandonado tu blog, yo ya he dejado el mío mucho más tiempo que un par de semanas, incluso escribí un artículo avisando que dejaría de atender mi bitácora, tantas ocupaciones que aveces se hace imposible estar en todos lados..
En fin, dejando de lado mis lamentos solo me resta decir: Felices Fiestas a todos..
Saludos..
Tengo una duda… abrí el código fuente que lanza las responsabilidades de la Oracle E-Business Suite 11.5.10.2, pero por ningún lado encontré la versión del «jpi», ¿dónde localizo la versión? Saludos.
Hola Pablo
Tratando de usar las aplicaciones de Oracle Forms en Linux, he logrado llegar al paso 7 que nos comentas pero enseguida me manda el error :
FRM-92050: Failed to connect to the Server: /forms90/l90servlet: -1
tendras alguna sugerencia para solucionar este problema
gracias de antemano.
Un monumento para tí y toda tu prole. Funciona de mil maravillas.
Gracias.
Estimao:
He dado con tu página, y he intentado lo que dice, pero sin suerte.
La aplicación de oracle requiere, e instala, el Java(TM) 2 Runtime Environment, Standard Edition Version 1.3.1.9.
He cumplido con los pasos de rigor, y editado el ~/.mozilla/firefox/6a335aap.defaultpluginreg.dat
Verificado en Iceweasel con about:plugins, el mismo ha sido convenientemente engañado:
Java(TM) Plug-in 1.3.1_09
application/x-java-applet;jpi-version=1.3.1.9
Pero el poncho no aparece…
La consola de Java da el siguiente error:
Java Plug-in 1.6.0_20
Usar versión JRE 1.6.0_20-b02 Java HotSpot(TM) 64-Bit Server VM
Directorio local del usuario = /home/javier
…..
cargar: clase oracle.forms.engine.Main no encontrada.
java.lang.ClassNotFoundException: oracle.forms.engine.Main
at sun.plugin2.applet.Applet2ClassLoader.findClass(Applet2ClassLoader.java:219)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Plugin2ClassLoader.java:532)
at sun.plugin2.applet.Plugin2Manager.createApplet(Plugin2Manager.java:2940)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Plugin2Manager.java:1444)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.net.ConnectException: Network is unreachable
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:529)
at sun.net.NetworkClient.doConnect(NetworkClient.java:161)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:394)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:529)
at sun.net.www.http.HttpClient.(HttpClient.java:233)
at sun.net.www.http.HttpClient.New(HttpClient.java:306)
at sun.net.www.http.HttpClient.New(HttpClient.java:323)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:860)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:801)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:726)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1049)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:373)
at sun.plugin2.applet.Applet2ClassLoader.getBytes(Applet2ClassLoader.java:535)
at sun.plugin2.applet.Applet2ClassLoader.access$000(Applet2ClassLoader.java:51)
at sun.plugin2.applet.Applet2ClassLoader$1.run(Applet2ClassLoader.java:192)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin2.applet.Applet2ClassLoader.findClass(Applet2ClassLoader.java:189)
… 6 more
Excepción: java.lang.ClassNotFoundException: oracle.forms.engine.Main
Como dice alguien por ahí arriba, si logro hacer funcionar esto, me saco de encima VirtualBox.
Gracias
Muy buen aporte, agrego mi granito de arena.
En Ubuntu 10.10 con Firefox 7.0.1 el archivo «pluginreg.dat» se encuentra en «.mozilla/firefox/jm2shh2h.default/»
Gracias.
@Carlos: esa ruta es específica de tu instalación (la parte de jm2shh2h), para el resto será ligeramente diferente, pero gracias por tu aporte 😉
¡Muchas Gracias!, hace años que estaba buscando esto. Genial. Gracias de nuevo.
Hola a todos:
Tengo un problema que no puedo resolver. En mi máquina tengo instalado el Oracle Discoverer 10.1.2 el cual corre con el Java 1.4.2_06, pero además tengo otra aplicación que corre con Java 1.6. Actualmente tengo que optar por usuar una de las dos aplicaciones, ya que si tengo instalado el Java 1.6, Discoverer no lo puedo abrir. Cómo puedo indicar que según la aplicación use una determinada versión de Java?
Muchas gracias!