Потому что этот необработанный режим является чем-то вроде приближения. Официального определения необработанного режима не существует, и на практике это означает разные вещи для разных API.
Они имели в виду, что такие оболочки, как bash
, реализующие собственный редактор строк, отключают некоторые функции линейной дисциплины tty. В частности, им необходимо отключить собственный линейный редактор линейной дисциплины (icanon
, также известный как-cbreak
)и локальный echo
. Они не отключают некоторые другие функции линейной дисциплины, такие как отправка SIGINT при настройке^C
(isig
).
stty -a
сообщает настройки отдельных дискретных клемм (, подобные icanon
, echo
, isig
выше ).
stty
также поддерживает несколько псевдонимов для установки более одной настройки одновременно, например sane
, cooked
или...raw
.
stty raw
отключает все функции дисциплины линии tty, кроме echo
. Таким образом, есть функции, которые он отключает (, такие как isig
), которые bash
не отключают для его построчного редактора, и он не отключает echo
, в то время как bash
делает это.
Руководство по реализации GNU stty
описывает raw
как эквивалент -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -icanon -opost -isig -iuclc -ixany -imaxbel -xcase min 1 time 0
. Это набор дискретных termios
настроек, которые stty raw
настраивают (, оставляя остальные в покое ).
Обратите внимание, что opost
не является псевдонимом stty
, это отдельная настройка дисциплины линии tty, но она влияет на все другие настройки обработки пост-вывода -, такие как onlcr
, olcuc
. Или, другими словами, onlcr
/ olcuc
неэффективны, если opost
не включено, что объясняет, почему stty raw
не отключает все эти функции обработки вывода.
Некоторые системы имеют cfmakeraw()
/ cfmakesane()
функции libc, которые также могут устанавливать более одного параметра одновременно. cfmakeraw()
GNU libc, по крайней мере, отличается от stty raw
GNU тем, что, например, он отключает echo
и не отключает iuclc
или ixoff
.
Если у вас есть конфигурация, почему бы вам просто не импортировать ее? Используйте команду nmcli connection import
. Из nmcli
документа по вашей первой ссылке
import [--temporary] [type type] [file file]
Import an external/foreign configuration as a NetworkManager connection profile. The type of the input file is specified by type option.
Only VPN configurations are supported at the moment. The configuration is imported by NetworkManager VPN plugins. type values are the same as for vpn-type option in nmcli connection add. VPN configurations are imported by VPN plugins. Therefore the proper VPN plugin has to be installed so that nmcli could import the data.
The imported connection profile will be saved as persistent unless --temporary option is specified, in which case the new profile won't exist after NetworkManager restart.