private Terminal newTerminalInstance(String terminalType, InputStream is, OutputStream os) throws IOException { return TerminalBuilder.builder() .system(false) .type(terminalType) .streams(is, os) .build(); }
@Override public void run() { Terminal terminal; try (ByteArrayOutputStream baos = new ByteArrayOutputStream(); PrintStream ps = new PrintStream(baos, true, "utf-8")) { terminal = TerminalBuilder.builder().system(false).type(terminalType).streams(is, os).build(); DefaultResultHandler resultHandler = new DefaultResultHandler(); resultHandler.setTerminal(terminal); shellBanner.printBanner(environment, this.getClass(), ps); resultHandler.handleResult(new String(baos.toByteArray(), StandardCharsets.UTF_8)); resultHandler.handleResult("Please type `help` to see available commands"); LineReader reader = LineReaderBuilder.builder().terminal(terminal).completer(completerAdapter).build(); InputProvider inputProvider = new InteractiveShellApplicationRunner.JLineInputProvider(reader, promptProvider); THREAD_CONTEXT.set(new SshContext(terminal, ec, sshThread)); if (terminalDelegate instanceof SshShellTerminalDelegate) { ((SshShellTerminalDelegate) terminalDelegate).setDelegate(terminal); } shell.run(inputProvider); quit(0); } catch (IOException | RuntimeException e) { // log ex quit(1); } }
Terminal terminal = TerminalBuilder.builder() .name("JLine SSH") .type(env.getEnv().get("TERM")) .system(false) .streams(in, out)
Terminal terminal = TerminalBuilder.builder() .name("JLine SSH") .type(env.getEnv().get("TERM")) .system(false) .streams(in, out)
try (ByteArrayOutputStream baos = new ByteArrayOutputStream(); PrintStream ps = new PrintStream(baos, true, StandardCharsets.UTF_8.name()); Terminal terminal = TerminalBuilder.builder().system(false).size(size).type(sshEnv.getEnv().get("TERM")).streams(is, os).build()) {
.type(type) .signalHandler(Terminal.SignalHandler.SIG_IGN) .build()) {
.type(type) .signalHandler(Terminal.SignalHandler.SIG_IGN) .build()) {