2

Я был просто ssh 'в мой сервер (Ubuntu 10.04.2), и я запустил aptitude (в интерактивном режиме). После того, как я нажал один ключ (одну из букв, г я верю), она превратилась в это (не только SSH сессии, такое поведение продолжалось и после я прекратил ssh сессии):

Срок 1

Срок 2

Я могу восстановить соединение, и все будет хорошо, но когда я снова запускаю aptitude , возникает та же проблема (но, как ни странно, она содержится в пределах aptitude).

Кто-нибудь знает, что может происходить? Если это помогает, я запускаю screen с профилем byobu , мой $TERM - screen-bce , и я использую Terminal.app на 10.6.7.

3 ответа3

2

Вы можете использовать команду reset чтобы вернуть свой обычный терминал.

Что касается того, почему это происходит - каким-то образом ваш терминал получает двоичные данные, а не ASCII.

1

Я понимаю, что этой ветке уже почти год, но поскольку я сам столкнулся с этой проблемой после того, как использовал "cat" для отображения содержимого исполняемого файла в Apple Terminal.app, я полагаю, что эта ситуация может повлиять и на будущих пользователей.

В любом случае, насколько я могу судить, странные символы появляются после того, как ASCII-символ "сдвига" (десятичное 14, 0x0E) напечатан. (Ну, слово "напечатано" может не подходить, потому что, по крайней мере, для Terminal.app, это не печатный символ, но я надеюсь, вы понимаете, о чем я.) К счастью, терминал возвращается в нормальное состояние, если печатается символ сдвига ASCII (десятичное 15, 0x0F).

Другими словами, если кто-то написал программу на С, например ...

#include <stdio.h>
int main() {
   printf( "\x0F" );
   return 0;
}

Это должно вернуть все к норме. Возможно, есть еще более простой способ на другом языке или в оболочке bash, но, надеюсь, вы поняли идею.

По-видимому, это странное поведение - не ошибка, а скорее неясная (для меня, по крайней мере) особенность. Когда я искал информацию, я был направлен на ISO 2022, который, кажется, является основой для того, что делает терминал. Вот статья в Википедии по ISO/IEC 2022.

Я надеюсь, что этот пост был полезен теперь, когда загадка странных персонажей раскрыта.

0

Пункт меню

Терминал> Оболочка> Отправить Сброс

сбрасывает состояние терминала до значений по умолчанию, включая набор символов, что решает эту конкретную проблему.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .