Странные символы появляются в консоли

385
Simon230

Я использовал консоль Linux, и внезапно формат букв изменился:

console linux with bad letter format

Я наверное нажал не на те клавиши. Есть идеи, как это исправить?

0
Добро пожаловать в Супер пользователя! Очевидно, у вас есть две учетные записи суперпользователя: [эта] (// superuser.com/users/920747) и [эта] (// superuser.com/users/920752). Пожалуйста, найдите время, чтобы воспользоваться [этим руководством Справочного центра] (// superuser.com/help/merging-accounts) и попросить сотрудников Super User объединить ваши учетные записи. robinCTS 5 лет назад 0

1 ответ на вопрос

1
Kamil Maciorowski

Такой мусор может быть следствием команды, которая выводит двоичные данные на вашу консоль. Обычно вы не хотите, чтобы команды делали это. Тем не менее, это возможно из-за ошибки или какой-то ошибки. Пример:

Вы хотели, cat fileгде fileэто текстовый файл, вы сделали опечатку и запустить, cat fildгде fildслучилось быть двоичным файлом.

В таком сценарии некоторые конкретные последовательности байтов могут интерпретироваться вашим эмулятором терминала как управляющие последовательности или около того, они будут влиять на его последующее поведение.

Чтобы исправить это:

  1. Нажмите Ctrl+ Cнесколько раз, если какой-то процесс все еще выполняется или в командной строке вы что-то набрали вслепую.
  2. Тип reset.
  3. Хит Enter.

От man 1 reset:

При вызове в качестве reset, tsetнаборы вареных и эхо режима, отключает CBREAK и сырые режимы, включается переводом символа новой строки и сбрасывает все неустановленные специальные символы на значения по умолчанию перед выполнением инициализации терминала, описанной выше. Это полезно после того, как программа умирает, оставляя терминал в ненормальном состоянии. Обратите внимание, вам, возможно, придется набрать

<LF>reset<LF> 

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

Таким образом, более надежная версия команды выглядит так:

  1. Типа Ctrl+ JresetCtrl+ J.

Мой опыт (особенно в tmux) показывает, что в некоторых случаях resetможет не помочь; все же это обычно делает.

Похожие вопросы