Подтверждаю. В моем случае с параметром «--port = nnn» ему (nullmailer) необходимо было явно указать параметр «smtp». ( в виде текста в / etc / nullmailer / remotes)
например my.relay smtp --port = 999
Даже если по умолчанию используется smtp.
Sigh.
См. Как работают ввод с клавиатуры и вывод текста? для обзора темы. Это зависит от того, работает ли приложение в терминале или напрямую обращается к среде графического интерфейса.
В терминале программное обеспечение терминала (обычно это эмулятор терминала в этом столетии) определяет кодировку символов. Он передает кодировку символов (одинаковую для ввода и вывода) путем установки переменной среды locale LC_CTYPE
. Если эта переменная не задана или установлена на C
, терминал не предоставляет никакой информации, поэтому приложение не может знать, какая кодировка. В терминале символы отправляются в приложение как символы; несимвольный ввод (функциональные клавиши, клавиши курсора, клавиши с модификаторами, такие как Alt и т. д.) отправляется как escape-последовательности (некоторые из них как управляющие символы вместо этого).
Приложения X11 получают ввод в виде KeyPress envents . События KeyPresss содержат индикацию низкого уровня ( код клавиши
, который примерно соответствует физическому расположению клавиши, и состояние
, которое кодирует активные модификаторы). Приложение может вызывать такую функцию, как XLookupString
(традиционная функция, ограниченная Latin-1) или XmbLookupString
(функция, поддерживающая другие юнибайтные кодировки) или XwcLookupString
(функция поддержка многобайтовых кодировок) или Xutf8LookupString
(современная функция UTF-8) для преобразования этой необработанной информации в символьную строку.
Отображение клавиш и символов может быть изменено на различных уровнях; Как работают ввод с клавиатуры и вывод текста? В есть обзор.
Клавиатура не отправляет символы; он отправляет коды сканирования. Например, когда вы нажимаете клавишу с надписью «e» на типичной американской клавиатуре, она отправляет скан-код, который, по сути, говорит: «3-я клавиша слева во 2-м ряду буквенно-цифровых клавиш в основной группе». Этот скан-код преобразуется в символ (или, в общем, в символ ключа, подумайте о таких ключах, как «Print Screen») ядром (или каким-либо другим компонентом операционной системы) и, особенно в Linux, возможно, графическим подсистема.
Обычно операционная система или графическая подсистема предоставляют одну или несколько утилит, которые управляют таблицами преобразования; например, как в Windows, так и в Linux вы можете установить любое количество раскладок клавиатуры и легко переключаться между ними.
То, что получает приложение, зависит от соглашений операционной системы. В Windows консольные приложения получают символы, закодированные в соответствии с текущей кодовой страницей консоли, установленной командой chcp
; графические приложения получают ключевой символ, который обычно переводится в кодированный символ UTF-16. В Linux приложения обычно получают символы в кодировке UTF-8. Например, если я нажму клавишу с меткой ă
(СТРОЧНАЯ ЛАТИНСКАЯ БУКВА A С BREVE, U + 0103) с правильной раскладкой клавиатуры,
chcp 1250
получит один байт '\ xE3'
(227 в десятичной системе). chcp 852
получит один байт '\ xC7'
(199 десятичных знаков). '\ x03'
'\ x01'
(или как короткое целое число 0x103
). '\ xC4'
'\ x83'
( в кодировке UTF-8). '\ xC4'
'\ x83'
( в UTF -8 кодировка).(Обратите внимание, что под Windows я имею в виду Windows NT и ее преемники, такие как Windows XP, Windows Vista, 7 или 10. Windows 95 и т. Д. Представляют собой совершенно другую линию операционных систем, к счастью, больше не используемые.)
В Vim вы получаете два новых уровня перевода:
Вы можете установить карту перевода клавиатуры с набором раскладки клавиатуры
; см. : help 'keymap'
и : help mbyte-keymap
. Это помогает вводить текст на желаемом языке в системах, где вы не можете установить раскладку клавиатуры на уровне операционной системы.
Вы можете определить отображение с помощью команды : map
. См. : help: map
.