Co oznacza błąd „XOFF zignorowany, bełkot”?

45

Podczas próby zapisania pliku poza Nano otrzymałem komunikat o błędzie: „XOFF zignorowano, mamroczę mamroczę”. Nie mam pojęcia, co to znaczy. Jakieś spostrzeżenia?

nathangiesbrecht
źródło
2
CTRL-Sdziała (jako plik zapisu) w Ubuntu 18.04, ale nie w 16.04.
nobar
1
Dobry chwyt! Wygląda na to, że został dodany w wersji 2.9.0!
nathangiesbrecht

Odpowiedzi:

36

Wpisałeś XOFF Ctrl-S. W tradycyjnym środowisku terminala XOFF powoduje, że terminal wstrzymuje wyświetlanie, dopóki nie wpiszesz znaku XON.

Nano ignoruje to, ponieważ Nano jest edytorem pełnoekranowym, a wstrzymanie jego wyświetlania jest niemal nonsensownym pomysłem.

Jeśli chodzi o to, dlaczego jest to sformułowanie, musiałbyś zapytać oryginalnych twórców.

Michael Kohne
źródło
wstrzymywanie jego wyświetlania nie jest nonsensowne, jeśli używasz „oprogramowania do kontroli przepływu” z komputera hosta na fizycznym terminalu i używasz xoff, aby zapobiec przepełnieniu bufora podczas przerysowywania ekranu (przewijanie w dół itp.). Ale zazwyczaj jest to obsługiwane po stronie hosta, a nie po stronie użytkownika, jak sądzę.
Wyatt8740
Jak na ironię, używam CTRL-X do zapisywania i wychodzenia za jednym razem, a to zawsze powoduje, że mylę bity X i XOFF.
aalaap
13
Uważam, że „mamrocze mamrocze” to miękki dowcip dla użytkowników systemu Windows, gdzie CTRL+Sjest klawisz skrótu do zapisywania. Witamy w Unix
DarkCygnus,
Ctrl-S jest również zapisywany w Nano, ale tylko w najnowszych wersjach.
Timmmm
49

Nacisnąłeś Ctrl + S zamiast Ctrl + O, aby zapisać plik. Ctrl + S to stara kombinacja klawiszy sterowania przepływem, aby wstrzymać transmisję i zatrzymać przewijanie danych do terminala (wewnętrznie wysyłany kod nazywa się XOFF). Ctrl + Q (XON) stanowi uzupełnienie rozpoczęcia transmisji i wznowienia przewijania.

Nano ignoruje ten kod, ponieważ nie używa przewijania. Mruczenie jest prawdopodobnie wynikiem frustracji, której nie pamiętałeś, aby użyć Ctrl + O do zapisania.

depquid
źródło
1
Udzieliłem @Michaelowi Kohne poprawnej odpowiedzi, tylko dlatego, że był kilka sekund szybszy od ciebie. Chyba odruchowo użyłem S zamiast O. Jednak dzięki!
nathangiesbrecht