I want to know how to create a simple desktop environment, such as KDE, Gnome and LXDE, for Linux, or specifically, Ubuntu/Kubuntu, but I do not know how to begin and how complex it is.
我想知道如何为Linux创建一个简单的桌面环境,例如KDE、Gnome和LXDE,或者专门为Ubuntu/Kubuntu,但是我不知道如何开始,以及它有多复杂。
I want to create a simple, efficient and lightweight desktop and to reproduce some good features from KDE, Gnome and Windows XP. I do not want to reinvent the wheel, I want to design the graphical interface and main dialogs.
我希望创建一个简单、高效、轻量级的桌面,并再现KDE、Gnome和Windows XP的一些优秀特性。我不想重新发明*,我想设计图形界面和主对话框。
I could use C++ with Qt, or maybe with X11 calls. A simple desktop like TWM would be the first step, then I could add task bar, start menu, new features and play with new ideas.
我可以用c++处理Qt,也可以用X11调用。像TWM这样的简单桌面将是第一步,然后我可以添加任务栏,开始菜单,新功能和新想法。
Thanks.
谢谢。
Edit
编辑
I have installed icewm and I think it is what I need to begin. On login screen, I can choose if I use KDE (desktop environment) or icewm (window manager). I do not understand what a window manager actually is.
我已经安装了icewm,我认为这是我需要开始的。在登录屏幕上,我可以选择是否使用KDE(桌面环境)或icewm(窗口管理器)。我不明白什么是窗口管理器。
I have downloaded icewm source code and I am confuse. There are some concepts that I have to understand, such as, what happens after login screen when the desktop is loaded, how a window works, etc.
我下载了icewm源代码,我很困惑。有一些概念我必须理解,例如,当桌面加载时登录屏幕后会发生什么,窗口如何工作等等。
Edit 2
编辑2
I think I need a good tutorial. I have to understand how a Window Manager or Desktop Environment work. There are some concepts that I have to know.
我想我需要一个好的教程。我必须了解窗口管理器或桌面环境是如何工作的。有一些概念我必须知道。
2 个解决方案
#1
19
This is no simple feat but by no means impossible.
这不是一个简单的壮举,但绝不是不可能的。
Other people have done it, there are plenty of DE or WM out there so there is no reason that you, with patient, skill and lots coffee couldn't do something great.
其他人也做过,有很多DE或WM,所以没有理由说你,有耐心,有技巧,有很多咖啡不能做伟大的事情。
Learn the difference between DE and WM.
http://www.ghacks.net/2008/12/09/get-to-know-linux-desktop-environment-vs-window-manager/
学习DE和WM的区别。http://www.ghacks.net/2008/12/09/get-to-know-linux-desktop-environment-vs-window-manager/
Test different DE and WM, maybe one does exactly what you want it to do?
http://www.engadget.com/2012/11/30/how-to-pick-a-desktop-environment-in-linux/ http://www.gilesorr.com/wm/table.html
测试不同的DE和WM,也许一个做你想要它做的事?http://www.engadget.com/2012/11/30/how-to-pick-a-desktop-environment-in-linux/ http://www.gilesorr.com/wm/table.html
Make your own custom DE
Here is a guide to get you started creating your own custom DE
http://maketecheasier.com/easily-create-a-custom-lightweight-desktop-environment/2010/08/10
制作你自己的自定义DE这里有一个指南让你开始创建你自己的自定义DE http://maketechsimpler.com/易于创建——一个定制的轻量级桌面环境
After doing all this you should be better equipped to figure out what you actually want to do.
在完成所有这些之后,你应该更好地了解你真正想做什么。
Fork a project and get started changing it!
放弃一个项目,开始改变它!
Good luck
祝你好运
#2
12
These are all open source projects, so I suggest you grab one of the simpler window managers and rummage around in its source code. I should warn you, though: this kind of project is not for the faint-hearted, and the likelihood of your little toy project becoming a mainstream desktop is low, so don't go into this imagining it's going to be anything more than a learning exercise (and if it does become something more, you'll be pleasantly surprised).
这些都是开源项目,所以我建议您使用一个更简单的窗口管理器,并在其源代码中查找它们。不过,我要提醒你们:这类项目需要胆量,和你的小玩具项目成为主流桌面的可能性很低,所以不要进入这个想象这将是任何一个多练习(如果它成为更多的东西,你会感到惊喜)。
Strategically, your best bet is to fork an existing WM, rather than trying to build a brand new one from scratch.
从战略上讲,你最好的选择是使用现有的WM,而不是从头开始构建一个全新的WM。
One final point: Qt is a windowing framework for C++ that sits on top of a window manager. It isn't a window manager, per se, like Gnome/TWM/etc. are. And, as @ptomato rightly points out, Gnome is actually a desktop environment that itself sits on top of a window manager, which is selectable, but defaults to Metacity.
最后一点:Qt是一个位于窗口管理器顶部的c++窗口框架。它本身不是一个窗口管理器,比如Gnome/TWM/等等。是这样的。而且,正如@ p蕃茄指出的那样,Gnome实际上是一个桌面环境,它本身位于窗口管理器的顶部,它是可选择的,但默认为Metacity。
#1
19
This is no simple feat but by no means impossible.
这不是一个简单的壮举,但绝不是不可能的。
Other people have done it, there are plenty of DE or WM out there so there is no reason that you, with patient, skill and lots coffee couldn't do something great.
其他人也做过,有很多DE或WM,所以没有理由说你,有耐心,有技巧,有很多咖啡不能做伟大的事情。
Learn the difference between DE and WM.
http://www.ghacks.net/2008/12/09/get-to-know-linux-desktop-environment-vs-window-manager/
学习DE和WM的区别。http://www.ghacks.net/2008/12/09/get-to-know-linux-desktop-environment-vs-window-manager/
Test different DE and WM, maybe one does exactly what you want it to do?
http://www.engadget.com/2012/11/30/how-to-pick-a-desktop-environment-in-linux/ http://www.gilesorr.com/wm/table.html
测试不同的DE和WM,也许一个做你想要它做的事?http://www.engadget.com/2012/11/30/how-to-pick-a-desktop-environment-in-linux/ http://www.gilesorr.com/wm/table.html
Make your own custom DE
Here is a guide to get you started creating your own custom DE
http://maketecheasier.com/easily-create-a-custom-lightweight-desktop-environment/2010/08/10
制作你自己的自定义DE这里有一个指南让你开始创建你自己的自定义DE http://maketechsimpler.com/易于创建——一个定制的轻量级桌面环境
After doing all this you should be better equipped to figure out what you actually want to do.
在完成所有这些之后,你应该更好地了解你真正想做什么。
Fork a project and get started changing it!
放弃一个项目,开始改变它!
Good luck
祝你好运
#2
12
These are all open source projects, so I suggest you grab one of the simpler window managers and rummage around in its source code. I should warn you, though: this kind of project is not for the faint-hearted, and the likelihood of your little toy project becoming a mainstream desktop is low, so don't go into this imagining it's going to be anything more than a learning exercise (and if it does become something more, you'll be pleasantly surprised).
这些都是开源项目,所以我建议您使用一个更简单的窗口管理器,并在其源代码中查找它们。不过,我要提醒你们:这类项目需要胆量,和你的小玩具项目成为主流桌面的可能性很低,所以不要进入这个想象这将是任何一个多练习(如果它成为更多的东西,你会感到惊喜)。
Strategically, your best bet is to fork an existing WM, rather than trying to build a brand new one from scratch.
从战略上讲,你最好的选择是使用现有的WM,而不是从头开始构建一个全新的WM。
One final point: Qt is a windowing framework for C++ that sits on top of a window manager. It isn't a window manager, per se, like Gnome/TWM/etc. are. And, as @ptomato rightly points out, Gnome is actually a desktop environment that itself sits on top of a window manager, which is selectable, but defaults to Metacity.
最后一点:Qt是一个位于窗口管理器顶部的c++窗口框架。它本身不是一个窗口管理器,比如Gnome/TWM/等等。是这样的。而且,正如@ p蕃茄指出的那样,Gnome实际上是一个桌面环境,它本身位于窗口管理器的顶部,它是可选择的,但默认为Metacity。