Gtk2-NG: Sự hồi sinh của bộ công cụ GUI huyền thoại Gtk 2

Công nghệ11 tháng 5, 2026·6 phút đọc

Kế hoạch loại bỏ Gtk2 trong Debian 14 đã vô tình kích hoạt sự phát triển của dự án Gtk2-NG, một nỗ lực nhằm hiện đại hóa bộ công cụ đồ họa này. Dự án đang thu hút sự quan tâm nhờ cam kết duy trì khả năng tương thích trong khi vá lỗi và bổ sung tính năng mới.

Gtk2-NG: Sự hồi sinh của bộ công cụ GUI huyền thoại Gtk 2

Gtk2-NG: Sự hồi sinh của bộ công cụ GUI huyền thoại Gtk 2

Kế hoạch loại bỏ Gtk2 trong Debian 14 đã vô tình kích hoạt sự phát triển mới, giống như việc cắt tỉa cây cối giúp chúng mọc mạnh mẽ hơn.

Một nỗ lực nhằm hồi sinh và làm mới bộ công cụ lập trình giao diện đồ họa (GUI) Gtk2 ra đời năm 2002 đang ngày càng phát triển và thu hút sự quan tâm, đúng như chúng tôi đã dự đoán vài tháng trước. Dự án gtk2-ng đang nỗ lực phục hồi và hiện đại hóa phiên bản Gtk 2, phiên bản mà các nhà phát triển GNOME từng tuyên bố "chết" từ năm 2020.

Chúng tôi đã tạm dừng đưa tin về việc này một thời gian để xem ý tưởng này có nhận được sự ủng hộ hay không, và dường như nó thực sự đang thắng thế trong việc thu hút những người theo dõi và quan tâm.

Việc hồi sinh một bộ công cụ 24 năm tuổi, đã đạt đến thời điểm kết thúc vòng đời chính thức (EOL) cách đây 6 năm, là một nhiệm vụ mang tính hoài niệm, và vì vậy, nó thu hút một số dự án phát triển hiện đại nhưng vẫn hoài niệm cũ. Mã nguồn của dự án được lưu trữ trên instance Git của dự án Devuan, bản fork của Debian không sử dụng systemd. (Năm ngoái, Devuan đã công bố hỗ trợ Xlibre, bản fork của X.org nhằm phục hồi sự phát triển của X11.)

Tuy nhiên, nhà phát triển Daemonratte đã công bố bản fork này trong một chủ đề trên diễn đàn của trình duyệt Pale Moon: GTK2 revival. Như chúng tôi đã mô tả vào năm 2021, Pale Moon là một bản fork liên tục của phiên bản đầu tiên của Firefox.

Vào tháng 2, khi chúng tôi đưa tin về việc Debian 14 lên kế hoạch loại bỏ Gtk2, chúng tôi đã đề cập rằng điều này có thể tạo động lực cho một bản fork. Và bây giờ, điều đó đã thành hiện thực.

Đây không phải là bản fork đầu tiên như vậy, và lúc đó chúng tôi đã đề cập đến trạm làm việc âm thanh kỹ thuật số Ardour mà chúng tôi đã xem xét vào năm 2022 vẫn duy trì phiên bản nội bộ của riêng mình gọi là YTK. Daemonratte cho biết họ đã kết hợp một số bản sửa lỗi từ YTK, cũng như từ một bản fork trước đó của stefan11111 đã không hoạt động trong vài năm.

Sau đó, họ phác thảo các mục tiêu hiện tại và tương lai của dự án:

Trạng thái hiện tại:

  • Đảm bảo an toàn trước lỗi Y2K38 (lỗi năm 2038).
  • Loại bỏ tất cả các cảnh báo lỗi thời (deprecation warnings).
  • vá lỗi cho NetBSD và backport các bản vá dành riêng cho NetBSD.
  • Kiểm thử trên mọi loại phần cứng.
  • Hiện đại hóa thêm mà không làm vỡ ABI (Giao diện nhị phân ứng dụng).

Kế hoạch trong tương lai:

  • Triển khai hỗ trợ cảm ứng và cuộn mượt mà từ ytk của Ardour mà không làm vỡ ABI, để Ardour có thể biên dịch lại với gtk2.
  • Thúc đẩy mạnh mẽ việc áp dụng nó trong thế giới Linux không dùng systemd và BSD.
  • Triển khai lại GtkMozEmbed cho UXP, để công cụ tuyệt vời này có thể được sử dụng trong các dự án gtk2.

Ban đầu, Gtk là viết tắt của GIMP Tool Kit: 30 năm trước, khi trình chỉnh sửa ảnh GIMP ra mắt công chúng, Gtk là bộ công cụ mà các tác giả của GIMP tạo ra để giúp việc viết ứng dụng GUI bằng C dễ dàng hơn. Sáu năm sau, GTK+ 2.0.0 xuất hiện. Dấu cộng mới trong tên đại diện cho một thiết kế hướng đối tượng mới.

Khi Miguel de Icaza công bố dự án màn hình desktop GNOME vào năm 1997, nó đã chọn Gtk thay vì Qt, vốn lúc đó bán thương mại một phần và được KDE sử dụng. Kể từ đó, Gtk được phát triển song song với GNOME. Sự phát triển của GIMP tương đối chậm: nhóm cuối cùng đã phát hành phiên bản 3.0 một năm trước và nó sử dụng Gtk 3. (Tháng trước, họ phát hành phiên bản 3.2.4.) Tuy nhiên, kể từ khi ra mắt, dự án GNOME đã phát hành 39 phiên bản đánh số, và trong những thập kỷ gần đây, Gtk đã bắt kịp với GNOME chứ không phải GIMP.

Phiên bản cuối cùng của Gtk 2 là GTK+ 2.24.0 vào năm 2012. Các nhà phát triển GNOME chính thức tuyên bố nó hết vòng đời với sự ra mắt của Gtk 4 vào năm 2020.

Gtk2-ng hoàn toàn không phải là dự án duy nhất fork và hồi phục một phiên bản cũ hơn của một dự án, vốn sau đó đã bị các phiên bản mới hơn từ nhóm gốc thay thế. Một trong những ví dụ rõ ràng nhất là màn hình desktop MATE, mà nhà phát triển người Argentina Perberos đã công bố vào năm 2011. Tuy nhiên, Daemonratte đã tuyên bố:

"Tầm nhìn cuối cùng của bản fork này là giữ cho gtk2 sống sót cho phần mềm đang sử dụng nó ngay bây giờ và hồi phục các phiên bản gtk2 của [...] Gnome2 [...]. Có, tôi không phải làm điều này một mình và không, Mate không phải là một lựa chọn, vì họ hiện đang sử dụng gtk3."

Dự án này hoàn toàn không đơn độc. Chúng tôi đã đưa tin về các bản phát hành của môi trường desktop Trinity, bản fork của KDE 3, kể từ phiên bản 14.0.11 vào năm 2021. Tác giả bài viết này từng sử dụng KDE 1.x thời nó là đỉnh cao của nghệ thuật Linux, và đối với chúng tôi, KDE 3.x lúc đó đã quá lớn và phức tạp.

Nhân kỷ niệm 20 năm của dự án KDE vào năm 2016, nhà phát triển người Brazil Helio Chissini de Castro đã hiện đại hóa KDE 1 để nó có thể biên dịch và chạy trên Fedora 25. Chúng tôi không nhận ra rằng điều này đã trở thành một nỗ lực liên tục, nhưng thực sự là như vậy. Từ chủ đề Gtk-ng sau đó, chúng tôi biết đến MiDesktop, một dự án đang tiếp tục dựa trên Osiris, một phiên bản Qt 2 đã được hiện đại hóa.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗