- FyneDesk 是一個基於 Fyne 的 Go 桌面環境,具有 Material 設計和模組 API。
- 第二個主要版本增加了通知、捕獲、音量控制和可用性改進。
- 明確要求(arandr、compton、connman-gtk、shine)並測試實用程序,如 Xephyr 和 fynedesk_runner。
如果您想知道 FyneDesk 是什麼,它是一個基於Fyne 工具包和 Go 語言構建的Linux 和 BSD 桌面環境,具有簡潔、現代且統一的 Material Design 設計風格。其團隊(隸屬於 Fyne 專案)已發布第二個主要版本,其中包含許多改進、更精緻的介面以及純 Go 模組 API,可實現功能的無縫擴展。
FyneDesk 不僅外觀精美,更致力於打造易用、易於開發、易於維護的桌面環境,讓每個人都能根據自己的喜好進行個性化定制,並可根據需要直接參與專案開發。本文將介紹 FyneDesk 的功能、安裝方法、所需依賴、主要新功能、開發路線圖以及選擇 X11 而非 Wayland 的技術原因。
FyneDesk 是什麼?
FyneDesk 是一個適用於 Linux/Unix 系統的桌面環境,它遵循 Material Design 設計原則,完全基於 Fyne 工具包構建,並以 Go 語言作為主要程式語言。其目標不僅在於提供美觀的介面,更在於兼顧使用者和開發者的友善性,降低學習、修改和擴展桌面環境(包括模組和控制)的門檻。
專案開發者將其描述為一種全新的桌面設計理念:簡單易懂、易於自訂且便於改進。其理念在於,使用者可以擁有自己設想的桌面,並與社群分享,將易於學習和開發置於設計的核心。
要求和依賴項
編譯 FyneDesk 需要與 Fyne 相同的依賴項,因此建議您查閱 Fyne 工具包的初始文檔,以遵循正確的安裝步驟。為了獲得最佳體驗,建議使用一些增強系統管理的外部工具。
arandr修改顯示設定。xbacklightobrightnessctl如果您使用筆記型電腦並想要調整亮度。connman-gtk設定 Wi-Fi 網路。compton用於作曲家支援。
即使沒有這些運行時依賴項,桌面也可以啟動,但體驗會受到限制:某些區域將不可用或效能不佳,因此最好安裝建議的實用程式以充分利用其功能。
安裝和執行方法
如果您使用標準的 Go 工具,可以直接從原始程式碼安裝 FyneDesk。該專案提供了 ` go install`方法來安裝其實用程式和桌面本身,並且還支援使用 Git 複製倉庫。換句話說,您可以輕鬆使用常用的 Go 工作流程,並快速地在您的環境中啟動和運行 FyneDesk。
安裝將把二進位放在你的 $GOPATH (通常在 ~/go/bin)。從那裡可以以“預覽”模式運行它,就像任何 Fyne 應用程式一樣,但值得記住的是,這 並不意味著運行視窗管理器;要使其成為您的主桌面,還需要執行一些額外的步驟。
若要將其用作您的主桌面環境,您可以將其註冊為會話管理器(例如 LightDM)中的可選桌面。執行相應的設定命令並登出後,您將在登入畫面上的桌面清單中看到 FyneDesk。
如果您希望在不影響正常會話的情況下執行測試,可以使用Xephyr將視窗管理器元件載入到嵌入式 X 環境。 Xephyr 安裝到系統後(通常與 Xorg 捆綁在一起),您可以從專案指定的目錄執行相應的命令,並在視窗中測試桌面,而不會影響您的即時環境。
如果在視窗管理器已處於活動狀態時執行該命令,或在不支援視窗管理器的系統(例如 Windows 或 macOS)上執行該命令,FyneDesk 將以介面測試模式啟動。在此模式下,您將能夠看到除視窗控制之外的幾乎所有功能,因為視窗控制將在您的主桌面上開啟。
桌面系統應該非常穩定,但任何處於 Alpha 或 Beta 階段的軟體都可能偶爾崩潰。為了盡量減少不便,可以使用這個實用程序 fynedesk_runner,一個監控進程的啟動器,如果發生崩潰, fynedesk_runner 幫助你在應用程式中恢復狀態而不會遺失資料。你可以使用標準 Go 工具安裝它,並使用它來代替命令 fynedesk 測試預發布版本時。
第二個主要版本中的新功能
FyneDesk 團隊歷經數月,致力於改善桌面管理、提升效能和增強可靠性。但這次重大版本更新的主要目的是與社群分享全新功能:第二個主要版本包含桌面通知、螢幕截圖功能、純 Go 模組 API,以及採用全新的 Fyne 2.0 工具包介面。
- 桌面通知支援。
- 建立一個用於在 FyneDesk 中編寫可嵌入模組的 API。
- 透過 PulseAudio 進行音量控制。
- 桌面和視窗截圖。
- 啟動器現在支援 URL、計算和聲音/亮度控制。
- 支援XPM圖標格式。
- 雙擊標題列即可最大化。
- 視窗邊緣的懸停效果。
- 選擇使用 24 小時時間格式。
- 拖曳邊框即可退出最大化模式。
- 選擇 Alt 鍵和 Super/Win 鍵作為快速鍵。
- 電池狀態的交流電源指示燈。
- 更改邊框按鈕位置的選項。
- 對 X 終端和類似應用程式的偽透明支援。
除了可見的部分之外,桌面上還散落著一些增添品質的小細節:這些細節會在日常使用中逐漸發現,讓一切運作得更加流暢,因此值得一試,去發現它們。
外觀和主題
隨著 Fyne 主題的最新改進以及系統托盤小部件設計(現已採用模組化設計)的更新,桌面看起來更加清新現代。預設主題提供深色和淺色兩種版本,0.2 版本在官方公告附帶的截圖中展示了一個非常精緻的深色主題。
日常使用中值得關注的細節包括:X 終端機及類似應用程式的偽透明效果、視窗邊緣的懸停效果,以及雙擊標題列即可最大化視窗的功能。所有這些小細節都讓介面感覺流暢協調,又不顯得雜亂。
架構和技術決策
FyneDesk 使用 Go 語言編寫,並提供純 Go 語言編寫的模組 API,使得擴充桌面功能就像在您自己的應用程式中使用 Fyne 建立控制項一樣簡單。在效能方面,Go 的垃圾回收機製成熟且通常不會造成效能瓶頸,而且只要資料結構和緩衝區設計得當,即使在高負載下也能避免惱人的卡頓。
關於圖形堆棧,該專案目前專注於Wayland。為什麼?因為 X11 是一個簡單的 API,在 Linux 和 BSD 之間具有良好的可移植性,並且能夠與大多數現有工具包和應用程式開箱即用。而 Wayland 則更為精簡,它迫使合成器處理許多額外的元件才能實現功能上的對等。如果您的目標是建立一個桌面環境,而不是從頭開始編寫另一個合成器,那麼X11 可以解決大部分問題,讓您專注於打造獨一無二的桌面環境。
個性化和快捷方式
在自訂方面,FyneDesk 允許您選擇主快捷鍵是 Alt 還是 Win/Super,許多用戶發現後者更容易形成肌肉記憶。您還可以變更邊框按鈕的位置、將時間設為 24 小時制,並透過拖曳邊框退出最大化模式,從而獲得自然流暢的互動體驗。
啟動器變得更加聰明:它可以識別 URL、執行簡單的計算,並允許您透過搜尋框本身管理聲音和亮度。除了透過 PulseAudio 控制音量並在配備以下設備的筆記型電腦上支援亮度之外, xbacklight o brightnessctl,對日常任務的關注顯而易見 更靈活、侵入性更小.
對於日常筆記型電腦使用而言,電池狀態中的交流電源指示燈非常實用;在管理視窗時,雙擊最大化視窗、拖曳退出最大化模式等手勢操作提升了流暢度。這些改變雖小,但卻是你會不假思索就再次使用的功能,而這正是桌上型電腦在人體工學方面的優勢所在。
整合、包裝和附加功能
如果您打算將 FyneDesk 作為發行版的預設桌面,或將其保留為標準選項,則該專案提供了一些建議。無需打包工具包庫或依賴項,但他們確實建議添加該應用程式。 fin (github.com/fyshos/fin) 作為顯示管理器,因為 它與 FyneDesk 的外觀非常匹配。 並保持視覺連貫性。
在美學方面,設計理念和一些抽象背景由 Jost Grant 貢獻,這一細節強化了對清晰現代視覺識別的追求。最終,無論桌上型系統多麼技術化,正是對視覺細節的關注讓人流連忘返。
FyneDesk 的生態系統還包括其在 FyshOS 上的應用程式以及託管在 GitHub Pages 上的專案網站(由 mattgraham 設計主題)。他們鼓勵用戶盡快上手,並提供更多主題範例的鏈接,包括標準的淺色和深色版本,以便用戶在安裝之前就能了解其外觀和使用體驗。
路線圖和後續步驟
該團隊在 GitHub Wiki 上維護著一份公開的路線圖,其中包含雄心勃勃的計劃。即將發布的版本的主要功能包括虛擬桌面、鎖定螢幕介面和整合式網路管理器。在此主要版本發布之後,他們還計劃大幅改進多顯示器設置,使其更加全面和用戶友好,並進行其他一些提升用戶體驗的改進。
如果您對這個方案感興趣,他們非常歡迎您加入並貢獻力量。無論是測試和回饋,還是程式碼編寫和文件撰寫,任何形式的幫助都對他們實現目標大有裨益。由於模組 API 完全使用 Go 語言編寫,如果您已經在應用程式中使用過 Fyne,那麼將其擴展到桌面平台將會非常自然。
FyneDesk 適合哪些人?
對於想要輕量級、簡潔且採用精心設計的 Material Design 桌面環境的 Linux 和 BSD 用戶來說,如果您重視簡潔的介面,同時又不希望犧牲日常實用功能(例如通知、快速亮度調節和音量控制、螢幕截圖等),那麼這款產品將簡潔性放在首位,同時又不失強大效能。
對於希望擁有原生可擴展桌面環境的 Go 開發者而言,模組 API 和 Fyne 整合使得創建新組件或函數就像為自己的應用程式構建一樣簡單;學習成果得以共享,努力得以利用,因此您可以進行創新而無需重複造輪子。
適用於尋求具有清晰整合路徑的桌面環境的打包者和發行版。由於 X11,它與現有應用程式的兼容性非常廣泛,並且諸如 fynedesk_runner 它們有助於測試先前的版本,而不會讓最終用戶面臨崩潰,因為 幫助恢復故障後的狀態 透明地。
快速問答和使用技巧
不使用推薦的外部工具能運作嗎?可以,FyneDesk 可以啟動並使用,但部分功能會受到影響,體驗也會有所不同。如果想要流暢運行,建議安裝arandr、compton、connman-gtk以及您常用的亮度管理器。
我可以在不更改會話的情況下嘗試嗎?是的, Xephyr 您可以在嵌入式視窗中運行它並進行練習,而無需觸摸真實桌面。這對於快速複習或向他人展示其工作原理非常有用。為了更安心, prueba 如果您使用的是以前的版本,請與運行器一起使用。
如果我在視窗管理器已啟動的情況下啟動它,或者在 macOS/Windows 系統上啟動它會發生什麼?桌面會進入 UI 測試模式。您會看到幾乎所有與介面相關的內容,但視窗控制功能已停用,視窗會打開在您的主桌面上。這是一種在不干擾目前會話的情況下探索各項功能的安全方式。
它們如何防止跌倒? fynedesk_runner如果發生崩潰,此實用程式會嘗試從您上次中斷的地方繼續運行,以免遺失開啟的應用程式中的資料。在評估新版本或開發分支時, 啟動 FyneDesk 與跑壘員一起是最明智的打法。
FyneDesk 結合了 Go 語言的堅實技術基礎、鼓勵擴展功能的模組化 API 以及對用戶體驗的關注(體現在日常操作中);再加上選擇 X11 等務實決策(現在已有明確的路線圖),對於那些尋求現代化、適應性強且能夠與社區共同發展的桌面系統的用戶來說,它成為了一個極具吸引力的選擇。