1 điểm bởi GN⁺ 2025-10-05 | 1 bình luận | Chia sẻ qua WhatsApp
  • FyneDeskmôi trường desktop cho Linux/Unix được phát triển bằng ngôn ngữ Go
  • Dựa trên bộ công cụ Fyne, hướng đến tính dễ sử dụngdễ phát triển
  • Cung cấp trải nghiệm desktop đầy đủ cùng với các công cụ bên ngoài thiết yếu
  • Có thể tăng cường độ ổn định bằng tiện ích fynedesk_runner với chức năng tự động khôi phục
  • Là phần mềm ở giai đoạn alpha/beta, hoan nghênh đóng góp mã nguồn mở và phản hồi

Tổng quan dự án

  • FyneDeskmôi trường desktop cho Linux hoặc Unix được phát triển bằng ngôn ngữ Gobộ công cụ Fyne
  • Theo đuổi giao diện trực quan tuân theo Material Designtính thân thiện với người dùng
  • Điểm nổi bật là việc phát triển và tham gia đều dễ dàng cho cả người mới lẫn nhà phát triển giàu kinh nghiệm

Các đặc điểm và thế mạnh chính

  • Không giống các môi trường desktop hiện có, FyneDesk được viết bằng Go, giúp việc quản lý và bảo trì trở nên thuận tiện hơn
  • Dựa trên bộ công cụ Fyne, sở hữu cấu trúc GUI có khả năng mở rộng cao
  • Ưu điểm là cài đặt nhẹtốc độ khởi chạy nhanh
  • Tích cực tiếp nhận phản hồi từ cộng tác viên và người dùng

Phụ thuộc và công cụ bên ngoài

  • Để chạy FyneDesk đầy đủ, cần các công cụ bên ngoài sau
    • arandr : dùng để thay đổi thiết lập hiển thị
    • xbacklight hoặc brightnessctl : dùng để điều chỉnh độ sáng laptop
    • connman-gtk : dùng để thiết lập mạng Wi-Fi
    • compton : dùng để hỗ trợ compositor
  • Vẫn có thể hoạt động mà không có các công cụ trên, nhưng trải nghiệm desktop đầy đủ sẽ bị hạn chế

Cài đặt và chạy

  • Có thể cài đặt FyneDesk dễ dàng bằng công cụ Go tiêu chuẩn
  • Sau khi cài đặt, có thể chạy ở "chế độ preview", và nếu muốn dùng làm window manager thì cần cấu hình bổ sung
  • FyneDesk sẽ xuất hiện trong menu chọn môi trường desktop
  • Có thể thử nghiệm trong X window nhúng bằng công cụ Xephyr

fynedesk_runner và độ ổn định

  • Để đảm bảo độ ổn định, FyneDesk hỗ trợ tiện ích fynedesk_runner
    • Khi chương trình dừng ngoài dự kiến, trạng thái chạy sẽ được tự động khôi phục
    • Đây là cấu trúc phù hợp để đánh giá và kiểm thử các bản phát hành trước (alpha/beta)

Hướng dẫn đóng gói và phân phối

  • Khi phân phối, đây là dạng nhẹ không kèm các thư viện và phụ thuộc không cần thiết
  • Khi kết hợp với các ứng dụng bổ sung như fin (fyshos/fin), có thể mang lại trải nghiệm tích hợp hoàn thiện hơn
  • Nếu đóng gói để phân phối trên hệ thống, có thể liên hệ phía dự án để được thêm liên kết chính thức

Đóng góp mã nguồn mở

  • Mọi người đều được hoan nghênh đóng góp mã nguồn mở và gửi phản hồi
  • Tính đến tháng 3 năm 2024, dự án có 1.300 sao, 54 forkhơn 8 người đóng góp đang hoạt động

1 bình luận

 
GN⁺ 2025-10-05
Ý kiến trên Hacker News
  • Tôi cũng không có ý định chuyển sang một desktop không hỗ trợ Wayland chỉ vì Nvidia, nhưng tôi không đồng ý với bầu không khí bi quan trong phần bình luận.
    Dự án này trông thực sự rất tuyệt, và tôi càng thích hơn vì nó là một phần của mục tiêu lớn hơn là xây dựng một UI toolkit đa nền tảng https://fyne.io
    Tôi mong sẽ có nhiều lập trình viên dám thử sức với những dự án đầy tham vọng như thế này hơn, thay vì lại thêm các wrapper cho OpenAI API
    Hy vọng họ sẽ tiếp tục làm tốt
  • Dự án này hiện đang dựa trên X11.
    Tôi đã chuyển hẳn sang desktop dùng Wayland, nên nếu FyneDesk chuyển sang Wayland thì tôi rất sẵn lòng dùng thử.
    Tôi nghe nói họ đang nhắm tới việc hỗ trợ đầy đủ Wayland trong 5.0.
    Tuy vậy tôi vẫn muốn biết ETA, vì bản phát hành trước đã là từ 1,5 năm trước nên tôi đang chờ.
    Tôi cũng thấy thông tin rằng nhánh phát hành chính thức 0.4 sẽ là bản cuối cùng dùng X11 và từ 0.5 trở đi sẽ chuyển sang Wayland (bao gồm cả XWayland) https://github.com/FyshOS/fynedesk/releases
    • Kế hoạch đã thay đổi do các yếu tố bên ngoài, nên bản phát hành tiếp theo sẽ vẫn dựa trên X11.
      Sau đó (khoảng cuối năm nay) họ dự định bắt đầu công việc chuyển sang Wayland.
      Họ muốn hỗ trợ cả hai để quá trình chuyển đổi diễn ra suôn sẻ, nhưng hiện vẫn chưa chắc chắn.
    • Có thể xem là công việc cho Wayland sẽ bắt đầu sau bản phát hành lớn tiếp theo.
      Hiện tại họ đang chờ các thay đổi ở thư viện cấp trên được áp dụng.
    • Tôi cứ nghĩ có một lớp tương thích hoàn hảo cho phép chạy X11 trên Wayland, không biết có phải không.
    • Tôi thật sự không thích cách xdg-desktop-portal hoạt động.
      Tôi đã thử triển khai color picker trên Arch/Hyprland nhưng hoàn toàn không thành công.
      API đó tạo cảm giác thực sự rất tệ.
    • Khi nào sẵn sàng thì nó sẽ ra mắt, và nếu tôi tự vào hỗ trợ thì có lẽ bản phát hành còn ra nhanh hơn.
      Nghe như một kiểu thái độ đòi hỏi quyền lợi vậy.
  • Với tôi, nó có thể trở thành nền tảng cho trải nghiệm người dùng của một hệ điều hành kiểu Oberon và Inferno hiện đại.
    Nếu nghĩ đến bối cảnh ra đời của Go, nó có cảm giác như sự pha trộn giữa Limbo và Oberon-2.
    Xét đến chính sách dynamic linking của Go trong môi trường desktop (và gói plugin gần như bị bỏ mặc), tôi từng nghĩ có thể thay thế các hành vi động kiểu Oberon hay Inferno bằng D-Bus hoặc net/rpc.
    Nhưng nhìn vào thực tế desktop đang phân mảnh nặng nề, có lẽ chẳng đáng để thật sự lao vào, nên tôi chỉ dừng ở mức tưởng tượng xem cảm giác đó sẽ ra sao thôi.
    • Mục tiêu của tôi là tạo ra desktop tốt nhất cho lập trình viên hoặc những người đang học lập trình.
      Chúng tôi đang tích hợp một app editor vào FyshOS (tên đã đổi và chuyển sang https://apptrix.ai)
      Có thể xem trong video preview cũ https://youtu.be/XXmDmn-et4E?si=5n1Ao-V6dKurXzS6 (chủ yếu là từ mốc 15:30)
    • Cũng có một phương án thay thế cho tình trạng hiện tại của plugin Go.
      Đó là kỹ thuật nạp trực tiếp và thực thi các object file do compiler tạo ra, khá giống với hệ thống Oberon https://github.com/pkujhd/goloader
  • Commit cuối cùng trên nhánh phát triển là 3 ngày trước, nên việc phát triển vẫn đang tiếp diễn.
    Nó đã được merge vào nhánh main từ tháng 3 năm 2024.
    • Nhánh master chỉ được dùng cho phát hành.
      Nhánh dev đang được phát triển rất tích cực, đến mức có hơn 100 commit đi trước master.
      Việc bản phát hành chính thức gần nhất là vào tháng 3 năm 2024 cũng không có gì đáng lo cả.
      Nếu build trực tiếp từ nhánh phát triển thì lúc nào cũng có thể dùng bản mới nhất.
    • Một kiểu bình luận rất thường thấy trên HN, nửa như mỉa mai công sức của người khác.
  • Với một desktop được viết mới hoàn toàn thì trông nó khá ổn.
    Cá nhân tôi thích dock theo chiều dọc, nhưng cách hiển thị thời gian theo chiều dọc ở đây hơi đáng tiếc.
    • Lần cập nhật cuối của nhánh master là từ năm ngoái, còn phía develop cũng không hoạt động nhiều.
      Có vẻ dự án đã bắt đầu từ 7 năm trước.
    • Mới á? Trông còn như chẳng hỗ trợ Wayland nữa.
  • Bây giờ Wayland gần như đã là yêu cầu bắt buộc.
    Nếu bắt đầu có hỗ trợ Wayland thì tôi nhất định sẽ dùng thử nghiêm túc.
    • Có thể kỳ vọng công việc cho Wayland sẽ bắt đầu sau bản phát hành lớn tiếp theo.
      Họ đang chờ các chỉnh sửa ở thư viện cấp trên được áp dụng.
    • Thành thật mà nói tôi tò mò muốn biết lý do.
      Tôi cũng đã dùng Wayland một thời gian ngắn, nhưng từ góc độ người dùng bình thường thì hoàn toàn không cảm thấy có gì khác.
  • Phòng trường hợp ai đó thắc mắc, tôi đã tìm thử và thấy tính năng chuyển phần trang trí/nút cửa sổ sang bên phải đã được thêm từ phiên bản 0.2.
  • Tôi tò mò về bối cảnh và mục đích của dự án nên đã tìm hiểu thử.
    Tôi muốn biết đây là dự án làm vì sở thích, một phần của hoạt động kinh doanh kiếm tiền, hay là dự án học thuật được một trường đại học hay tổ chức nào đó tài trợ.
    Tìm ra thì thấy có hai người trong tài khoản GitHub parent https://github.com/FyshOS
    • Dự án này được phát triển như một dự án mã nguồn mở tình nguyện hoàn toàn vì chúng tôi thấy nó cần thiết.
      Nhóm nòng cốt có 4 người https://github.com/orgs/FyshOS/people và cũng rất tích cực đón nhận đóng góp từ cộng đồng.
      Chúng tôi cũng sẵn sàng cho tài trợ hoặc hợp tác thương mại.
  • Thật sự rất thú vị và khiến tôi muốn tự mình thử dùng.
    Gần đây tôi đã thử nghiệm khá nhiều thứ với Fyne và thấy khá thích.
    Tôi từng muốn vọc một desktop environment có thể tùy biến, nhưng quá trình thiết lập rắc rối quá nên cứ chần chừ, còn với Go thì lại thấy có hy vọng hơn.
    • Tôi khuyên bạn nên thử một lần.
      Chúng tôi đang cố gắng để trải nghiệm phát triển desktop environment trở nên dễ nhất có thể.
      Ví dụ, ngay cả module cho panel hay desktop cũng chỉ cần viết một hàm trả về fyne.CanvasObject, nên việc phát triển cũng đơn giản như làm panel trong một ứng dụng Fyne.
  • Cuối tuần này tôi nhất định sẽ thử.
    Tôi muốn hỏi liệu có điểm gì lạ cần lưu ý khi dùng trên Pop!_OS 22 không.