Що означає помилка "Ігнорована XOFF, бурмотіти мряка"?


45

Намагаючись зберегти файл із Nano днями, мені надійшло повідомлення про помилку із повідомленням "XOFF проігноровано, бурмотіть бум". Я поняття не маю, що це повинно означати. Будь-які уявлення?


2
CTRL-Sпрацює (як файл збереження) в Ubuntu 18.04, але не в 16.04.
nobar

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, але лише в останніх версіях.
Timmmm

49

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

Nano ігнорує цей код, оскільки він не використовує прокрутку. Бурмотування, ймовірно, є наслідком його розчарування, що ви не пам'ятали використовувати Ctrl + O для збереження.


1
Я дав @Michael Kohne правильну відповідь, лише тому, що він був на кілька секунд швидшим за вас. Я думаю, я рефлекторно використав S замість О. Спасибі, хоча!
nathangiesbrecht
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.