Отключение мета-режима является частью ответа. xterm имеет более одной настраиваемой функции, связанной с этим. Часто задаваемые вопросы по ncurses. Alt-ключи не работают в bash . По сути, есть два понятия о том, что такое мета-режим :
- xterm и база данных терминала (terminfo) документируют использование мета-ключа в качестве своего рода модификатора сдвига, устанавливая восьмой бит входного байта. В руководстве xterm есть некоторые примечания по теме в разделе для ресурса eightBitInput . Руководство terminfo более лаконично:
Если терминал имеет «мета-ключ», который действует как клавиша Shift, устанавливая 8-й бит любого передаваемого символа, этот факт можно указать с помощью km. В противном случае программное обеспечение будет предполагать, что 8-й бит равен четности, и обычно он очищается. Если существуют строки для включения и выключения этого «мета-режима», они могут быть заданы как smm и rmm.
- bash говорит, что ожидает escape-символа для префикса символа, к которому применяется метаключ. (Нет никаких сведений о том, как Bash решил это, и что это был мета- ключ, но, по крайней мере, он восходит к началу 1990-х годов).
Таким образом, проблема в том, что xterm реализовал управляющую последовательность для включения / выключения мета-режима, и у bash были некоторые ожидания относительно того, что с ним делать. Странно то, что независимо от того, к чему был подготовлен терминал bash, не было замечено (это, конечно, не было xterm). Однако на тот случай, если bash когда-либо снова увидит этот терминал, он по умолчанию включит мета-режим для любого терминала, который его реализует.