问题
我有一个用Java编写的应用程序。它设计为在Linux系统上独立运行。我试图生成一个新的firefox窗口,但是firefox从未打开过。它总是具有退出代码1的shell。我可以使用gnome-terminal运行相同的代码,并且它可以正常打开。
背景
所以,这是它的初始化过程:
- 启动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;
}
}