Date: Wed, 29 Oct 2003 13:13:39 -0800 From: andi payn <andi_payn@speedymail.org> To: freebsd-questions <freebsd-questions@freebsd.org> Cc: "M.D. DeWar" <mark@s-wit.net> Subject: Re: X11 and Xfree86 Message-ID: <1067462019.36829.1523.camel@verdammt.falcotronic.net> In-Reply-To: <3F9EF09F.3070800@mindcore.net> References: <002a01c39cb4$11062e90$0501a8c0@canada> <3F9EE982.5040001@magidesign.com><3F9EF09F.3070800@mindcore.net>
next in thread | previous in thread | raw e-mail | index | archive | help
M.D. DeWar: > What is the purpose of them exactly. I have read the sites but being > alien to the unix world it confuses me. > Do they just make unix a windows type enviroment ? > Is KDE/GNOME the same or they like themes to X windows. The simple answer is: X plus KDE or GNOME provides Unix with a Windows-type environment. KDE/GNOME are an integral part of that environment. KDE and GNOME themselves _have_ themes, and those are like themes in the Windows world. You want either KDE or GNOME, with all the default "stuff" that comes with it. In fact, install them both, and play with each for a while. In fact, there's a similar separation in Windows--some of the user environment is provided by Windows itself, and some by separate programs (especially the "Windows Explorer" program), but this separation is much cleaner under Unix/X. Furthermore, GNOME or KDE themselves separate into a number of separate layers (this is also true to some extent in Windows, but even to the application developer most of this is hidden). This difference has some advantages, and one big disadvantage. The biggest advantage is flexibility. You can run KDE or GNOME, or a few other alternatives, or a more "bare-bones" X setup with no desktop manager. You can run KDE apps under GNOME, and vice-versa (and so on for the other alternatives). In fact, you can replace almost any piece of the puzzle and everything will work smoothly. The biggest disadvantage is that novices have all these different pieces thrown at them. Instead of just Windows, they have to contend with, say, Unix, X, Metacity, Gtk+, GNOME, Nautilus, Panel, GDM, GConf, and ESD (and that's if you only run GNOME). So, let's look at these pieces briefly: * Unix is the operating system. (Linux people like to further divide this into the kernel and the rest of the OS.) The Windows equivalent is the NT kernel, its Win32 executive, the "cmd" command-line shell, a slew of command-line tools, a bunch of background services, etc. * X (aka X/Windows, X11, etc.) is the GUI. It's equivalent to part, but not all, of the Windows GUI. You can see what X does by just running X on its own, as Erik Steffl suggested. X also comes with a variety of tools, like xterm, and libraries for building X applications. * Metacity (kwm for KDE) is the default window manager. X plus a window manager is the equivalent to the Windows GUI itself. This is the part of the system that lets you drag windows around, assign hotkeys like Alt+Tab or Winkey+F, etc. You have a wide choice of other window managers, many (but not all) of which are completely compatible with GNOME or KDE. * Gtk+ (Qt for KDE) is a widget toolkit. It's equivalent to (the GUI parts of) the Win32 API. As a user, you never worry about this--you run programs that were built with Gtk+, just as Windows users run programs that were built with the Win32 SDK, and they just run. But unlike Windows, Unix/X has a dozen or so toolkits. You can run apps built against different toolkits together (although they they may not have exactly the same look and feel--a GNOME/Gtk theme only affects Gtk+ apps, etc.). You may have noticed something similar in Windows XP--most applications have XP-style buttons and borders, but some (including the cmd command-line window) have the old-fashioned Win95 style instead. (Maybe it's better to say that Windows XP has 1-1/2 toolkits?) * Nautilus (or Konqueror, for KDE) is the default file manager. It's almost equivalent to Explorer in Windows. Just like Explorer, Nautilus or Konqueror manage the desktop background window and all of its icons, and provide the "My Computer" and "Network Neighborhood" browsing, and can even be used as web browsers if you want. * Panel (or Kicker, for KDE) is the program that handles the "taskbar" and "menubar" and "start menu." It's the rest of Windows' Explorer. * GDM (or KDM, for KDE) is the login manager. This is equivalent to the Login application in Windows. If you set up your system to boot into graphical mode, this is the program that asks you for a username and password (and maybe which desktop environment you want to run, etc.). Or, if you've set things up for autologin, it runs without you ever having to see it (just like in Windows). * GConf (no KDE equivalent) is a preferences warehouse, like the Windows registry. If you've never run regedit, you can probably ignore this. * ESD (or ARtS, for KDE) is a sound server. This lets you handle sound over the network, just as X lets you handle graphics over the network. It also lets old apps that try to monopolize the soundcard work together properly. You may have noticed on Windows that some programs take over the soundcard and nothing else can make any noise, but that this is less true with modern software. The same situation holds in Unix. Plus, like Windows XP, FreeBSD has some tricks to make old software cooperate (sysctl hw.snd.pcm0.vchans). And often, it's not a big deal anyway. So often a sound server is not necessary for local use (and for network use, you may want a different solution, like nas or rplay, anyway). So, what is GNOME? It's a desktop environment. What exactly that means has changed over the years. The most important part is the collection of specifications. The next most important part is a set of libraries (including Gtk+) that do much of the hard work of writing software to meet those specifications. Then there's the set of default tools--like metacity and nautilus and panel and all the others mentioned above--that the user can install all at once, providing (together with Unix and X) a complete and usable desktop workstation. Additional applications (like the Galeon web browser, the Evolution mail/groupware client, the AbiWord word processor, etc.) may or may not be part of the desktop environment, depending on who you ask. A few nitpicks to Scott W. and Erik Steffl's posts (which were at least 99% correct): Scott W.: > Back to your question- KDE and GNOME both sit on top of X, like any/all > X Window Managers. KDE and GNOME both go a step 'further' and also > provide session and desktop management. Actually, neither one is a window manager--both can work with a variety of window managers, although each does include a default window manager. > KDE and GNOME actually include > Window Managers of their own (KDE and Sawfish respectively), Actually, KDE's is called kwm, and GNOME is currently including metacity (they used to include Sawfish, and before that Enlightenment). Erik Steffl: > widget libraries: there is number of them, these are various buttons, > menus, combo boxes etc. the common ones are motif (or free > implementation lesstif), athena, qt (used by kde), gnome has its own > widgets etc... GNOME uses Gtk+, although it also adds a few of its own widgets on top of those. Actually, Gtk+ 1 and Gtk+ 2 are completely independent widget toolkits, and a typical GNOME system currently uses both (to increase the confusion). > there is a large number of widgets libraries and this is > a source of constant criticism (they all look and behave differently > and make user experience inconsistent, which might or might not be a > problem:-) Plus, the window decorations are controlled by the window manager, not the widget toolkit. So, getting everything to look and feel consistent means finding themes that go together for your window manager, and all of the widget toolkits you use--and replacing apps that don't use a compatibly-themeable toolkit (e.g., replace xterm or rxvt with gnome-terminal). The big linux distributors hire people to do exactly this, and the end result is generally that everything looks really spiffy until the first time you use an app that they forgot about.... > window manager: makes it possible to manage windows, it is > responsible for windows decorations (borders, titlebar, titlebar > buttons), it provides ways to move and otherwise manipulate windows, > usually has some kind of menu/program launcher etc. Most window managers can provide a menu/launcher if you want to use them standalone, or can leave it up to a desktop environment (or whatever) instead. (You wouldn't want a Metacity menubar sitting under your panel....) > fun experiment After all that, try running konsole, the KDE xterm replacement, from your xterm window, and you'll see that there's even more to KDE than I indicated above....
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1067462019.36829.1523.camel>