8 puntos por GN⁺ 2025-03-31 | 10 comentarios | Compartir por WhatsApp

> "Hay que hacer que una distribución de Linux se parezca a Windows."

  • Este texto propone crear una distribución de Linux capaz de ejecutar archivos ejecutables de Windows mediante Wine por defecto para resolver los problemas de portabilidad y distribución del Linux actual
  • Con esto, los usuarios de Windows podrían cambiarse fácilmente a Linux casi sin aprendizaje previo, y también sería posible resolver de paso los viejos problemas de compatibilidad de Linux

La inestabilidad del entorno Linux

  • Mientras que en Windows todavía es posible ejecutar archivos .exe de hace 20 años, en Linux incluso un binario de hace 1 año puede no ejecutarse
  • Esto se debe a que las diferencias de versión de bibliotecas y las actualizaciones de Linux hacen que un mismo ejecutable deje de funcionar en distintas distribuciones
  • Las system calls de Linux son estables, pero la biblioteca C (libc) que se monta sobre ellas es inestable, y la mayor parte del espacio de usuario depende de ella

El problema de distribuir binarios en Linux

  • En Linux existen nada menos que cuatro métodos principales para distribuir archivos ejecutables, y cada uno tiene sus propios problemas
    • Binario puro: no funciona en la mayoría de los entornos
    • AppImage: incluye todas las dependencias, pero su preservación perfecta a largo plazo es incierta
    • Flatpak: ofrece un sandbox por aplicación
    • Snap: otro gestor de paquetes basado en sandbox
  • Todos ellos tienen formas distintas de instalación, actualización y eliminación, y pueden coexistir al mismo tiempo
  • La mayoría no es adecuada para la preservación a largo plazo ni para volver a ejecutar apps en el futuro, y la posibilidad de que sigan ejecutándose dentro de 20 años es casi nula

Por qué Win32 es la solución

  • El Win32 API de Windows es considerado la única ABI (Application Binary Interface) estable en Linux
  • Windows no hace system calls directas, sino que llama a través de bibliotecas dinámicas, manteniendo así la estabilidad de su API
  • Gracias a esta estructura, Microsoft puede modificar internamente el kernel y aun así ofrecer a los usuarios la misma interfaz
  • En cambio, Linux hace llamadas directas al sistema y sus bibliotecas son inestables, por lo que los problemas de compatibilidad persisten
  • Wine implementa esta estructura de Win32, permitiendo ejecutar incluso aplicaciones de la época de Windows 95 en los años 90
  • En particular, si solo se usan aplicaciones basadas en Win32, casi no hay diferencia de compatibilidad entre Wine y Windows

Idea para una nueva distribución de Linux

  • Se propone crear una distribución de Linux con un entorno de escritorio similar a Windows
  • Esta distribución tendría Wine instalado por defecto y, mediante un pequeño parche al kernel, podría reconocer y ejecutar automáticamente archivos ejecutables de Windows
  • Se configuraría un entorno Wine (prefix) por usuario, y ofrecería un sistema de archivos y una GUI al estilo Windows
  • El entorno Linux tradicional también se mantendría en segundo plano y quedaría accesible para usuarios avanzados

Verdadero soporte multiplataforma

  • Wine puede ejecutarse no solo en Linux, sino también en FreeBSD, macOS, Android y otros sistemas operativos
  • Si todas las aplicaciones se distribuyen únicamente como apps Win32, podrían ejecutarse en múltiples plataformas sin necesidad de ports adicionales
  • Es una estructura que permite asegurar compatibilidad con varios sistemas operativos a partir de una sola aplicación

Amenazas futuras

  • macOS y Windows avanzan cada vez más hacia un modelo cerrado, quitándoles a los usuarios el control sobre sus propios equipos
    • Windows está agregando funciones de capturas de pantalla automáticas y análisis con IA
    • macOS restringe la ejecución a apps aprobadas mediante Gatekeeper
  • Ambos sistemas operativos vigilan la actividad del usuario e incluso preparan funciones para buscar y reportar archivos ilegales
  • Microsoft está haciendo cada vez más difícil usar Windows sin una cuenta en línea
  • Esto podría llevar a una situación en la que, si se suspende la cuenta, ni siquiera se pueda usar la computadora

> Esta tendencia se interpreta no tanto como algo malicioso, sino como un problema generado por presiones económicas y políticas

Por qué empaquetar Linux como si fuera Windows

  • La nueva distribución de Linux resolvería el problema de portabilidad y ofrecería a los usuarios de Windows un entorno de transición familiar
  • En un momento en que se fuerza la actualización a Windows 11, podría ofrecerse una alternativa fácil de adoptar
  • El argumento es que ahora mismo es el momento ideal para imaginar una distribución de Linux que devuelva la soberanía al usuario

10 comentarios

 
roxie 2025-04-02

Es comprensible asentir ante un ecosistema que ha resistido 20 años, pero ¿por qué al final termina siendo wine..

 
yfkim97 2025-04-02

Parece que macOS ya no se podrá usar más.

 
labeldock 2025-04-01

No es que quiera verlo de forma crítica, pero como alguien que ha usado varios sistemas operativos, la verdad no me genera mucha empatía. Hoy en día, la mayoría de las herramientas con GUI se pueden usar en la web, y si necesitas un buen escritorio, sería mejor hacerlo en Windows, que tiene una interfaz bonita; además, el soporte de drivers también es mucho mejor en Windows.

 
alucardkang 2025-03-31

Se supone que debería ser Steam...

 
prunusnira 2025-03-31

Tmax Windows... Lindows/Linspire... ReactOS... ugh, me duele la cabeza...
Parece que Valve Proton de verdad está haciendo algo grande

 
aer0700 2025-03-31

Parece una propuesta bastante ingeniosa.

 
kwj9211 2025-03-31

¿No sería mejor simplemente hacer ajustes para que los juegos y el software de primer nivel funcionen bien?

...¿o no debería pensarlo así? jajaja

 
kandk 2025-03-31

Ojalá llegue una época en la que se pueda jugar sin necesitar una PC con Windows 11 o superior, snif snif.

 
GN⁺ 2025-03-31
Opiniones de Hacker News
  • Hay quienes proponen crear una distribución de Linux que use Wine para ejecutar binarios de Windows de forma predeterminada

    • En Debian se puede instalar fácilmente con el comando sudo apt install wine-binfmt
    • También se puede usar modificando archivos de configuración por otros métodos
  • En Windows, incluso un archivo .exe de hace 20 años puede seguir ejecutándose, pero en Linux hasta un binario de hace 1 año puede dejar de funcionar debido a actualizaciones

    • En Windows, al instalar una app normalmente se empaquetan juntas todas las dependencias dinámicas, mientras que en Linux esas dependencias dinámicas se comparten entre aplicaciones
    • Si cambian las dependencias, la app puede dejar de funcionar
    • Para resolverlo, se puede distribuir como en Windows o enlazar estáticamente
  • No parece necesario crear una nueva distribución

    • La mayoría de las apps de Windows pueden funcionar con Wine, pero los hacks para hacer que una app funcione pueden romper otra
    • Cada usuario tiene que ajustar su configuración por separado, y lo que funciona en la computadora de una persona puede no funcionar en la de otra
    • La solución más simple sería distribuir un contenedor con Wine incluido para que todos los usuarios reciban el mismo artefacto y siempre funcione
    • No es eficiente en espacio, pero haría falta una forma de adelgazar Wine para usarlo en contenedores
    • Las licencias y los anti patrones de software son las únicas barreras para este sistema
  • Zorin OS ofrece soporte para archivos .exe con Wine casi de fábrica, y Steam OS/Proton tiene una guía oficial que dice que no se hagan ports nativos a Linux para juegos nuevos, sino que se optimicen para Proton

  • Las distribuciones de Linux normalmente enlazan dinámicamente los ejecutables y no conservan versiones antiguas de las bibliotecas

    • Windows conserva versiones antiguas de los ejecutables porque no tiene un gestor de paquetes
    • Existen Windows Store y herramientas CLI recientes, pero tradicionalmente la instalación de aplicaciones en Windows se ha hecho mediante descarga e instalación manual
    • En Linux también se puede hacer igual, pero por lo general los gestores de paquetes de las distribuciones Linux son muy buenos
  • Las llamadas al sistema de Linux son muy estables, pero la biblioteca de C por encima de ellas no lo es

    • Windows tiene el mismo problema y distribuye libc como parte del runtime de Visual C++
    • Windows mantiene la compatibilidad hacia atrás de libc hasta que lanza una nueva versión de Visual Studio
  • Suena como alguien que quiere Lindows/Linspire

  • Si el ABI de Windows es tan estable, entonces surge la duda de por qué hay computadoras con Win95 o NT que nadie toca por miedo a que cierto software deje de funcionar

    • Se ven muchas de estas computadoras en entornos industriales, bibliotecas públicas, bases de datos empresariales, etc.
  • No hace falta un parche del kernel para ejecutar archivos .exe; binfmt_misc puede encargarse de eso

    • wine-binfmt ejecuta automáticamente archivos PE a través de Wine