Используя Xterm с Java

Во -первых, я нашел много вопросов о xterm и java, но ни один вопрос не решает мою проблему напрямую.

В чем моя проблема? Я хочу запустить терминал xterm из Java и отправить команды этому терминалу. Сначала я просто хочу изменить каталог, но он не работает. Но важно, что я не знаю всех команд в начале программы, поэтому рекомендуется отправлять команды терминалу во время выполнения.

Вот мой код:

String[] command= {"xterm"}; 
    Runtime rt = Runtime.getRuntime();  
    Process pr = rt.exec(command);

    Thread.sleep(2000);

    BufferedReader in = new BufferedReader(new InputStreamReader(pr.getInputStream()));
    ReadThread input = new ReadThread(in);
    input.start();

    BufferedReader error = new BufferedReader(new InputStreamReader(pr.getErrorStream()));
    ReadThread inputError = new ReadThread(error);
    inputError.start();

    PrintWriter printWriter = new PrintWriter(new BufferedWriter(new OutputStreamWriter(pr.getOutputStream())),true);
    printWriter.println("cd /home/***/sipp/sipp-3.3\n");
    Thread.sleep(2000);

    input.die();
    inputError.die();
    printWriter.close();
    error.close();
    in.close();
    pr.destroy();

Я думал, что терминал откроется (он это делает) и изменит каталог на sipp-3.3 через 2 секунды. Еще через 2 секунды xterm должен закрыться (это происходит). Но в чем проблема, что моя команда не работает? И, пожалуйста, я не хочу найти решение, как

String [] gggg = {"xterm", "-c", "multiple commands, with |, &&, ; etc"};
rt.exec(gggg);

Потому что с таким решением я не могу отправлять дальнейшие команды на терминал. Спасибо заранее!

0 ответов

Другие вопросы по тегам