Browserfenster öffnen sich von Java Programm
Frage
Ich habe eine Anwendung geschrieben in Java. Es wurde entwickelt, um laufen auf einer Linux-box, standalone. Ich bin versucht, um zu laichen eine neue firefox Fenster. Allerdings firefox nie öffnet. Es hat immer eine shell exit-code 1. Ich kann laufen, mit dem gleichen code mit gnome-terminal und es öffnet sich fein.
Hintergrund
So, hier ist der Initialisierungsprozess:
- Start X "Xorg -: 1 -br -Kündigung -dpms -ruhige vt7"
- Start Fenstermanager "metacity --display=:1 --replace"
- Ressourcen konfigurieren "xrdb -merge /etc/X11/Xresources"
- Zu einem Dämon und trennen Sie es vom controlling terminal
Sobald das Programm bis einer läuft, gibt es eine Schaltfläche, die der Benutzer klicken kann, der spawn sollte ein firefox-Fenster. Hier ist mein code, das zu tun. Denken Sie daran X läuft auf dem display :1.
Code
public boolean openBrowser()
{
try {
Process oProc = Runtime.getRuntime().exec( "/usr/bin/firefox --display=:1" );
int bExit = oProc.waitFor(); //This is always 1 for some reason
return true;
} catch ( Exception e ) {
oLogger.log( Level.WARNING, "Open Browser", e );
return false;
}
}
Ich denke, es fehlt etwas.
Du hast Recht. Irgendwie habe ich es gepostet, bevor ich fertig war mit der Eingabe. Es sollte dort in voller jetzt.
Du hast Recht. Irgendwie habe ich es gepostet, bevor ich fertig war mit der Eingabe. Es sollte dort in voller jetzt.
InformationsquelleAutor Ryan Ayers | 2008-10-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
nach dem Lesen der verschiedenen Antworten und verschiedene Kommentare(vom Fragesteller), hier ist was ich tun würde,
1) versuchen, diese java-Ansatz
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/ProcessBuilder.html
sehen Sie mehr über diese Klasse:
http://java.sun.com/developer/JDCTechTips/2005/tt0727.html#2
http://www.javabeat.net/tips/8-using-the-new-process-builder-class.html
2) versuchen Sie, dies zu tun(starten von firefox) aus C/C++/ruby/python und sehen, ob das ein Erfolg ist.
3) wenn alle Stricke reißen, würde ich starten Sie ein shell-Programm und das shell-Programm starten firefox!!!!
InformationsquelleAutor anjanb
Wenn können Sie eingrenzen, auf Java 6 verwenden, können Sie die desktop-API:
http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/desktop_api/
Sollte ungefähr so Aussehen:
InformationsquelleAutor James Van Huis
Verwenden BrowserLauncher.
Aufrufen, es ist sehr einfach, gehen Sie einfach
InformationsquelleAutor Zarkonnen
Haben Sie vielleicht mehr Glück, wenn Sie Lesen und anzeigen der standard-Ausgabe/error streams, so können Sie fangen keine Fehlermeldung firefox kann drucken.
InformationsquelleAutor JesperE
InformationsquelleAutor kta