Сетевой адаптер Ubuntu WiFi не найден

Преобразование ключа AltвEscape(ASCII 033,"\e")выполняется вашим эмулятором терминала, библиотека readline (, которая обрабатывает ~/.inputrc), не участвует в этом.

Проблема в том, что нет способа отправить фактические события клавиш в программу, работающую в терминале; терминал преобразует их в последовательности байтов, которые программа может прочитать с tty.

Для клавиши Alt/Meta есть два способа сделать это:

  1. Сопоставьте его с Escape (ASCII 033 / 0x1b)--нажатие Alt-Kфактически отправит "\ek",Alt-Shift-K"\eK"и т. д. Это значение по умолчанию в большинстве эмуляторов терминала, но обычно оно настраивается, и у вас есть все причины, чтобы сделать его по умолчанию, если это уже не так.

  2. Включите старший 7-й бит значения ASCII клавиши --. Нажатие Alt-Kфактически отправит байт 0x6b | 0x80 = 0xeb, где 0x6bявляется значением ASCII "k".

Именно последний распознается как "\M-k"в привязках readline.

И это не работает и ужасно нарушается с любыми многобайтовыми локалями, такими как en_US.UTF-8(, которые используются по умолчанию в большинстве современных систем ). В такой системе эмулятор терминала может не отправлять необработанный 0xebбайт (, который не является допустимой последовательностью UTF -8, а является двоичным мусором ), но может преобразовать его из ISO -8859 -. ] 1 в UTF -8, что приводит к отправке"\xc3\xab" = "ë"(eс диэрезисом )при нажатии Alt-K.

Но readline не знает, как сопоставить "ë"обратно с "\M-k", сколько бы вы ни возились с множеством опций, таких как convert-meta, enable-meta-key, input-metaи т. д.

И даже если бы вы могли это сделать, это все равно было бы сломано, потому что люди могут на самом деле захотеть ввести "ë"и "ó"и не оценят, что они обрабатываются как несвязанные ключи, такие как Alt-Kи Alt-S.

0
28.11.2020, 10:52
1 ответ

Наконец-то нашел исправление.

  • У меня оказалось несколько версий загрузочного образа ядра в каталоге /boot , поэтому я удалил текущую и использовал более раннюю версию для загрузки, а затем выполнил необходимые установки и обновления.

Я думаю, что я был причиной проблемы, потому что я помню, как случайным образом выбирал более легкие пакеты программного обеспечения для установки, когда программа обновления программного обеспечения выскочила во время моего последнего сеанса и каким-то образом что-то сломалось. Я просто пытался сохранить данные, потраченные на установки :)

.
0
18.03.2021, 22:46

Теги

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