问题
我有一个用 Java 编写的应用程序。它旨在独立运行在 Linux 机器上。我正在尝试生成一个新的Firefox窗口。但是,Firefox永远不会打开。它的 shell 退出代码始终为 1。我可以使用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;
}
}