Я пишу программу, в которой пользователь должен выбрать сетевой интерфейс в Linux, как показано здесь:
Please select a network card:
1) enp2s0
2) wlan3
3) ppp2
До этого момента у меня не было проблем.
Однако Я бы хотел, чтобы пользователи видели больше «описательных» имен, как показано здесь:
Please select a network card:
1) PCI Ethernet (enp2s0)
2) Wireless LAN (wlan3)
3) Dial-up connection (ppp2)
Вопросы:
- Знает ли Linux такие описательные имена для сетевых интерфейсов на все?
- Если да: как я могу получить эти имена?
- Если нет: есть ли способ угадать удобное для пользователя имя из имени интерфейса с достаточно высокой надежностью?
Пример: "ppp *" => "Коммутируемое соединение"; "wl *" => "Беспроводная сеть"
Возможно в сочетании с кодом из /sys/class/net/.../type
? - Если да: Где я могу найти список возможных имен интерфейсов?
Я знаю, что рабочий стол Gnome отображает имена сетевых интерфейсов, например, "PCI Ethe rnet", в раскрывающемся меню состояния сети. Поэтому должен быть какой-то метод для получения «описательного» имени какого-либо сетевого интерфейса.