Как отправить горячие клавиши через SSH в OMXPlayer с помощью JSch?

Я хочу иметь возможность воспроизводить видео на своем Raspberry Pi и управлять им с телефона. Изучив это, я решил использовать SSH-соединение, а затем воспроизвести видео по ссылке с помощью OMXPlayer. Сначала я использовал канал session.openChannel("exec"); для отправки команды, которая выглядела бы как omxplayer '[link]'. Однако, осмотревшись, я обнаружил, что канал exec может реально выполнять только одну команду или цепочку команд, как показано здесь это не подходит, так как мне нужно иметь возможность сделать паузу в любое время. Поэтому вместо этого я использовал канал shell. В качестве теста я просто использовал потоки ввода и вывода по умолчанию.

Примечание. Я использую JSch для SSH.

try {

        JSch jsch = new JSch();
        Session sesh = jsch.getSession("pi", "***.***.***.***", 22);
        java.util.Properties config = new java.util.Properties(); 
        config.put("StrictHostKeyChecking", "no");
        sesh.setConfig(config);
        sesh.setPassword("*");
        sesh.connect(3000);
        Channel chan = sesh.openChannel("shell");

        chan.setInputStream(System.in);
        chan.setOutputStream(System.out);
        chan.connect(3000);
    } catch(Exception e) {

        e.printStackTrace();
    } 

Этот код открывает полуфункциональную оболочку, которую я могу использовать для выполнения команды, и видео воспроизводится, однако горячие клавиши (пробел = воспроизведение/пауза, q = выход, стрелка влево = поиск назад, стрелка вправо = поиск вперед) делают не работает. Я пытался просто нажать клавишу, как в обычной оболочке, и нажать клавишу и ввести только в качестве теста, но ни один из них не работал. Итак, вопрос: кто-нибудь знает, как заставить горячие клавиши работать в канале оболочки? Или кто-нибудь знает, как заставить горячие клавиши работать с exec-каналом так, как мне нужно, с JCH?

Любая помощь приветствуется.


person Dan13_    schedule 06.04.2017    source источник
comment
Кроме того, вам действительно следует использовать канал exec, так как вы выполняете только одну команду, файл omxplayer. Вам не нужна оболочка для этого.   -  person Martin Prikryl    schedule 06.04.2017
comment
Убедитесь, что вы понимаете, что теряете защиту от MITM-атак, с помощью StrictHostKeyChecking=no.   -  person Martin Prikryl    schedule 06.04.2017
comment
@MartinPrikryl хорошо, я не знал, считаются ли последующие действия командами или нет.   -  person Dan13_    schedule 06.04.2017
comment
Для сервера OpenSSH команда — это только то, что вы вводите в командной строке.   -  person Martin Prikryl    schedule 06.04.2017
comment
Если мой другой ответ помог вам, рассмотрите возможность его голосования.   -  person Martin Prikryl    schedule 06.04.2017