Гениальность разработчиков просвещения продолжает меня удивлять. Очевидно, они подумали об этом и встроили его прямо в свою программу запуска приложений, средство поиска файлов, приложение для фокусировки окон.
Если вы запустите программу «Все» из просвещения, а затем наберете текст, который находится в одной из строк заголовка вашего открытого окна, он найдет окно и, если вы нажмете «Ввод», переключится на него.
Потрясающе!
Обратите внимание, что getaddrinfo()
вызывает DNS только в том случае, если nsswitch.conf
определяет его. Запись files
читается напрямую из /etc/hosts
.
По сути, функции "переключателя службы имен" (NSS )смотрят на /etc/nsswitch.conf
и затем могут динамически загружать подпрограммы "libnss". Так, например, у вас может быть /lib/x86_64-linux-gnu/libnss_files.so.2
, которая является библиотекой, загруженной, когда files
упоминается в nsswitch.conf
.
Для хостов строка nsswitch.conf
может выглядеть примерно так:
hosts: files dns
Это укажет преобразователю службы имен загрузить библиотеку «nss _files» (, которая будет искать в/etc/hosts
)и, если это не удастся, загрузить библиотеку «nss _dns». Это библиотека , которая обращается к DNS-серверу.
Для служб строка nsswitch.conf может выглядеть примерно так:
services: files ldap
Это загрузит библиотеку «nss _files» (, которая будет искать в /etc/services
), и если это не удастся, загрузит библиотеку «nss _ldap».
Существуют различные бэкэнды (файлы, db, ldap, nis,compat, dns... )и они определяют, как разрешаются имена.
Для записи inet
, такой как
service time
{
...
}
значение time
ищется в карте NSS для services
. Если files
используется в nsswitch.conf
, то он увидит строку
time 37/tcp timserver
, который указывает inetd
на привязку к TCP-порту 37.