Winebox: Maneja tus prefixs de Wine

Hola, foro!
He vuelto después de mucho tiempo. No he dejado el mundo Linux de lado, sin embargo ya no participé en la comunidad.

Volví con mi primer proyecto serio, con un problema que tengo a diario. En mi Debian 13 juego con Wine muchos videojuegos distintos, y con la experiencia he aprendido a crear un prefix por cada instalación para aislarlo y que no todo se rompa de golpe al querer instalar otra cosa
Hacerlo es relativamente sencillo, pero incómodo. Mi mayor nivel de orden ha sido tener todos en una misma carpeta y un script que lo ejecuta en el wineprefix correspondiente, pero no soy una persona ordenada y eso no duró mucho. Otra opción es usar PlayOnLinux, Lutris o Bottles, pero me gustan las herramientas CLI ya que mi pc no es muy rapida y abrir todo un entorno gráfico para jugar, instalar librerías aparte, y además que muchas veces no funcionan porque requiere otra instalación que la que tienes.

Por eso decidí crear Winebox: una CLI que crea de forma ordenada diversos wineprefix, te permite decirle la ruta del ejecutable, y correrlo de forma super sencilla. Además permite añadir sub-aplicaciones a cada instalación principal.

La hice en Go, que es mi primer proyecto con ése lenguaje, y honestamente me gustó mucho el resultado que obtuve, por lo que deseo compartirselas si la necesitan.

Como ejemplo para que entiendan su uso, instalaré GTA San Andreas usando la aplicación, comentandoles aquí el proceso.

El primer comando necesario es crear el prefix usando:
winebox create gta-sa

Éste comando ejecuta wineboot, y crea un prefix en ~/.winebox/prefixes/. Una vez termina de iniciarse, es momento de que configuremos Wine, ejecutemos un instalador, u otras tareas. Para eso usamos el comando:
winebox shell gta-sa

Éste comando abre una shell built-in con el WINEPREFIX en el env, para que hagamos todas las tareas necesarias. En mi caso instalé dkvk con winetricks, e instalé el juego.
Una vez hecha la instalación, salimos de esa shell y vamos a guardar en el programa la dirección del ejecutable principal, usando:
winebox app main gta-sa (relativo:C:/Games/GTASA/gta-sa.exe)

De éste modo el programa guarda de forma rapida el ejecutable principal del prefix.
Pero como a mí me gusta jugar a SAMP, realizo la instalación. Abro de vuelta la shell y lo instalo, y quiero almacenarlo como una sub-aplicación. Por ende realizo
winebox app add gta-sa samp (relativo:C:/Games/GTASA/samp.exe)

Y así queda añadido. Ahora, cuando quiero jugar, en cualquier momento puedo usar winebox run gta-sa para correr el ejecutable principal. O si quiero correr SAMP, puedo usar winebox run gta-sa samp

El programa tiene un par más de cosas útiles. Lo próximo que agregaré va a ser añadir a cada instalación y sub app un archivo .desktop, para poder manejarlo con Rofi o en una menubar

El proyecto está aquí:

Espero que alguien le encuentre la misma utilidad que yo! Me esforcé bastante en que sea amigable y simple. Acepto revisiones y PR!

Saludos!

2 Me gusta