Что означает ошибка «XOFF игнорируется, бормотать»?

45

При попытке сохранить файл из Nano на днях я получил сообщение об ошибке «XOFF игнорируется, бормотание бормотание». Я понятия не имею, что это должно означать. Есть идеи?

nathangiesbrecht
источник
2
CTRL-Sработает (как файл сохранения) в Ubuntu 18.04, но не в 16.04.
Нобар
1
Хорошо поймал! Похоже, это было добавлено в v2.9.0!
nathangiesbrecht

Ответы:

36

Вы набрали символ XOFF Ctrl-S. В традиционной среде терминала XOFF заставляет терминал приостанавливать вывод, пока вы не введете символ XON.

Nano игнорирует это, потому что Nano является полноэкранным редактором, и приостановка его вывода - в значительной степени бессмысленная концепция.

Относительно того, почему формулировка такая, какая есть, вам нужно спросить оригинальных разработчиков.

Майкл Кохне
источник
приостановка его вывода не является бессмысленной, если вы используете «управление потоком программного обеспечения» с главного компьютера на физическом терминале и используете xoff для предотвращения переполнения буфера при перерисовке экрана (переход по страницам вниз и т. д.). Но обычно это обрабатывается на стороне хоста, а не на стороне пользователя.
Wyatt8740
По иронии судьбы, я в основном использую CTRL-X для сохранения и выхода за один раз, и это всегда заставляет меня путать биты X и XOFF.
aalaap
13
Я верю, что «бормотание» - это мягкая шутка для пользователей Windows, где CTRL+Sнаходится горячая клавиша сохранения. Добро пожаловать в Unix
DarkCygnus
Ctrl-S также сохраняется в Nano, но только в последних версиях.
Тимммм
49

Вы нажали Ctrl + S вместо Ctrl + O, чтобы сохранить файл. Ctrl + S - это старая комбинация клавиш управления потоком, чтобы приостановить передачу и прекратить прокрутку данных на терминал (внутренне отправленный код называется XOFF). Ctrl + Q (XON) - дополнение для начала передачи и возобновления прокрутки.

Nano игнорирует этот код, поскольку не использует прокрутку. Бормотание, вероятно, является результатом его разочарования, что вы не помните, чтобы использовать Ctrl + O для сохранения.

depquid
источник
1
Я дал @Michael Kohne правильный ответ, только потому, что он был на несколько секунд быстрее вас. Я думаю, что я рефлексивно использовал S вместо O. Спасибо, хотя!
nathangiesbrecht