- FyneDesk ist eine Desktop-Umgebung für Linux/Unix, die in Go entwickelt wurde
- Sie basiert auf dem Fyne-Toolkit und zielt auf einfache Bedienung und leichte Entwicklung ab
- Zusammen mit wesentlichen externen Tools bietet sie ein vollständiges Desktop-Erlebnis
- Mit dem Utility fynedesk_runner mit automatischer Wiederherstellung lässt sich die Stabilität erhöhen
- Als Software in Alpha-/Beta-Versionen sind Open-Source-Beiträge und Feedback willkommen
Projektüberblick
- FyneDesk ist eine Desktop-Umgebung für Linux oder Unix, die mit der Programmiersprache Go und dem Fyne-Toolkit entwickelt wurde
- Sie setzt auf eine intuitive UI nach dem Material Design und auf Benutzerfreundlichkeit
- Ein Merkmal ist, dass Entwicklung und Mitwirkung sowohl für Einsteiger als auch für erfahrene Entwickler einfach sind
Wichtige Merkmale und Stärken
- Im Unterschied zu bestehenden Desktop-Umgebungen ist FyneDesk in der Programmiersprache Go geschrieben, was Verwaltung und Wartung erleichtert
- Auf Basis des Fyne-Toolkits verfügt sie über eine hochgradig erweiterbare GUI-Struktur
- Leichtgewichtige Installation und schnelle Startgeschwindigkeit sind Vorteile
- Feedback von Mitwirkenden und Nutzern wird aktiv aufgenommen
Abhängigkeiten und externe Tools
- Damit FyneDesk korrekt läuft, werden die folgenden externen Tools benötigt
- arandr : zum Ändern der Anzeigeeinstellungen
- xbacklight oder brightnessctl : zum Anpassen der Helligkeit auf Laptops
- connman-gtk : zur Konfiguration von Wi-Fi-Netzwerken
- compton : für Compositor-Unterstützung
- Auch ohne diese Tools funktioniert es, aber das vollständige Desktop-Erlebnis ist eingeschränkt
Installation und Ausführung
- Mit den Standard-Go-Tools lässt sich FyneDesk leicht installieren
- Nach der Installation kann es im „Preview-Modus“ ausgeführt werden; für die Nutzung als Window Manager sind zusätzliche Einstellungen erforderlich
- Im Auswahlmenü für Desktop-Umgebungen wird FyneDesk angezeigt
- Mit dem Tool Xephyr kann es in einem eingebetteten X-Window getestet werden
fynedesk_runner und Stabilität
- Zur Verbesserung der Stabilität unterstützt FyneDesk das Utility fynedesk_runner
- Bei unerwartetem Programmabbruch stellt es den laufenden Zustand automatisch wieder her
- Die Struktur eignet sich für die Evaluierung und das Testen von Vorabversionen (Alpha/Beta)
Hinweise zu Paketierung und Distribution
- Bei der Distribution ist es eine leichtgewichtige Form ohne zwingende Systembibliotheken und Abhängigkeiten
- In Kombination mit zusätzlichen Anwendungen wie fin (fyshos/fin) ist ein hochwertiges integriertes Erlebnis möglich
- Wenn es paketiert und für ein System distribuiert wird, kann nach Kontaktaufnahme mit dem Projekt ein offizieller Link hinzugefügt werden
Open-Source-Beiträge
- Open-Source-Beiträge und Feedback sind von allen willkommen
- Stand März 2024 sind 1.300 Stars, 54 Forks und mehr als 8 Mitwirkende aktiv
1 Kommentare
Hacker-News-Kommentare
Das Projekt sieht wirklich großartig aus, und ich mag es noch mehr, weil es Teil eines größeren Ziels ist, ein plattformübergreifendes UI-Toolkit zu schaffen https://fyne.io
Ich wünschte, mehr Entwickler würden sich an solche ambitionierten Projekte wagen, statt noch mehr OpenAI-API-Wrapper herauszubringen
Ich hoffe, sie machen weiter so
Ich bin vollständig auf einen Wayland-basierten Desktop umgestiegen, daher würde ich FyneDesk sehr gern ausprobieren, falls es auf Wayland umgestellt wird
Ich habe gehört, dass vollständige Wayland-Unterstützung für 5.0 angestrebt wird
Mich würde allerdings die ETA interessieren, weil das letzte Release vor 1,5 Jahren war und ich darauf warte
Ich habe auch gesehen, dass der offizielle Release-Branch 0.4 der letzte mit X11 ist und ab 0.5 auf Wayland (einschließlich XWayland) umgestellt werden soll https://github.com/FyshOS/fynedesk/releases
Danach soll die Arbeit an der Umstellung auf Wayland beginnen, vermutlich gegen Ende dieses Jahres
Wir würden gern beide unterstützen, um den Übergang reibungslos zu gestalten, aber das ist noch nicht sicher
Derzeit warten wir darauf, dass Fixes in einer übergeordneten Bibliothek übernommen werden
xdg-desktop-portalfunktioniertIch habe versucht, unter Arch/Hyprland einen Color Picker zu implementieren, aber hatte überhaupt keinen Erfolg
Die API fühlt sich wirklich schlecht an
Das wirkt ein bisschen wie eine Anspruchshaltung
Wenn man bedenkt, wie Go entstanden ist, fühlt es sich wie eine Mischung aus Elementen von Limbo und Oberon-2 an
Wenn man in einer Desktop-Umgebung Gos Politik beim dynamischen Linken berücksichtigt (sowie das nahezu aufgegebene Plugin-Paket), könnte man die dynamischen Mechanismen aus Oberon oder Inferno vielleicht durch D-Bus oder net/rpc ersetzen
Aber wenn man die starke Fragmentierung auf dem Desktop betrachtet, ist es wahrscheinlich in der Praxis nicht besonders lohnend, das wirklich anzugehen; eher eine Vorstellung davon, wie sich so etwas anfühlen könnte
Wir integrieren einen App-Editor in FyshOS (der Name wurde geändert und ist zu https://apptrix.ai umgezogen)
Man kann das auch in einem älteren Preview-Video sehen https://youtu.be/XXmDmn-et4E?si=5n1Ao-V6dKurXzS6 (relevant ist vor allem der Teil ab 15:30)
Das ist eine Technik, bei der die vom Compiler erzeugten Objektdateien direkt geladen und ausgeführt werden, ähnlich wie in Oberon-Systemen https://github.com/pkujhd/goloader
In den
main-Branch wurde im März 2024 gemergtmaster-Branch wird nur für Releases verwendetIm
dev-Branch wird sehr aktiv entwickelt, er liegt mit über 100 Commits vormasterDass das letzte offizielle Release im März 2024 war, erscheint mir daher völlig unproblematisch
Wenn man direkt aus dem Entwicklungs-Branch baut, kann man immer den neuesten Stand nutzen
Ich persönlich mag vertikale Docks, aber die vertikale Darstellung der Uhrzeit wirkt etwas unglücklich
master-Branch war letztes Jahr, und auch aufdevelopgibt es nicht viel AktivitätDas Projekt scheint vor 7 Jahren begonnen zu haben
Wenn die Wayland-Unterstützung beginnt, werde ich es auf jeden Fall richtig ausprobieren
Es wird darauf gewartet, dass Fixes in der übergeordneten Bibliothek übernommen werden
Ich habe Wayland auch kurz benutzt, aber aus reiner Anwendersicht überhaupt keinen Unterschied bemerkt
Ich wollte wissen, ob das ein Hobbyprojekt ist, Teil eines Geschäftsmodells oder ein akademisches Projekt mit Förderung etwa durch eine Universität
Dabei habe ich gesehen, dass es im übergeordneten GitHub-Account zwei Personen gibt https://github.com/FyshOS
Das Kernteam besteht aus vier Personen https://github.com/orgs/FyshOS/people, und Beiträge aus der Community sind ausdrücklich willkommen
Wir sind auch offen für Sponsoring oder kommerzielle Partnerschaften
Ich habe in letzter Zeit mit Fyne verschiedene Dinge ausprobiert und es hat mir ziemlich gut gefallen
Ich wollte schon länger an einer anpassbaren Desktop-Umgebung herumspielen, aber der Setup-Prozess war mir immer zu lästig; mit Go wirkt es plötzlich machbarer
Wir wollen die Entwicklung einer Desktop-Umgebung so einfach wie möglich erfahrbar machen
Zum Beispiel kann selbst ein Modul für das Panel oder den Desktop einfach mit einer Funktion entwickelt werden, die ein
fyne.CanvasObjectzurückgibt; das fühlt sich beim Entwickeln ähnlich an, als würde man in einer Fyne-App ein Panel bauenIch frage mich, ob es unter Pop!_OS 22 irgendwelche Besonderheiten gibt, auf die man achten sollte