0

我想在 LINUX 中打开默认 / 或 xterm(任何 Shell),我使用 ubuntu 12.xx 执行此操作,我可以调用 xterm shell,但是当我想设置它的路径时,它说:错误:无法exec /"path" : 没有权限如何设置 xterm 或我在 JAVA 中调用的任何 shell 的路径?

else  {
            String path = getCurrentFolderName().toString();
            //Runtime r = Runtime.getRuntime();

            String[] shellcom = {"xterm",  path };
            //r.exec(shellcom).waitFor();
            Process p ;
            ProcessBuilder builder = new ProcessBuilder();
            //builder.directory(new File(path));
            builder = new Process Builder(shellcom);                
            p = builder.start();

              }
    }
        catch (IOException e) {
            System.err.println(e.toString());
            e.printStackTrace();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } 
}
4

1 回答 1

0

您应该创建ProcessBuilder. 不是以前。

        String[] shellcom = {"xterm"};
        Process p ;
        //builder.directory(new File(path));        // not here.
        builder = new ProcessBuilder(shellcom);                
        builder.directory(new File(path));          // here.
        p = builder.start();

另请注意,您不应将路径添加到 strings 数组shellcom。如果这样做,路径将作为参数传递给 xterm,xterm 将假定它是一个应该执行的程序,从而导致错误xterm: Could not exec /your/path/here: Permission denied

于 2013-09-20T14:33:24.883 回答