Ubuntu(Mini) - 如何用我自己的版本替換系統消息對話框的外殼?
我正在使用使用 mini .iso安裝在VirtualBox上的****Linux Ubuntu 14.04 LTS ,並嘗試基於它製作我自己的發行版。我知道,該版本的支持將在 3-4 個月後結束,我會在我的新電腦上更新它。當然,我正在開發桌面環境,工作列等。
但我不知道如何自定義它的消息對話框(錯誤、警告、問題和資訊). 現在我想用我自己的版本替換這些對話框的外殼。我使用“ Openbox ”作為桌面環境的基礎。並且上面安裝了x11和GTK。這些消息對話框是否與 GTK 或 X11 相關?(注意:這是我在 StackExchange 中的第一個問題)
消息對話框通常是軟體包的一部分。如果軟體是用 C 或 C++ 編碼的,則消息通常在其原始碼中,並且出現在二進制執行檔中(使用strings(1)實用程序檢查)。
小元件外觀可以由 GUI主題和样式驅動。對於 GTK3,請閱讀GtkStyleContext等… Qt 有其樣式教程。
Ubuntu 主要由自由軟體組成。因此,您可以(在特定條件下;研究與每個包相關的開源許可證)下載、研究和修改程序的原始碼,並重新分發改進的二進製文件(您通常應該發布對原始碼的改進)。首先下載(然後編譯和研究)GTK 的原始碼。
大多數(但不是全部)程序都在使用國際化和本地化工具來適應各種人類語言(例如英語、法語、中文等)。在實踐中,請參閱locale(7)和gettext(3)並閱讀 GNU glibc 文件的消息翻譯章節。
GTK包含具有國際化宏的Glib(以及與 X11 介面的 GDK)。
我的建議可能是擁有自己的消息目錄(請參閱msgfmt(1) …),或者從可能修補的原始碼編譯分發。
順便說一句,你的項目比你想像的要雄心勃勃。我強烈建議在您的筆記型電腦上本地安裝 Linux(在任何 VirtualBox 之外,直接在硬體上,在幾個專用磁碟分區中)並花數週時間熟悉它。
最後,Ubuntu 14 真的很老了。考慮將您的工作基於更新的 Ubuntu,例如 Ubuntu 18.04(2018 年 11 月)。你可以得到更多幫助。
您可能對linuxfromscratch或基於原始碼的 Linux 發行版(例如Gentoo或Arch )感興趣。
現在我想用我自己的版本替換這些對話框的外殼。
所以需要打更新檔相關程序的原始碼。您可能想要搜尋
gtk_dialog_new
or ofgtk_message_dialog_new
和相關函式的出現。你應該學習如何開始使用 GTK,首先專注於一個程序(例如,如果你想改進gedit,獲取它的原始碼並編譯然後研究它),然後改進它。我使用“Openbox”作為桌面環境的基礎
然後下載Openbox的原始碼;研究它。請注意EWMH約定。我相信 OpenBox 社區會歡迎您的努力(如果您的貢獻是開源的)。
這些消息對話框是否與 GTK 或 X11 相關?
閱讀更多關於X11、它的協議、Xorg、ICCCM、Gnome的資訊。所有這些(當它是軟體時)都是免費軟體,並且有據可查(但您需要閱讀數千頁)。
對話框(在 GTK 之上建構的程序)通常使用GtkDialog類(或子類),在類的 Glib/ GObject意義上。
PS。您想要實現的目標(我不清楚)可能需要您數月或數年的工作(甚至可能超過一生)。但是,如果您只想製作新主題或新消息目錄,則可能只需要數週時間。
聚苯乙烯。請注意,Linux 發行版有數十億行原始碼。你的一生(即使你活了一千年)也不足以研究所有這些,你的大腦也不夠強大,無法理解所有這些。所以專注於一個小的子部分。首先下載一些原始碼並編譯它,然後研究它。