1 คะแนน โดย GN⁺ 2025-10-05 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • FyneDesk คือ สภาพแวดล้อมเดสก์ท็อปสำหรับ Linux/Unix ที่พัฒนาด้วยภาษา Go
  • สร้างบนพื้นฐานของ Fyne toolkit โดยมุ่งเน้น การใช้งานที่เรียบง่าย และ การพัฒนาที่ทำได้ง่าย
  • มอบ ประสบการณ์เดสก์ท็อปแบบครบถ้วน ร่วมกับเครื่องมือภายนอกที่จำเป็น
  • สามารถเสริมความเสถียรได้ด้วยยูทิลิตี fynedesk_runner ที่มี ฟังก์ชันกู้คืนอัตโนมัติ
  • ในฐานะซอฟต์แวร์เวอร์ชันอัลฟา/เบตา จึงยินดีต้อนรับ การมีส่วนร่วมโอเพนซอร์สและฟีดแบ็ก

ภาพรวมโครงการ

  • FyneDesk คือ สภาพแวดล้อมเดสก์ท็อปสำหรับ Linux หรือ Unix ที่พัฒนาด้วยภาษา Go และ Fyne toolkit
  • มุ่งสู่ UI ที่ใช้งานเข้าใจง่ายตามแนวทาง Material Design และ เป็นมิตรกับผู้ใช้
  • จุดเด่นคือ ทั้งนักพัฒนามือใหม่และผู้มีประสบการณ์สามารถพัฒนาและมีส่วนร่วมได้ง่าย

คุณสมบัติเด่นและจุดแข็ง

  • FyneDesk แตกต่างจากสภาพแวดล้อมเดสก์ท็อปแบบเดิมตรงที่เขียนด้วย ภาษา Go ทำให้จัดการและบำรุงรักษาได้ง่าย
  • บนพื้นฐานของ Fyne toolkit จึงมีโครงสร้าง GUI ที่ ขยายต่อได้สูง
  • จุดเด่นคือ ติดตั้งได้เบา และเปิดใช้งานได้รวดเร็ว
  • เปิดรับ ฟีดแบ็กจากผู้มีส่วนร่วมและผู้ใช้ อย่างกระตือรือร้น

การพึ่งพาและเครื่องมือภายนอก

  • เพื่อให้ FyneDesk ทำงานได้อย่างสมบูรณ์ จำเป็นต้องมีเครื่องมือภายนอกต่อไปนี้
    • arandr : สำหรับเปลี่ยนการตั้งค่าจอแสดงผล
    • xbacklight หรือ brightnessctl : สำหรับปรับความสว่างของโน้ตบุ๊ก
    • connman-gtk : สำหรับตั้งค่าเครือข่าย Wi-Fi
    • compton : สำหรับรองรับ compositor
  • แม้จะทำงานได้โดยไม่มีเครื่องมือเหล่านี้ แต่ ประสบการณ์เดสก์ท็อปแบบครบถ้วนจะถูกจำกัด

การติดตั้งและการรัน

  • สามารถติดตั้ง FyneDesk ได้ง่ายด้วยเครื่องมือ Go มาตรฐาน
  • หลังติดตั้งสามารถรันใน "โหมดพรีวิว" ได้ และหากต้องการใช้เป็น window manager จะต้องตั้งค่าเพิ่มเติม
  • จะมี FyneDesk แสดงในเมนูเลือกสภาพแวดล้อมเดสก์ท็อป
  • สามารถทดสอบในหน้าต่าง X ภายในได้ด้วยเครื่องมือ Xephyr

fynedesk_runner และความเสถียร

  • เพื่อเพิ่มความเสถียร FyneDesk รองรับยูทิลิตี fynedesk_runner
    • หากโปรแกรมหยุดทำงานโดยไม่คาดคิด จะกู้คืนสถานะการทำงานโดยอัตโนมัติ
    • เป็นโครงสร้างที่เหมาะกับการประเมินและทดสอบเวอร์ชันก่อนเผยแพร่ (อัลฟา/เบตา)

แนวทางการแพ็กเกจและการแจกจ่าย

  • เมื่อนำไปแจกจ่าย จะอยู่ในรูปแบบ น้ำหนักเบา ที่ไม่มีไลบรารีและการพึ่งพาที่ไม่จำเป็น
  • เมื่อใช้งานร่วมกับแอปเสริมอย่าง fin (fyshos/fin) ก็สามารถมอบประสบการณ์แบบบูรณาการที่สมบูรณ์ยิ่งขึ้นได้
  • หากแพ็กเกจเพื่อแจกจ่ายบนระบบและติดต่อไปยังโครงการ ก็สามารถเพิ่มลิงก์อย่างเป็นทางการได้

การมีส่วนร่วมแบบโอเพนซอร์ส

  • ยินดีต้อนรับ ทุกคนให้มีส่วนร่วมในโอเพนซอร์สและส่งฟีดแบ็ก
  • ณ เดือนมีนาคม 2024 มี 1,300 ดาว, 54 ฟอร์ก และ ผู้มีส่วนร่วมมากกว่า 8 คน กำลังเคลื่อนไหวอยู่

1 ความคิดเห็น

 
GN⁺ 2025-10-05
ความคิดเห็นจาก Hacker News
  • ฉันเองก็ยังไม่คิดจะย้ายไปใช้เดสก์ท็อปที่ไม่รองรับ Wayland เพราะ Nvidia แต่ก็ไม่เห็นด้วยกับบรรยากาศมองโลกในแง่ร้ายในคอมเมนต์เหล่านี้
    โปรเจ็กต์นี้ดูยอดเยี่ยมมาก และยิ่งชอบเข้าไปอีกเพราะมันเป็นส่วนหนึ่งของเป้าหมายที่ใหญ่กว่าคือการสร้าง UI toolkit ข้ามแพลตฟอร์ม https://fyne.io
    อยากเห็นนักพัฒนาที่กล้าลุยโปรเจ็กต์ทะเยอทะยานแบบนี้เพิ่มขึ้นอีก แทนที่จะมีแต่ OpenAI API wrapper โผล่ออกมา
    หวังว่าจะเดินหน้าทำสิ่งดี ๆ แบบนี้ต่อไป
    • ฉันไม่ค่อยรู้สถานะการรองรับ Wayland เท่าไร แต่เข้าใจว่ากำลังทำเรื่องนี้อยู่ https://github.com/FyshOS/fynedesk/issues/76
  • ตอนนี้โปรเจ็กต์นี้ยังอิงกับ X11
    ฉันย้ายไปใช้เดสก์ท็อปที่เป็น Wayland ล้วนแล้ว เพราะงั้นถ้า FyneDesk เปลี่ยนไปใช้ Wayland ก็จะยินดีลองใช้อย่างมาก
    ได้ยินมาว่ากำลังตั้งเป้ารองรับ Wayland แบบสมบูรณ์ใน 5.0
    แต่ก็สงสัยว่า ETA คือเมื่อไร เพราะรีลีสล่าสุดก็ผ่านไป 1.5 ปีแล้วเลยยังรออยู่
    ฉันยังเห็นข้อมูลด้วยว่ารีลีสบรাঞ্চ 0.4 จะเป็นตัวสุดท้ายที่ใช้ X11 และตั้งแต่ 0.5 เป็นต้นไปจะย้ายไปใช้ Wayland (รวม XWayland) https://github.com/FyshOS/fynedesk/releases
    • แผนเปลี่ยนไปเพราะปัจจัยภายนอก ดังนั้นรีลีสถัดไปจะยังเป็น X11
      หลังจากนั้น (น่าจะช่วงปลายปีนี้) ก็มีแผนจะเริ่มงานย้ายไป Wayland
      เราอยากรองรับทั้งสองอย่างเพื่อให้การเปลี่ยนผ่านราบรื่น แต่ตอนนี้ก็ยังไม่แน่นอน
    • งาน Wayland น่าจะเริ่มหลังเมเจอร์รีลีสถัดไป
      ตอนนี้กำลังรอให้การแก้ไขในไลบรารีต้นน้ำถูกนำมาใช้
    • ฉันนึกว่ามี compatibility layer ที่สมบูรณ์แบบสำหรับรัน X11 บน Wayland เสียอีก เลยสงสัยว่าจริง ๆ แล้วไม่ใช่แบบนั้นหรือ
    • ฉันไม่ชอบวิธีทำงานของ xdg-desktop-portal เอามาก ๆ
      ฉันพยายามทำ color picker บน Arch/Hyprland แต่ไม่สำเร็จเลย
      API มันให้ความรู้สึกว่าออกแบบมาได้แย่มาก
    • มันจะออกเมื่อมันพร้อม และถ้าฉันลงมือช่วยเอง รีลีสก็คงออกได้เร็วขึ้น
      ฟังดูเหมือนท่าทีแบบรู้สึกว่าตัวเองมีสิทธิ์เรียกร้องเกินไป
  • สำหรับฉัน มันดูเหมือนอาจเป็นฐานของประสบการณ์ผู้ใช้ระบบปฏิบัติการแนว Oberon และ Inferno แบบ modern ได้
    ถ้าคิดถึงภูมิหลังการเกิดขึ้นของ Go มันก็ให้ความรู้สึกเหมือนส่วนผสมของ Limbo กับ Oberon-2
    เมื่อมองจากนโยบาย dynamic linking ของ Go (รวมถึงแพ็กเกจ plugin ที่แทบถูกทิ้งร้าง) ฉันเลยคิดว่าในเดสก์ท็อปอาจแทนพฤติกรรมแบบไดนามิกของ Oberon หรือ Inferno ด้วย D-Bus หรือ net/rpc ได้
    แต่พอเห็นความกระจัดกระจายของเดสก์ท็อปในโลกจริงแล้ว ก็คงไม่ค่อยคุ้มที่จะลงมือท้าทายจริง ๆ แค่ลองจินตนาการว่ามันจะออกมาเป็นแบบไหนเท่านั้น
    • เป้าหมายของฉันคือสร้างเดสก์ท็อปที่ดีที่สุดสำหรับนักพัฒนาหรือคนที่กำลังเรียนเขียนโค้ด
      ตอนนี้เรากำลังรวมแอป editor เข้ากับ FyshOS (ชื่อเปลี่ยนแล้วและย้ายไปที่ https://apptrix.ai)
      ดูได้จากวิดีโอตัวอย่างเก่า https://youtu.be/XXmDmn-et4E?si=5n1Ao-V6dKurXzS6 (ส่วนที่เกี่ยวข้องหลัก ๆ เริ่มราว 15:30)
    • มีทางเลือกอื่นสำหรับสถานะของ Go plugin ในตอนนี้อยู่
      เป็นเทคนิคที่โหลดและรัน object file ที่ compiler สร้างขึ้นโดยตรง คล้ายกับระบบ Oberon https://github.com/pkujhd/goloader
  • commit ล่าสุดใน development branch คือเมื่อ 3 วันที่แล้ว แปลว่ายังมีการพัฒนาต่อเนื่องอยู่
    มันถูก merge เข้า main branch เมื่อเดือนมีนาคม 2024
    • master branch ใช้สำหรับรีลีสเท่านั้น
      dev branch ยังมีการพัฒนาอย่างคึกคักมาก โดยมี commit นำหน้า master มากกว่า 100 รายการ
      ดังนั้นการที่รีลีสทางการล่าสุดเป็นเมื่อมีนาคม 2024 ก็ดูไม่ใช่ปัญหาอะไรเลย
      ถ้าบิลด์จาก development branch โดยตรง ก็จะได้ใช้เวอร์ชันล่าสุดเสมอ
    • นี่เป็นคอมเมนต์สไตล์ HN ที่ชอบเหน็บแนมความพยายามของคนอื่นแบบเนียน ๆ
  • สำหรับเดสก์ท็อปที่พัฒนาขึ้นใหม่ทั้งหมด มันดูออกมาดีทีเดียว
    ส่วนตัวฉันชอบ dock แนวตั้ง แต่รู้สึกว่าการแสดงเวลาในแนวตั้งยังน่าเสียดายอยู่
    • อัปเดตล่าสุดของ master branch คือปีที่แล้ว และฝั่ง develop ก็ไม่ได้ค่อยมี activity มากนัก
      ดูเหมือนว่าโปรเจ็กต์นี้เริ่มเมื่อ 7 ปีก่อน
    • ของใหม่เหรอ? ดูเหมือนจะยังไม่รองรับ Wayland ด้วยซ้ำ
  • ตอนนี้ Wayland กลายเป็นสิ่งจำเป็นไปแล้ว
    ถ้าเริ่มรองรับ Wayland เมื่อไร ฉันตั้งใจจะลองใช้อย่างจริงจังแน่นอน
    • คาดว่างาน Wayland จะเริ่มหลังเมเจอร์รีลีสถัดไป
      กำลังรอให้การแก้ไขในไลบรารีต้นน้ำถูกนำเข้า
    • อยากรู้จริง ๆ แบบตรงไปตรงมาว่าทำไม
      ฉันเองก็เคยลองใช้ Wayland ช่วงสั้น ๆ แต่ในฐานะผู้ใช้ทั่วไปกลับไม่รู้สึกถึงความต่างอะไรเลย
  • เผื่อมีใครสงสัย ฉันไปเช็กมาแล้วว่าฟีเจอร์ย้าย window decorations/ปุ่มไปไว้ด้านขวาถูกเพิ่มเข้ามาในเวอร์ชัน 0.2
  • ฉันไปหาข้อมูลเพราะอยากรู้ที่มาและเป้าหมายของโปรเจ็กต์นี้
    สงสัยว่ามันเป็นงานอดิเรก เป็นส่วนหนึ่งของธุรกิจหารายได้ หรือเป็นโปรเจ็กต์เชิงวิชาการที่มีมหาวิทยาลัยหรือหน่วยงานใดสนับสนุนหรือเปล่า
    ดูแล้วในบัญชี GitHub หลักมีอยู่สองคน https://github.com/FyshOS
    • โปรเจ็กต์นี้กำลังพัฒนาเป็นโอเพนซอร์สแบบอาสาสมัครล้วน ๆ เพราะเราเชื่อว่ามันจำเป็น
      ทีมหลักมี 4 คน https://github.com/orgs/FyshOS/people และก็เปิดรับการมีส่วนร่วมจากชุมชนอย่างจริงจัง
      เรายังเปิดรับ sponsorship และความร่วมมือเชิงพาณิชย์ด้วย
  • น่าสนใจมากและทำให้ฉันอยากลองใช้ด้วยตัวเองจริง ๆ
    ช่วงนี้ฉันกำลังทดลองอะไรหลายอย่างกับ Fyne และค่อนข้างชอบมัน
    ถึงจะอยากลองเล่นกับเดสก์ท็อปที่ปรับแต่งได้ แต่ขั้นตอน setup มันวุ่นวายเกินไปเลยลังเลอยู่ ทว่าเพราะมันเป็น Go เลยรู้สึกว่าพอมีความเป็นไปได้ขึ้นมา
    • แนะนำให้ลองใช้ดู
      เราพยายามทำให้ประสบการณ์พัฒนาเดสก์ท็อปง่ายที่สุดเท่าที่จะเป็นไปได้
      ตัวอย่างเช่น โมดูลของ panel หรือเดสก์ท็อปก็แค่เขียนฟังก์ชันที่คืนค่า fyne.CanvasObject เท่านั้น เลยพัฒนาได้ง่ายเหมือนสร้าง panel ในแอป Fyne
  • สุดสัปดาห์นี้ฉันจะลองให้ได้
    อยากรู้ว่ามีข้อควรระวังหรือจุดแปลกอะไรเป็นพิเศษสำหรับ Pop!_OS 22 ไหม