diff --git a/api/src/main/java/io/xpipe/api/connector/XPipeApiConnection.java b/api/src/main/java/io/xpipe/api/connector/XPipeApiConnection.java index 9f2168e4..12b75633 100644 --- a/api/src/main/java/io/xpipe/api/connector/XPipeApiConnection.java +++ b/api/src/main/java/io/xpipe/api/connector/XPipeApiConnection.java @@ -131,7 +131,7 @@ public final class XPipeApiConnection extends BeaconConnection { } private void start() throws Exception { - var installation = XPipeInstallation.getDefaultInstallationBasePath(); + var installation = XPipeInstallation.getLocalDefaultInstallationBasePath(); BeaconServer.start(installation); } diff --git a/beacon/src/main/java/io/xpipe/beacon/BeaconDaemonController.java b/beacon/src/main/java/io/xpipe/beacon/BeaconDaemonController.java index 078790a2..0ce23013 100644 --- a/beacon/src/main/java/io/xpipe/beacon/BeaconDaemonController.java +++ b/beacon/src/main/java/io/xpipe/beacon/BeaconDaemonController.java @@ -19,7 +19,7 @@ public class BeaconDaemonController { if ((process = BeaconServer.tryStartCustom()) != null) { custom = true; } else { - var defaultBase = XPipeInstallation.getDefaultInstallationBasePath(); + var defaultBase = XPipeInstallation.getLocalDefaultInstallationBasePath(); process = BeaconServer.start(defaultBase); } diff --git a/core/src/main/java/io/xpipe/core/util/XPipeInstallation.java b/core/src/main/java/io/xpipe/core/util/XPipeInstallation.java index 6a33439c..fbeb5728 100644 --- a/core/src/main/java/io/xpipe/core/util/XPipeInstallation.java +++ b/core/src/main/java/io/xpipe/core/util/XPipeInstallation.java @@ -1,7 +1,6 @@ package io.xpipe.core.util; import io.xpipe.core.impl.FileNames; -import io.xpipe.core.impl.LocalStore; import io.xpipe.core.process.CommandProcessControl; import io.xpipe.core.process.OsType; import io.xpipe.core.process.ProcessOutputException; @@ -65,10 +64,21 @@ public class XPipeInstallation { } } - public static String getDefaultInstallationBasePath() throws Exception { - try (ShellProcessControl pc = new LocalStore().create().start()) { - return getDefaultInstallationBasePath(pc, true); + public static String getLocalDefaultInstallationBasePath() { + var customHome = System.getenv("XPIPE_HOME"); + if (!customHome.isEmpty()) { + return customHome; } + + String path = null; + if (OsType.getLocal().equals(OsType.WINDOWS)) { + var base = System.getenv("LOCALAPPDATA"); + path = FileNames.join(base, "X-Pipe"); + } else { + path = "/opt/xpipe"; + } + + return path; } public static String getDefaultInstallationBasePath(ShellProcessControl p, boolean acceptPortable) throws Exception { diff --git a/misc/version b/misc/version index 62cd6db1..fc9e094b 100644 --- a/misc/version +++ b/misc/version @@ -1 +1 @@ -0.0.2.3 \ No newline at end of file +0.0.2.4-SNAPSHOT \ No newline at end of file