- FyneDesk es un entorno de escritorio para Linux/Unix desarrollado en Go
- Está basado en el toolkit Fyne y busca facilidad de uso y facilidad de desarrollo
- Ofrece una experiencia de escritorio completa junto con herramientas externas esenciales
- Puede reforzar su estabilidad con la utilidad fynedesk_runner, que cuenta con recuperación automática
- Como software en versión alfa/beta, da la bienvenida a contribuciones open source y retroalimentación
Descripción general del proyecto
- FyneDesk es un entorno de escritorio para Linux o Unix desarrollado con Go y el toolkit Fyne
- Busca una UI intuitiva que sigue el Material Design y una experiencia amigable para el usuario
- Se caracteriza por hacer que desarrollar y participar sea fácil tanto para principiantes como para desarrolladores experimentados
Características principales y fortalezas
- A diferencia de otros entornos de escritorio existentes, FyneDesk está escrito en Go, lo que facilita su gestión y mantenimiento
- Basado en el toolkit Fyne, tiene una arquitectura de GUI con alta capacidad de expansión
- Sus ventajas incluyen una instalación ligera y arranque rápido
- Acepta activamente la retroalimentación de colaboradores y usuarios
Dependencias y herramientas externas
- Para ejecutar correctamente FyneDesk, se necesitan las siguientes herramientas externas
- arandr: para cambiar la configuración de pantalla
- xbacklight o brightnessctl: para ajustar el brillo en laptops
- connman-gtk: para configurar redes Wi‑Fi
- compton: para soporte de compositor
- Puede funcionar sin estas herramientas, pero la experiencia de escritorio completa queda limitada
Instalación y ejecución
- FyneDesk puede instalarse fácilmente con las herramientas estándar de Go
- Después de instalarlo, puede ejecutarse en "modo de vista previa"; para usarlo como gestor de ventanas se requiere configuración adicional
- FyneDesk aparece en el menú de selección de entorno de escritorio
- Puede probarse en una ventana X integrada con la herramienta Xephyr
fynedesk_runner y estabilidad
- Para mejorar la estabilidad, FyneDesk ofrece la utilidad fynedesk_runner
- Si un programa se detiene inesperadamente, recupera automáticamente el estado de ejecución
- Es una estructura adecuada para evaluar y probar versiones previas al lanzamiento (alfa/beta)
Guía de empaquetado y distribución
- Al distribuirse, adopta una forma ligera sin bibliotecas ni dependencias obligatorias
- Al combinarse con aplicaciones adicionales como fin (fyshos/fin), puede ofrecer una experiencia integrada más pulida
- Si se empaqueta y distribuye para un sistema, es posible contactar al proyecto para agregar un enlace oficial
Contribución open source
- Las contribuciones open source y la retroalimentación de cualquier persona son bienvenidas
- A marzo de 2024, cuenta con 1,300 estrellas, 54 forks y más de 8 colaboradores activos
1 comentarios
Opiniones en Hacker News
Este proyecto se ve realmente genial, y me gusta aún más porque forma parte de un objetivo más grande de crear un toolkit de UI multiplataforma https://fyne.io
Ojalá hubiera más desarrolladores atreviéndose con proyectos ambiciosos como este, y dejaran de salir tantos wrappers para la API de OpenAI
Espero que sigan con el buen trabajo
Yo ya me cambié por completo a un escritorio basado en Wayland, así que si FyneDesk se pasa a Wayland me daría mucho gusto probarlo
Escuché que están apuntando al soporte completo de Wayland para la 5.0
Pero tengo curiosidad por el ETA, porque el último release fue hace 1.5 años y sigo esperando
También confirmé que la rama oficial de release 0.4 será la última para X11 y que desde la 0.5 se cambiarán a Wayland (incluyendo XWayland) https://github.com/FyshOS/fynedesk/releases
Después de eso (más o menos a finales de este año) planean empezar el trabajo de transición a Wayland
Quieren dar soporte a ambos para que la migración sea fluida, pero por ahora todavía no es seguro
Por ahora están esperando que se apliquen cambios en la librería superior
Intenté implementar un selector de color en Arch/Hyprland y no tuve nada de éxito
La API se siente realmente mala
Suena un poco como una actitud de estar exigiendo algo por derecho
Pensando en el contexto en el que apareció Go, se siente como una mezcla de elementos de Limbo y Oberon-2
Considerando la política de enlazado dinámico de Go en entornos de escritorio (y su paquete de plugins casi abandonado), me imagino que los comportamientos dinámicos de Oberon o Inferno podrían reemplazarse con D-Bus o net/rpc
Pero viendo lo fragmentado que está el escritorio hoy en día, no creo que realmente valga mucho la pena intentarlo; es más bien imaginar cómo se sentiría algo así
Estamos integrando un editor de apps en FyshOS (cambió de nombre y se movió a https://apptrix.ai)
También se puede ver en un video de vista previa anterior https://youtu.be/XXmDmn-et4E?si=5n1Ao-V6dKurXzS6 (principalmente desde el minuto 15:30)
Es una técnica para cargar y ejecutar directamente archivos objeto generados por el compilador, similar a los sistemas Oberon https://github.com/pkujhd/goloader
Se hizo merge a la rama main en marzo de 2024
dev se está desarrollando de forma muy activa, al punto de llevar más de 100 commits por delante de master
Que el último release formal haya sido en marzo de 2024 también me parece totalmente aceptable
Si compilas directamente desde la rama de desarrollo, siempre puedes usar el estado más reciente
Personalmente me gustan los docks verticales, pero la forma vertical de mostrar la hora me deja con dudas
Parece que el proyecto empezó hace 7 años
Si empiezan a darle soporte, definitivamente pienso probarlo bien
Están esperando que se apliquen cambios en la librería superior
Yo también usé Wayland un rato, pero como simple usuario no sentí absolutamente ninguna diferencia
Quería saber si era algo hecho por hobby, parte de un negocio, o un proyecto académico apoyado por alguna universidad o algo así
Encontré que en la cuenta padre de GitHub hay dos personas https://github.com/FyshOS
El equipo central tiene 4 integrantes https://github.com/orgs/FyshOS/people y también reciben activamente contribuciones de la comunidad
Además están abiertos a patrocinio y alianzas comerciales
Últimamente he estado experimentando con varias cosas en Fyne y me ha gustado bastante
Aunque sí me gustaría meter mano a un entorno de escritorio personalizable, siempre me frenaba lo engorroso del proceso de setup, pero al estar hecho en Go se siente como que ahora sí hay posibilidad
Quieren que la experiencia de desarrollar para el entorno de escritorio sea lo más sencilla posible
Por ejemplo, incluso los módulos del panel o del escritorio solo necesitan usar una función que devuelva
fyne.CanvasObject, así que desarrollarlo es tan fácil como hacer un panel en una app de FyneMe pregunto si hay alguna rareza o detalle a tener en cuenta en Pop!_OS 22