|
@@ -1,8 +1,10 @@
|
|
|
package com.taais.biz.controller;
|
|
|
|
|
|
import java.awt.*;
|
|
|
+import java.io.BufferedReader;
|
|
|
import java.io.File;
|
|
|
import java.io.IOException;
|
|
|
+import java.io.InputStreamReader;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
@@ -286,9 +288,30 @@ public class TargetIdentificationSubtaskDetailsController extends BaseController
|
|
|
public CommonResult<Void> openDir(String directory) throws IOException {
|
|
|
log.error("check dir: {}, {}", directory, profile + "/task" + directory);
|
|
|
//Desktop.getDesktop().open(new File(profile + "/task" + directory));
|
|
|
- String dir = profile + "/task" + directory;
|
|
|
- ProcessBuilder pb = new ProcessBuilder("nautilus", dir);
|
|
|
+
|
|
|
+ String dir = profile + "/task" + directory + "/";
|
|
|
+ String command = "sudo xdg-open " + dir;
|
|
|
+ Runtime.getRuntime().exec(command);
|
|
|
+ log.error("try open: {}", command);
|
|
|
+
|
|
|
+ ProcessBuilder pb = new ProcessBuilder("sudo", "xdg-open", dir);
|
|
|
Process p = pb.start();
|
|
|
+ // 读取错误流避免进程阻塞
|
|
|
+ try (BufferedReader errReader = new BufferedReader(new InputStreamReader(p.getErrorStream()))) {
|
|
|
+ String line;
|
|
|
+ while ((line = errReader.readLine()) != null) {
|
|
|
+ log.error("进程错误: {}", line);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ pb = new ProcessBuilder("xdg-open", dir);
|
|
|
+ p = pb.start();
|
|
|
+ // 读取错误流避免进程阻塞
|
|
|
+ try (BufferedReader errReader = new BufferedReader(new InputStreamReader(p.getErrorStream()))) {
|
|
|
+ String line;
|
|
|
+ while ((line = errReader.readLine()) != null) {
|
|
|
+ log.error("进程错误: {}", line);
|
|
|
+ }
|
|
|
+ }
|
|
|
return CommonResult.success();
|
|
|
}
|
|
|
|