I2P Address: [http://git.idk.i2p]

Skip to content
Snippets Groups Projects
Commit f97402b1 authored by mathiasdm's avatar mathiasdm
Browse files

merge of 'a6e9aa4eede6931f8bd627a7b6feb3902c8b5113'

     and 'd8b436ffeb6b54ba576de5b3caea5f713efdedee'
parents dd2c5067 44715673
No related branches found
No related tags found
No related merge requests found
......@@ -55,19 +55,14 @@ public class Main {
* Main method launching the application.
*/
public static void beginStartup(String[] args) {
boolean wasHeadless = Boolean.valueOf(System.getProperty("java.awt.headless")).booleanValue();
if(wasHeadless) {
System.setProperty("java.awt.headless", "false");
}
boolean headless_check = true;
try {
// X permissions error is a java.lang.InternalError (a Throwable)
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
headless_check = ge.isHeadlessInstance();
} catch (Throwable t) {}
if (wasHeadless)
System.setProperty("java.awt.headless", "true");
if (headless_check) {
String headless = RouterManager.getRouterContext().getProperty("router.isHeadless");
boolean isHeadless = Boolean.parseBoolean(headless);
if(isHeadless) {
return;
}
}
catch(Exception e) {
return;
}
try {
......
package net.i2p.router.web;
import java.util.ArrayList;
import java.awt.GraphicsEnvironment;
import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
......@@ -54,10 +55,51 @@ public class RouterConsoleRunner {
private static final String DEFAULT_WEBAPPS_DIR = "./webapps/";
private static final String USAGE = "Bad RouterConsoleRunner arguments, check clientApp.0.args in your clients.config file! " +
"Usage: [[port host[,host]] [-s sslPort [host[,host]]] [webAppsDir]]";
private static final String PROP_HEADLESS = "router.isHeadless";
static {
System.setProperty("org.mortbay.http.Version.paranoid", "true");
System.setProperty("java.awt.headless", "true");
//Check if we are in a headless environment, set properties accordingly
List<RouterContext> contexts = RouterContext.listContexts();
if(contexts != null && contexts.size() > 0) {
RouterContext context = contexts.get(0);
String headless = context.getProperty(PROP_HEADLESS);
if(headless == null) {
/*
* Let's check if we are in a headless environment.
* We do this by setting headless to false
* and trying to get the graphics environment.
* If this fails, we should be headless.
*/
System.setProperty("java.awt.headless", "false");
try {
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
ge.isHeadlessInstance();
context.setProperty(PROP_HEADLESS, "false");
}
catch(InternalError e) {
context.setProperty(PROP_HEADLESS, "true");
}
context.router().setConfigSetting(PROP_HEADLESS, context.getProperty(PROP_HEADLESS));
context.router().saveConfig();
context.router().shutdown(0);
}
boolean isHeadless = true;
try {
isHeadless = Boolean.parseBoolean(headless);
}
catch(Exception e) {
//Incorrect setting, let's choose headless for safety
isHeadless = true;
}
if(isHeadless) {
System.setProperty("java.awt.headless", "true");
}
else {
System.setProperty("java.awt.headless", "false");
}
}
}
/**
......
......@@ -97,6 +97,7 @@
</target>
<target name="buildDesktopGui" depends="buildCore, buildrouter" >
<ant dir="apps/desktopgui" target="clean" />
<ant dir="apps/desktopgui" target="jar" />
</target>
......
2011-02-11 Mathiasdm
* routerconsole: fixed graphs using jrobin; and headless issue
in general: no more switches between headless and non-headless.
2011-02-11 sponge
* I2PTunnel: fix NPE in I2PTunnelConnectClient
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment