Откройте Xterm из Java и выполняйте команды в интерактивном режиме.Linux

Ответить
Anonymous
 Откройте Xterm из Java и выполняйте команды в интерактивном режиме.

Сообщение Anonymous »

Мне нужно запустить xterm из моего Java-приложения и отправить ему команду.
Этот xterm нужно открыть на некоторое время и запускать на нем команды по требованию. Прочтите выходные данные - это еще один вариант использования.
Когда я проверяю решение, все предлагают это: [https://stackoverflow.com/questions/15356405/how- выполнить-команду-на-терминале-из-java-программы?noredirect=1&lq=1]
Но мое требование немного другое.

Код: Выделить всё

String[] command= {"/bin/bash", "-c", "xterm"};
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec(command);
BufferedReader in = new BufferedReader(new InputStreamReader(pr.getInputStream()));
ReadThread input = new ReadThread(in);
input.start();

PrintWriter printWriter = new PrintWriter(new BufferedWriter(new
OutputStreamWriter(pr.getOutputStream())),true);
WriteThread writeThread= new WriteThread(printWriter);

// This 'writeThread' thread send commands based on some event like below
// printWriter.println("ls -a\n");
Чтение потока, фактически читающего из процесса, запустившего xterm, а не непосредственно из xterm. Прочитанное сообщение выглядит примерно так: «Stdout: Предупреждение: попыталась подключиться к диспетчеру сеансов, не удалось открыть сетевой сокет».
Существует и еще одна проблема.
Как я могу это сделать? напрямую общаться с запущенным Xterm из Java.
Я также пытался использовать '-into', чтобы добавить xterm в собственное окно Java. Это делает xterm неинтерактивным.

Подробнее здесь: https://stackoverflow.com/questions/792 ... eractively
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»