Komputer Sains    
   
Daftar Isi
(Sebelumnya) Comparison of web server softwareComparison shopping website (Berikutnya)

Perbandingan -- X Window System desktop environments

A desktop environment is a collection of software designed to give functionality and a certain look and feel to an operating system.

This article applies to operating systems which are capable of running the X Window System, mostly Unix and Unix-like operating systems such as Linux, Solaris, FreeBSD, and Mac OS X.[1] Microsoft Windows is incapable of natively running X applications; however, third-party X servers like Cygwin/X, Exceed, or Xming are available.[2][3]

Contents

Technical elements of a desktop environment

A desktop environment (DE) can be broken up into several components that function independently and interact with one another to provide the look and feel and functionality of the desktop environment. A fundamental part of a DE is the window manager or WM. A window manager creates a certain way for application windows to present themselves to the user. It manages the various application windows, keeping track of which ones are open and providing features to switch between them. Another important element of a DE is the file manager. This application manages files/ folders and presents them in a way that the user finds convenient. It provides file operations like viewing, copying or moving, changing permissions and deleting. DEs usually provide utilities to set wallpapers and screensavers, display icons on the desktop, and perform some administrative tasks. They may optionally include word processors, CD/DVD writing applications, web browsers and e-mail clients.

There are some exceptions: Window managers like Fluxbox, wmii and Ratpoison operate independently of a desktop environment and were written with this objective in mind. Additional hand-picked applications add functionality such as a panel and volume management which gives them some of the qualities of a full DE. This contrasts the behaviour of WMs like Metacity and KWin which were not written with the objective of operating independently of a DE.

KDE Software Compilation and GNOME are written almost completely on special software libraries Qt and GTK+ respectively.[4] This usually means that virtually every component of the desktop environment including the file manager explicitly depends on that library for its functioning.

KDE file manager Dolphin running under GNOME

Notably, nothing prevents the user from installing any number of software libraries of his/her choice. In practice, software written on major libraries can be run under any desktop environment. Running a package designed for one desktop (which essentially means that it's written using the same libraries as the desktop itself is) within a different desktop can be visually displeasing, as well as incurring the RAM penalty of loading libraries that wouldn't otherwise be required.

Some of the differences which can influence the choice of desktop environment are:

  • Look and feel of the desktop environment. The user will be more comfortable with a certain look and feel that he/she may or may not already be familiar with.
  • Flexibility and configurability of the desktop environment. A sophisticated user might want a highly configurable desktop environment to make the desktop environment work the way he/she wants. A beginning user might just want an easy-to-use environment to which he/she will adjust.
  • Personal preferences for choice of software, which has two aspects:
    • Each desktop environment comes packaged with various default software and various "ways things are done" under that desktop. A casual user might like a highly integrated graphical interface to change various settings while a more experienced user might prefer to use individual configuration utilities or even CLI tools.
    • Desktops are also often closely tied into various major functional components of the desktop manager (example: file manager, browser, word processor); whilst "mix and match" is possible, it is generally pleasing to make choices which result in a consistent look and feel of programs under the chosen desktop environment. Making choices based on what software integrates with a chosen desktop environment necessarily limits the weight that can be given to other application features.

Desktop comparison information

Outer view of different classes of desktop environments

For convenience, the desktop environments have been grouped into five classes only for the purpose of representation in this table. The classes are listed approximately according to the size of each environment. Note that many desktop environments are not in the table, but nearly all desktop environments should fall into one of the five categories. The table also includes X window managers which are not desktop environments, but often mistaken for same.

Full environmentsShell (semi-environment)Window manager only
KDE Software CompilationRazor-QtGNOMEXfce, LXDE and ROX DesktopÉtoiléEDEEnlightenmentawesomeBlackbox, Openbox, Fluxbox and IceWMRatpoison, wmii, dwm, xmonad, WindowLab, and Ion
Main objective[5]Full desktop environment, graphical, easy to use, targeted at everyone. Accent on maximum reconfigurability.Lightweight desktop environment, modular, portable.Full desktop environment, graphical, easy to use, targeted at everyone. Accent on productivity through simplification.Lightweight desktop environment, modular, portable.Advanced graphical libraries, tools and environmentsFramework window manager (extensively customizable). Very fast and low resource usage.Fast, lightweight. Nearly zero library dependencies. No additional software packaged. Ultra low memory consumptionSuper-minimalistic. No fancy graphics. Scant, if any, window decoration. Belief in concise, elegant code
Programming language[6]Mainly C++, as Qt is written in C++Mainly C, as GTK+ is written in CObjective-CC++CC, LuaC++, Openbox uses CC, Lua, Haskell, Lisp, Common Lisp
Additional library dependencies[7]KDELibsrequires window manager, for example KWinGNOMElibxfce* for Xfce. libedeEFL   
Toolkit used[5]QtGTK+GNUstepFLTK (previously eFLTK)Elementary (provided by EFL)Internal  
Size (base system, X installed)[8]~210 MB~20 MB~180 MBXfce: ~15 MB, ROX: ~780 KB EDE: ~3 MBDR16: ~3 MB, DR17: ~15MB~700 KB with 20,000 lines of codeBlackbox: ~350 KB, Fluxbox: ~800 KBThe wmii package is close to 10,000 lines of code and 90 kB in size. Dwm is less than 2000 lines of code and Xmonad uses fewer than 1200 lines of code.

Default programs packaged

This table shows basic information on the programs distributed with some desktop environments for the X Window System:

KDE Software CompilationRazor-QtGNOMEXfceLXDEROX DesktopÉtoiléEDEEnlightenment
X window managerKWin MutterXfwm4OpenboxOroboROXAzaleaedewmEnlightenment
X display managerKDM GDM LXDM  elmaEntrance
File managerDolphin (Konqueror before SC 4) NautilusThunarPCManFMROX Filer EfilerEFM, Entropy
Widget toolkitQtGTK+GNUstepFLTK (previously eFLTK)Elementary
Terminal emulatorKonsole GNOME TerminalTerminalLXTerminalROXTermaterm Terminology
Text editorKWrite (Kate before SC 4) geditMousepad, LeafpadLeafpadEditTextEdit Eyesight, Ecrire
Video playerDragon Player (Kaffeine before SC 4) TotemParolelxinemplayer-rox  Enna (media center), Eclair
Audio playerJuK, Amarok Banshee, RhythmboxLXMusicMusicBoxMelodie Enjoy
CD burnersK3b BraseroXfburn RoxISO  
CD ripperK3b, KAudioCreator Sound Juicer  Ripper  Extrackt
Image viewerGwenview Eye of GNOMERistrettoGPicViewPicky EimageEphoto
Office suiteCalligra Suite, KOffice GnomeOffice      
Web browserKonqueror EpiphanyMidori    Eve
E-mail clientKmail Evolution   GNUMail  
Personal information managerKontact   Contacts   
Instant messengerKopete Empathy     Shotgun
Archive managerArk File RollerXarchiver, SqueezeXarchiverArchive   
PDF viewerOkular (KPDF before SC 4) Evince   Vindaloo Epdf
IDEKDevelop Anjuta   Gorm, ProjectCenter  
Widget enginebuilt-in – Plasma (SuperKaramba before SC 4) gDesklets     Elementary
Licenses usedGPL, LGPL, BSD, othersGPL, LGPL, BSD, othersGPL, LGPLGPL, LGPL, BSDGPL, LGPLGPLGPL, BSDGPL, LGPLBSD, LGPL

Perbandingan -- ease of use and stability

GNOME's graphical file manager Nautilus is intended to be very easy to use and has many features, which make it easy for new Linux users to pick up without reading any documentation.[9] KDE's Konqueror is also intended to be very easy for novices to use, both as a file manager and as a web browser.[10] However, in both cases this ease of use comes at a price, since both Nautilus and Konqueror are noticeably slower than lighter weight file managers on older hardware. Some users also object to dual functionality (both local file browser and remote client) in browsers such as Konqueror, fearing potential security vulnerabilities, and preferring a more minimalist approach. Both GNOME and KDE come with many graphical configuration tools, reducing the need to manually edit configuration files for new users. They have extensive bundled software such as graphical menu editors, text editors, audio players, and software for doing administrative work. All applications installed in most distributions are automatically added to the GNOME and KDE menus. No major configuration changes are necessary to begin working. However, by using graphical tools, the extent to which the desktops can be configured is determined by the power provided by those tools.

Blackbox, Fluxbox, Openbox, Ratpoison, Ion and wmii require users to edit configuration files by hand to configure virtually every aspect of the desktop environment and are hence highly configurable. A new user, however, may feel uncomfortable without any graphical tools. These window managers also do not provide any additional software like file managers, text editors or web browsers, leaving it up to their users to decide upon the software they prefer.[11]

Compatibility and interoperability issues

Some desktop environments and window managers claim that they support applications made for other desktop environments explicitly. For example, Fluxbox states KDE support in its feature list.[12] Using software made specifically for the desktop environment in use or window manager agnostic software is a way to avoid these issues. For software developers, the Portland Project has released a set of common interfaces that allows applications to integrate across many desktop environments.[13]

System resources utilization

Tests with the default installation of Ubuntu show that LXDE 0.5's memory utilization is lower than that of Xfce 4.6, which in turn is lower than that of GNOME 2.29, with KDE 4.4 using the most RAM compared to the aforementioned desktops.[14]

See also

References

  1. ^ XFree86 Official Website line 5
  2. ^ Cygwin/X website
  3. ^ Xming project homepage on SourceForge
  4. ^ Official websites of GNOME and KDE
  5. ^ a b Excerpts from official websites
  6. ^ Analysis of source code tells the programming language used
  7. ^ Dependency list for metapackages
  8. ^ Reported apt-get installation size on a very basic Debian system with X
  9. ^ Official Nautilus screenshots page
  10. ^ Official Konqueror features page
  11. ^ Their official websites: Blackbox, Fluxbox, Ion, Ratpoison, and wmii
  12. ^ Fluxbox official website line 15
  13. ^ Linux leaps toward KDE/GNOME compatibility
  14. ^ Larabel, Michael. "Phoronix: Power & Memory Usage Of GNOME, KDE, LXDE & Xfce". Phoronix. Retrieved 30 July 2011. 

External links

(Sebelumnya) Comparison of web server softwareComparison shopping website (Berikutnya)