MrBayes 3.2.6. Клавиши со стрелками в Linux не работают

Не уверен, что это лучшее место, чтобы просить об этом, но, поскольку другие вопросы MrBayes были также размещены здесь, я попробую.

Поэтому я пытаюсь запустить MrBayes в Arch Linux (4.4.1-2-ARCH), и программа работает нормально, но клавиши со стрелками не работают.

Вывод для клавиш со стрелками выглядит следующим образом:

MrBayes > ^[[A^[[C^[[B^[[D

В терминале (xterm и т. Д.) Клавиши со стрелками работают просто отлично.

Гуглить это ничего не получилось... Есть идеи, почему это происходит?

2 ответа

Решение

Чтобы исправить это поведение, установка rlwrap делает свое дело.
rlwrap преобразует escape-символы в их соответствующие действия, а также предоставляет историю. К сожалению, нет табуляции для каталогов.

Для Linux выполните MrBayes следующим образом:

$ rlwrap mb

или для версии MPI:

$ rlwrap mpirun -np x mb

где x - количество используемых процессоров / потоков.

Клавиши со стрелками почти на всех терминалах отправляют escape-последовательности. Если программа обрабатывает клавиши со стрелками, она делает это, замечая, что escape-символ читается, и отслеживает оставшуюся escape-последовательность.

Программа, которая не ожидает escape-последовательностей, обычно использует режимы ввода / вывода терминала по умолчанию, в которых драйвер терминала операционной системы обычно отображает escape-символ в виде ^[ (потому что на большинстве клавиатур вы можете набирать escape-символ таким образом).

Из вашего описания звучит так, как будто MyBayes не ожидает escape-последовательностей.

Вместо того чтобы использовать клавиши со стрелками для редактирования в командной строке, вы должны иметь возможность использовать символ возврата или удаления (удаления), который отправляет терминал.

Другие вопросы по тегам