diff --git a/src/gmc_con.erl b/src/gmc_con.erl index a562d88..3a90294 100644 --- a/src/gmc_con.erl +++ b/src/gmc_con.erl @@ -375,9 +375,19 @@ win_mem() -> do_gajudesk() -> ok = log(info, "Running gajudesk"), - Command = "zx run gajudesk", + GajuDesk = "zx run gajudesk", + Command = + case os:type() of + {unix, _} -> + "setsid sh -c 'exec nohup " ++ GajuDesk ++ " >/dev/null 2>&1' &"; + {win32, nt} -> + "wscript //B //Nologo " + "-e:VBScript " + "-c:\"CreateObject(\"WScript.Shell\").Run \"\"" + " \"" ++ GajuDesk ++ "\", 0, False\"" + end, Out = os:cmd(Command), - log(info, "os:cmd(~w) -> ~w", [Command, Out]). + log(info, "os:cmd(~s) -> ~s", [Command, Out]). run_gmc_conf(State = #s{gmc_conf = none, network = Net, acc = Acc, keys = Keys,