質問
私はJavaで書かれたアプリケーションを持っています。Linux ボックス スタンドアロンで実行するように設計されています。新しいFirefoxウィンドウを生成しようとしています。ただし、firefoxは開きません。シェルの終了コードは常に 1 です。この同じコードをgnome-terminalで実行すると、正常に開きます。
バックグラウンド
したがって、ここにその初期化プロセスがあります:
- Start X "Xorg :1 -br -terminate -dpms -quiet vt7"
- ウィンドウマネージャを起動 "metacity --display=:1 --replace"
- リソースの構成「xrdb -merge /etc/X11/Xresources」
- デーモンになり、制御端末から切断します
プログラムが実行されると、ユーザーがクリックできるボタンが表示され、Firefox ウィンドウが生成されます。これを行うための私のコードは次のとおりです。X がディスプレイで実行されていることを思い出してください:1。
コード
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;
}
}