我想设置一个自定义 Linux 操作系统,主要用于业余爱好和学习用途。它不需要桌面环境,但我确实想至少自定义窗口管理器的视觉外观,也许还有任务栏。应用程序(带有 GUI)可以使用终端运行,这将是启动后的默认应用程序。基本上,我希望它具有旧计算机的外观和感觉,但依赖于我自己的 GUI 图形。它还需要能够完全使用键盘进行控制。
我了解 Linux 并了解什么是窗口管理器、桌面环境等,但我没有 Linux 开发的直接知识。我在网上搜索了制作这样一个 GUI 的工具和技术,但是信息太多,我对我可以使用和做什么感到有点困惑。我可以获得一个没有 GUI 的裸 Linux 发行版,而且我知道我必须至少安装一个窗口管理器才能显示 GUI,但这就是重点,我想要一个带有任务栏的自定义 GUI,但我正在查看这更多地是从图形设计师的角度而不是程序员的角度来看,所以我真的不知道从哪里继续。我正在考虑使用 Qt 或 SDL 作为 GUI 和应用程序。所以我的问题实际上是关于如何创建自定义 GUI,而不需要从头开始开发窗口管理器。 Python/Lua甚至C#是首选,但C++也不是问题。
仅供参考,它并不意味着像 Ubuntu 那样作为标准操作系统运行。它用于特定用途,仅用于运行我自己的简单应用程序(我将操作系统作为虚拟机运行)。该系统的用途非常具体且独特,但我不确定如果人们知道其用途,他们会作何反应。这不是专业用途的东西,也不是真正严肃的东西,而只是对理解 Linux 和一般操作系统的一些探索。
答案1
的角色X11 窗口管理器相当复杂。首先,详细了解X核心协议和X架构。然后阅读欧洲WMH如果您需要了解传统的WM 的角色(也被 X11 所熟知和尊重)工具包喜欢GTK,Qt, ETC...)。
即使是单应用程序但多窗口(例如弹出窗口)程序实际上也需要一些 WM
然后你可以选择、配置或者修补一些窗口管理器以满足您的特殊需求。也许惊人的,因为它可以在 Lua 中编写脚本,可能会让您满意(并且您可以找到其他可编写脚本的窗口管理器,或者修补一些现有的窗口管理器......)。一些窗口管理器仅使用或主要使用键盘(例如老鼠药,xmonad, ETC...)
(编写自己的符合 EWMH 标准的窗口管理器会花费您太多时间)