- FyneDesk は、Go言語で開発された Linux/Unix向けのデスクトップ環境
- Fyneツールキット をベースに、シンプルな使いやすさ と 開発のしやすさ を志向
- 必要な外部ツールと組み合わせることで、完全なデスクトップ体験 を提供
- 自動復旧機能 を備えた
fynedesk_runner ユーティリティにより、安定性を強化可能
- アルファ/ベータ版ソフトウェアとして、オープンソースへの貢献とフィードバック を歓迎
プロジェクト概要
- FyneDesk は、Go言語と Fyneツールキット を活用して開発された LinuxまたはUnix向けのデスクトップ環境
- マテリアルデザイン に従う直感的なUIと 使いやすさ を追求
- 初心者から熟練開発者まで、開発と参加がしやすい点 が特徴
主な特徴と強み
- FyneDesk は、既存のデスクトップ環境と異なり Go言語 で書かれているため、管理と保守がしやすい
- Fyneツールキット を基盤に、拡張性の高いGUI 構造を備える
- 軽量なインストール と高速な起動が利点
- コントリビューターとユーザーからのフィードバック を積極的に受け入れている
依存関係と外部ツール
- FyneDesk を適切に動作させるには、次の外部ツールが必要
- arandr : ディスプレイ設定変更用
- xbacklight または brightnessctl : ノートPCの明るさ調整用
- connman-gtk : Wi-Fiネットワーク設定用
- compton : コンポジタ対応用
- これらのツールがなくても動作するが、完全なデスクトップ体験は制限される
インストールと実行
- 標準のGoツールで FyneDesk を簡単にインストール可能
- インストール後は "プレビューモード" で実行でき、ウィンドウマネージャーとして使うには追加設定が必要
- デスクトップ環境選択メニューに FyneDesk が表示される
- Xephyr ツールを使って、内蔵Xウィンドウ上でテスト可能
fynedesk_runnerと安定性
- FyneDesk は、安定性確保のために fynedesk_runner ユーティリティをサポート
- 予期しないプログラム停止時に、実行状態を自動的に復旧
- プレリリース版(アルファ/ベータ)の評価やテストに適した構成
パッケージングと配布案内
- 配布時には、必須ライブラリと依存関係を除けば 軽量な構成
- fin (
fyshos/fin) などの追加アプリケーションと組み合わせることで、完成度の高い統合体験が可能
- システム向けにパッケージ化して配布する際は、プロジェクト側に連絡すれば公式リンクを追加可能
オープンソースへの貢献
- 誰でもオープンソースへの貢献とフィードバック を歓迎
- 2024年3月時点で 1,300スター、54フォーク、8人以上のコントリビューター が活動中
1件のコメント
Hacker Newsのコメント
このプロジェクトは本当に素晴らしく見えるし、とりわけクロスプラットフォームなUIツールキットを作ろうという、より大きな目標の一部である点が気に入っている https://fyne.io
こういう野心的なプロジェクトに挑戦する開発者がもっと増えてほしい。OpenAI APIラッパーのようなものはもう十分だ。
この調子で頑張ってほしい。
私はすでに完全にWaylandベースのデスクトップへ移行しているので、もしFyneDeskがWaylandに移行するならぜひ使ってみたい。
5.0での完全なWaylandサポートを目標に進めていると聞いた。
ただ、ETA(予定時期)が気になる。前回のリリースが1.5年前だったので待っているところだ。
公式リリースブランチでは0.4がX11最後の版で、0.5からはWayland(XWaylandを含む)へ移行するという話も確認した https://github.com/FyshOS/fynedesk/releases
その後、今年の終わりごろにWaylandへの移行作業を始める計画だ。
移行を円滑にするため両方をサポートしたいが、まだ確定ではない。
今は上位ライブラリへの修正取り込みを待っている。
Arch/Hyprlandでカラーピッカー実装を試みたが、まったくうまくいかなかった。
APIが本当にひどく感じる。
まるで権利を主張しているような態度に見える。
Goの成り立ちを考えると、LimboとOberon-2の要素が混ざったように感じる。
デスクトップ環境におけるGoの動的リンク方針(そしてほぼ見捨てられたプラグインパッケージ)を考えると、OberonやInfernoにおける動的な挙動をD-Busやnet/rpcで置き換えることもできるかもしれない。
ただ、デスクトップの断片化が激しい現実を見ると、実際に挑戦する価値はあまりなさそうで、こういう感じがどうなるか想像してみる程度だ。
私たちはFyshOSにアプリエディタを統合している(名称が変わり、https://apptrix.ai に移行した)。
以前のプレビュー動画でも確認できる https://youtu.be/XXmDmn-et4E?si=5n1Ao-V6dKurXzS6(主に15:30以降の内容)
Oberonシステムに似ていて、コンパイラが生成したオブジェクトファイルを直接ロードして実行する技術だ https://github.com/pkujhd/goloader
mainブランチには2024年3月にマージされている。
devブランチはmasterより100件以上コミットが先行しており、非常に活発に開発されている。
最後の正式リリースが2024年3月というのも、十分問題ないように思える。
開発ブランチから直接ビルドすれば、常に最新の状態で使える。
個人的には縦型のドックが好きだが、縦向きの時刻表示は少し惜しい。
プロジェクトは7年前に始まったようだ。
Wayland対応が始まったら、ぜひ本格的に使ってみたい。
上位ライブラリで修正が取り込まれるのを待っている。
私もWaylandを少し使ってみたが、単なるユーザーとしては何が違うのかまったく分からなかった。
趣味でやっているのか、収益事業の一環なのか、大学などに支援された学術プロジェクトなのか、といったことが気になった。
調べてみると、親GitHubアカウントには2人いる https://github.com/FyshOS
コアチームは4人で https://github.com/orgs/FyshOS/people コミュニティからの貢献も積極的に受け入れている。
スポンサーシップや商業的パートナーシップにも前向きだ。
最近Fyneでいろいろ試していたが、かなり気に入っている。
カスタマイズ可能なデスクトップ環境を触ってみたいと思いつつも、セットアップが面倒すぎてためらっていたが、Goなら可能性がありそうに感じる。
デスクトップ環境の開発をできるだけ簡単に体験できるようにしたい。
たとえば、パネルやデスクトップのモジュールも、単に関数を書いて
fyne.CanvasObjectを返せばよいので、Fyneアプリでパネルを作る感覚で簡単に開発できる。Pop!_OS 22で注意すべき特別な点があるだろうか。