From: rnayabed Date: Fri, 12 Feb 2021 15:56:33 +0530 Subject: work --- work --- --- 'a/pom.xml' +++ b/pom.xml @@ -73,6 +73,7 @@ ikonli-javafx ${IkonliVersion} + \ No newline at end of file --- 'a/src/main/java/com/stream_pi/util/comms/Message.java' +++ b/src/main/java/com/stream_pi/util/comms/Message.java @@ -8,14 +8,14 @@ public class Message implements Serializ private String[] stringArrValue; private String stringValue; - private byte[] byteArrValue; + private Byte[] byteArrValue; public Message(String header) { this.header = header; } - public void setByteArrValue(byte[] byteArrValue) + public void setByteArrValue(Byte[] byteArrValue) { this.byteArrValue = byteArrValue; } @@ -35,7 +35,7 @@ public class Message implements Serializ return header; } - public byte[] getByteArrValue() + public Byte[] getByteArrValue() { return byteArrValue; } --- 'a/src/main/java/com/stream_pi/util/startatboot/StartAtBoot.java' +++ b/src/main/java/com/stream_pi/util/startatboot/StartAtBoot.java @@ -39,7 +39,19 @@ public class StartAtBoot { if(platform == Platform.WINDOWS) createStarterForWindows(runnerFile); else if(platform == Platform.LINUX || platform == Platform.LINUX_RPI) - createStarterForLinux(runnerFile); + createStarterForLinux(runnerFile, true); + else if(platform == Platform.MAC) + createStarterForMac(runnerFile); + else if(platform == Platform.UNKNOWN) + unknownPlatformException(); + } + + public void create(File runnerFile, boolean isXMode) throws MinorException + { + if(platform == Platform.WINDOWS) + createStarterForWindows(runnerFile); + else if(platform == Platform.LINUX || platform == Platform.LINUX_RPI) + createStarterForLinux(runnerFile, isXMode); else if(platform == Platform.MAC) createStarterForMac(runnerFile); else if(platform == Platform.UNKNOWN) @@ -59,7 +71,7 @@ public class StartAtBoot { return false; } - private void createStarterForLinux(File runnerFile) throws MinorException + private void createStarterForLinux(File runnerFile, boolean isXMode) throws MinorException { try { @@ -74,14 +86,31 @@ public class StartAtBoot { FileWriter fw = new FileWriter(sysDServiceFile); BufferedWriter bw = new BufferedWriter(fw); - bw.write("[Unit]\n" + - "Description=Stream-Pi "+softwareType+"\n" + - "[Service]\n" + - "Type=oneshot\n" + - "WorkingDirectory="+runnerFile.getAbsoluteFile().getParent()+"\n" + - "ExecStart="+runnerFile.getAbsoluteFile().getParent()+"/"+runnerFile.getName()+"\n" + - "[Install]\n" + - "WantedBy=default.target\n"); + + if(isXMode) + { + bw.write("[Unit]\n" + + "Description=Stream-Pi "+softwareType+"\n" + + "[Service]\n" + + "Type=simple\n" + + "Environment=\"DISPLAY=:0\"\n" + + "WorkingDirectory="+runnerFile.getAbsoluteFile().getParent()+"\n" + + "ExecStart="+runnerFile.getAbsoluteFile().getParent()+"/"+runnerFile.getName()+"\n" + + "[Install]\n" + + "WantedBy=default.target\n"); + } + else + { + bw.write("[Unit]\n" + + "Description=Stream-Pi "+softwareType+"\n" + + "[Service]\n" + + "Type=oneshot\n" + + "WorkingDirectory="+runnerFile.getAbsoluteFile().getParent()+"\n" + + "ExecStart="+runnerFile.getAbsoluteFile().getParent()+"/"+runnerFile.getName()+"\n" + + "[Install]\n" + + "WantedBy=default.target\n"); + } + bw.close(); Runtime.getRuntime().exec("systemctl --user daemon-reload");