KDE просто использует средство отображения клавиатуры X-сервера (XKB). Это более сложно, чем это смотрит, и определенно более сложный, чем это должно быть. Вздох.
Быстрый и грязный ответ должен был бы объединить файлы в /usr/share/X11/xkb/symbols/gb
и /usr/share/X11/xkb/symbols/pl
в новый файл, но также необходимо предоставить информацию через XML для фронтендов (как KDE4), и необходимо было бы, вероятно, считать несколько сотен страниц документации.
Но Вы можете сходить с рук меньше: Вы видели это учебное руководство при создании гибрида de/pl контурная карта?
При установке сокета слушания можно выбрать, с каким локальным адресом он связывается. Это, покончили связывание (2) системный вызов. (Можно также принять решение связать его с 0.0.0.0, что означает, слушают на всех локальных адресах).
Вы сказали netcat слушать на localhost. Таким образом, это звонило, связывают (2) с 127.0.0.1 (или подобный) как адрес сокета. Таким образом, ядро связало сокет слушания только с тем адресом.
Когда запрос на установление соединения вошел к 192.168.44.182:20000, ядро посмотрело на список сокетов слушания и не нашло ни один. Таким образом, ядро отказалось от соединения.
Когда запрос войдет к 127.0.0.1:20000, ядро найдет сокет слушания и принятие (2), syscall скажет netcat об этом.
Чтобы иметь netcat слушают во всех интерфейсах, опускают хост: nc -l -p 20000
или альтернативно укажите 0.0.0.0: nc -l 0.0.0.0 -p 20000
. Можно также указать определенный IP-адрес, на котором Вы хотите, чтобы это послушало также (192.168.44.182), но затем конечно, nc localhost 20000
будет отклонен.
(Связывающий с localhost часто делается, когда Вы только хотите позволить соединения от той же машины, например, из соображений безопасности.)
Каждый сокет имеет 2 характеристики, связанные с ним. Адрес и порт. Сокет, слушающий в каждом интерфейсе на самом деле, слушает на адресе INADDR_ANY
, который является 0.0.0.0
, таким образом, так как Вы говорите сокету, что он слушает на 127.0.0.1
это проигнорирует все запросы к другим адресам машины.