Дисплей Xterm не отображается должным образом при выполнении Java-программы в Linux

Я столкнулся с одной проблемой при взаимодействии с Linux с использованием кода Java. Мне нужно выполнить java-программу в среде Linux, которая откроет xterm, и там будет показано выполнение.

Код, который я использую:

 try {
     Runtime r = Runtime.getRuntime();
     String myScript = "/usr/bin/ls";
     String[] cmdArray = {"xterm", "-e", myScript + " ; le_exec"};
     r.exec(cmdArray);
 } catch (InterruptedException ex){
   ex.printStackTrace();
 } catch (IOException ex) {
   ex.printStackTrace();
 }

XTERM открывается при запуске java-программы, но закрывается сам по себе, и я не могу видеть, что происходит для отображения в XTERM. Насколько я знаю, "; le_exec" используется для того, чтобы xterm оставался открытым, пока не будет нажата клавиша ввода.


person Abuzar    schedule 03.07.2014    source источник


Ответы (1)


Поместите $SHELL в конец вашего скрипта, чтобы предотвратить закрытие xterm после выполнения скрипта.

person sina72    schedule 03.07.2014
comment
спасибо, он работает нормально, однако меня интересует еще одна вещь: что будет cmd, который я передал в процессе выполнения, чтобы изменить свой путь и после этого выполнить cmd, например mkdir... Я знаю, что это возможно с помощью сценария оболочки, но Я не предпочитаю делать это только для операции mkdir. Есть ли какая-нибудь работа? - person Abuzar; 03.07.2014