
Cuando intento usar el comando "ifconfig" en Bash en Ubuntu en Windows (WSL), me da un error como este: -
raíz@ejemplo:~#ifconfig
Advertencia: no se puede abrir /proc/net/dev (no existe tal archivo o directorio). Salida limitada.
Y cuando intento ejecutar "iwconfig": -
eth0 sin extensiones inalámbricas.
wifi0 sin extensiones inalámbricas.
No hay extensiones inalámbricas.
und0 sin extensiones inalámbricas.
und1 sin extensiones inalámbricas.
Esto me lleva a creer que no ha detectado los dispositivos de red, pero ¿cómo funciona Internet? Internet funciona bien, como lo he usado antes.apto-obtenerinstalar aplicaciones;
No soy un profesional de Linux, y mucho menos un profesional de WSL, entonces, ¿podría darme algún consejo sobre cómo superar este problema?
Respuesta1
WSL no ejecuta un kernel de Linux completo; solo traduce cada llamada al sistema individual a su variante de Windows. Por lo tanto WSL nonecesidad"detectar" dispositivos de la misma manera que lo haría Linux real, porque el propio Windows ya lo ha hecho.
Además, "detectar" un dispositivo no es lo mismo que exponer información sobre él. Los ficheros contenidos /proc/net
tienen únicamente finalidad informativa; no son necesarios para utilizar la red. Así que no es un gran problema si faltan.
Además,la mayoría de los programas de redNo me importasobre los dispositivos reales;sólo se ocupan de funciones de alto nivel (sockets BSD) y dejan que el sistema operativo se encargue de los detalles. Por lo tanto, siempre que WSL implemente funciones como socket()
y connect()
y sendto()
, es suficiente.
La situación iwconfig
es similar: los dispositivos inalámbricos estányagestionado por el propio Windows; WSL simplemente no sabe cómo traducir la información del enlace a programas de Linux, pero la mayoría de ellos no necesitan saberlo de todos modos.
Además, iwconfig
es una herramienta antigua que utiliza la API WEXT casi obsoleta. Sospecho que a los desarrolladores les importaría más crear herramientas modernas basadas en nl80211 comoiw
trabajar primero.
(Incluso muchos controladores de Linux ya no admiten WEXT directamente; solo lo emulan sobre nl80211).