【问题标题】:How to create a simple desktop environment?如何创建一个简单的桌面环境?
【发布时间】:2011-04-29 10:47:37
【问题描述】:

我想知道如何为 Linux,或者特别是 Ubuntu/Kubuntu 创建一个简单的桌面环境,例如 KDE、Gnome 和 LXDE,但我不知道如何开始以及它有多复杂。

我想创建一个简单、高效、轻量级的桌面,并从 KDE、Gnome 和 Windows XP 中重现一些好的功能。我不想重新发明轮子,我想设计图形界面和主对话框。

我可以将 C++ 与 Qt 或 X11 调用一起使用。第一步是像 TWM 这样的简单桌面,然后我可以添加任务栏、开始菜单、新功能和新想法。

谢谢。

编辑

我已经安装了 icewm,我认为这是我需要开始的。在登录屏幕上,我可以选择是使用 KDE(桌面环境)还是 icewm(窗口管理器)。我不明白窗口管理器到底是什么。

我已经下载了 icewm 源代码,我很困惑。有一些概念是我必须要理解的,例如,加载桌面后登录屏幕后会发生什么,窗口是如何工作的,等等。

编辑 2

我想我需要一个好的教程。我必须了解窗口管理器或桌面环境是如何工作的。有些概念我必须知道。

【问题讨论】:

  • 这可能有助于理解术语“桌面环境”和“窗口管理器”之间的区别。 windowmanager 管理窗口。许多 wms 很少或根本不支持将图标和快捷方式放在“桌面”上,并且基本上将其用作(可能)窗口的装饰背景。 “桌面环境”通常是指具有各种生产力应用程序、交互式桌面和窗口管理器的更全面的系统。因此,从创建窗口管理器开始可能会有所帮助。

标签: linux user-interface desktop environment


【解决方案1】:

这些都是开源项目,所以我建议您使用一个更简单的窗口管理器并在其源代码中翻找。不过,我应该警告你:这种项目不适合胆小的人,你的小玩具项目成为主流桌面的可能性很低,所以不要想象它不仅仅是一个学习练习(如果它确实变得更多,你会感到惊喜)。

从战略上讲,最好的办法是分叉现有的 WM,而不是尝试从头开始构建一个全新的 WM。

最后一点:Qt 是一个位于窗口管理器之上的 C++ 窗口框架。它不是一个窗口管理器,本身,像 Gnome/TWM/等。是。而且,正如@ptomato 正确指出的那样,Gnome 实际上是一个桌面环境,它本身位于窗口管理器之上,它是可选的,但默认为 Mutter。

【讨论】:

  • @ptomato:感谢您指出这一点。我已经修改了答案。
【解决方案2】:

这绝非易事,但绝非不可能。

其他人已经做到了,那里有大量的 DE 或 WM,所以没有理由让你有耐心、技能和大量的咖啡做不出伟大的事情。

了解 DE 和 WM 之间的区别。
http://www.ghacks.net/2008/12/09/get-to-know-linux-desktop-environment-vs-window-manager/

测试不同的 DE 和 WM,也许其中一个完全符合您的要求?
http://www.engadget.com/2012/11/30/how-to-pick-a-desktop-environment-in-linux/ http://www.gilesorr.com/wm/table.html

制作您自己的自定义 DE
以下是帮助您开始创建自己的自定义 DE 的指南
http://maketecheasier.com/easily-create-a-custom-lightweight-desktop-environment/2010/08/10

完成所有这些之后,你应该能够更好地弄清楚你真正想要做什么。

派生一个项目并开始更改它!

祝你好运

【讨论】:

  • 解释的很好,确实!谢谢你,乔纳斯!但是,来自 MakeTechEasier 关于创建自定义 DE 的链接都是关于在 DE 启动时使用现有的 DE 和一些 ShellScript 来运行自定义程序。这并不是真正从头开始编写 DE。
  • @StanleySathler tldr 是桌面环境是一套工具,我发现开始学习这些工具是如何工作的更容易是 dwm 窗口管理器。当我使用和定制它时,我注意到与桌面环境相比它缺少什么。当第一次构建、安装和启动它时,我很困惑,因为我什么都做不了;甚至没有注销或关机。如果您愿意在从头开始编码之前先开始了解它的工作原理,请试一试。不要像我之前那样困惑的提示:尝试使用 alt+a 和 shift+altl+q 快捷键。也许首先阅读“手册”xD
【解决方案3】:

我会使用 X 调用并学习如何引导到 CLI(命令行界面)。引导至 CLI 允许您在窗口管理器/桌面环境之间切换。然后我会设计一个窗口管理器。最后以桌面环境结束。

它从帧缓冲区开始。这些是 80 年代图形的工作原理。

那么你就有了 X 窗口系统。但是,这不会一次显示多个窗口。一次只有一个。

窗口管理器是控制窗口位置的程序。这允许多个 X 窗口占据一个屏幕。

然后在此基础上构建一个桌面环境,以添加任务栏、开始菜单和桌面图标等内容。

【讨论】:

  • 这个答案很好,但没有帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-26
  • 1970-01-01
  • 2011-08-25
  • 1970-01-01
  • 2017-03-14
  • 2010-10-09
相关资源
最近更新 更多