Открывать удаленный терминал программно в окне "Затмение" и программно выполнять в нем команды оболочки
Используя приведенный ниже код для выполнения команд оболочки в удаленной оболочке, вы можете прочитать результаты команды:
IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event);
IStructuredSelection sel = (IStructuredSelection)window.getSelectionService().getSelection();
RemoteProcessImpl ele = (RemoteProcessImpl)sel.getFirstElement();
IHost conn = ele.getSystemConnection();
IRemoteCmdSubSystem cmdSS = RemoteCommandHelpers.getCmdSubSystem(conn);
Object[] obs = null;
RemoteOutput fe = null;
try {
cmdSS.checkIsConnected(null);
} catch (SystemMessageException e2) {
e2.printStackTrace();
}
try {
cmdSS.initializeSubSystem(null);
} catch (SystemMessageException e1) {
e1.printStackTrace();
}
RemoteCommandShell shell = null;
try {
shell = (RemoteCommandShell)cmdSS.getDefaultShell();
} catch (Exception e) {
e.printStackTrace();
}
shell.removeOutput();
cmdSS.sendCommandToShell("ls -l", shell, null);
Thread.sleep(1000);
obs = new Object[shell.getRoots().length];
obs = shell.getRoots();
for (int i = 0; i < obs.length; i++) {
fe = (RemoteOutput)obs[i];
String op1 = fe.getText();
System.out.println(op1);
}
command.setLength(0);
Но как мне сделать то же самое в удаленном терминале, который открывается в представлении терминалов?
Также выложили тот же вопрос на форуме затмения, но ответа нет.