JSch Esc命令和编码

时间:2015-04-30 15:32:19

标签: java linux ssh jsch

我正在编写一个应用程序,通过SSH连接到服务器,打开一个应用程序(它在shell上运行)并使用它。我正在使用JSch,我已经设法连接,打开应用程序并向其发送命令。现在我面临两个问题:

  1. 在Windows上我有应用程序的编码问题(在Linux上如果我使用IDE控制台输出来运行它我有同样的问题,它只在bash上显示)。这是一个screehshot:with wrong encoding这里是它应该显示的屏幕截图:with right encoding
  2. 我正在运行的应用程序,使用ESC键,我不能在我写的应用程序中使用它。它只是在输出上写^[ 以下是我用来执行此应用程序的代码:

    JSch shell = new JSch();
    Session session = shell.getSession("myUser", "myHost");
    session.setPassword("myPassword");
    session.setConfig("StrictHostKeyChecking", "no");
    session.connect();
    Channel channel = session.openChannel("shell");
    channel.setOutputStream(System.out);
    PipedInputStream in = new PipedInputStream();
    PipedOutputStream out = new PipedOutputStream(in);
    channel.setInputStream(in);
    channel.connect();
    out.write("my_application\n".getBytes());
    Thread.sleep(1000); //waiting for the app to load
    out.write("\n".getBytes());
    out.write("appUser\n".getBytes());
    out.write("appPassword\n".getBytes());
    channel.setInputStream(System.in);
    
  3. PS:服务器使用sh而不是bash。

0 个答案:

没有答案