Я пытался сделать приложение, действующее как клиент ssh / scp, чтобы упростить передачу файлов с моего ноутбука на мой рабочий стол, и в настоящее время я смог получить вывод команды ls и получить дерево файловдля хоста и удаленного пользователя, однако это требует ввода в терминал, с которым я запускаю приложение.
Можно ли встраивать окно терминала в графический интерфейс, поскольку я занимался созданием интерпретатора, однако такие вещи, как завершение табуляции и запуск, например, python3, не работают.Я также надеюсь полностью использовать терминал и иметь возможность запускать такие команды, как vim, а не просто выводить вывод команд, который у меня сейчас есть.
Мой код для выполнения команд:
public void processCmd(String command) {
if (command.equals("exit")) {
System.exit(0);
} else if (command != null && !command.isEmpty()) {
execCommand(command);
}
}
public void execCommand(String input) {
String result = null;
try {
Runtime r = Runtime.getRuntime();
Process p = r.exec(input);
BufferedReader in =
new BufferedReader(new InputStreamReader(p.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null) {
System.out.println(inputLine);
result += inputLine;
}
in.close();
} catch (IOException e) {
System.out.println("Error");
}
}
Основная проблема в том, что когда запускается что-то вроде python или vim, приложение зависает и ничего не делает, python даже не отображается в терминале, однако, если я запустлю vim, он изменитсяэкран терминала (не в приложении) в основном vim, но без нижней панели.