Linux Desktop Environments Submitted By
Total Page:16
File Type:pdf, Size:1020Kb
2009 Linux desktop environments Submitted By Prasham Trivedi (6044) As a partial fulfillment of the course of B.E.I.T. SHANTILAL SHAH ENGINEERING COLLEGE CERTIFICATE This is to certify that below mentioned student Mr. Prasham H Trivedi(Roll No. 6040) of semester 8th , course B.E.I.T. , have successfully and satisfactorily completed his Seminar report on “Linux Desktop Environment” in subject Seminar report and produced this report of year 2009 and submitted to S.S.E.C., BHAVNAGAR. DATE OF SUBMISSION: --------------------------------------------- STAFF IN CHARGE: HEAD OF DEPARTMENT: PRINCIPAL: 1 Table of Contents Desktop Environments Introduction……………………………………………………………………………………………………3 GNOME ................................................................................................................................................. 13 KDE……………………………………………………………………………………………………………………………………………………52 The Battle: Gnome vs. KDE…….……………………………………………………………………………………………………….…89 XFCE: The Underdog………………………………………………………………………………………………………………………….90 Conclusion And Bibliography…………………………………………………………………………………………………………….93 2 1. Desktop environment introduction In graphical computing, a desktop environment (DE) commonly refers to a style of graphical user interface (GUI) that is based on the desktop metaphor which can be seen on most modern personal computers today. Desktop environments are the most popular alternative to the older command-line interface (CLI) which today is generally limited in use to computer professionals. A desktop environment typically consists of icons, windows, toolbars, folders, wallpapers, and desktop widgets. Software which provides a desktop environment might also provide drag and drop functionality and other features which make the desktop metaphor more complete. On the whole, a desktop environment is to be an intuitive way for the user to interact with the computer using concepts which are similar to those used when interacting with the physical world, such as buttons and windows. -Source WIKIPEDIA The term desktop environment did not originally refer to software, and was adopted as a way to describe a particular style of user interface provided by that software. Desktop environment therefore is first and foremost describing the style of a user interface, in that it is like a desktop. However a program, or set of programs which simulate a desktop environment may sometimes themselves be referred to as a desktop environment, with a desktop environment being considered either a window manager, or a suite of programs which includes a window manager. There is some disagreement on precisely what constitutes a desktop environment, and how one distinguishes one from a window manager. While historically, and even logically, this may seem incorrect as a suite of applications are obviously not required to provide desktop metaphor, suites such as the The K Desktop Environment have popularized this usage, and may provide a more complete desktop environment consisting of a number of supporting programs, configuration tools, and in the case of KDE a large number of other applications such as office and productivity software, and games. A more correct term for application suites like KDE might be something more along the lines of a desktop manager. However, for the moment, the term desktop environment in 3 relation to computer science refers both to a type of user interface, and to a lesser extent a particular class of window manager. X Window System Figure 1 X Window System graphical user interface and applications common to the MIT X Consortium's distribution running under thetwm window manager: X Terminal, Xbiff, xload and a graphical manual pagebrowser. The X Window System (commonly X or X11) is a computer software system and network protocol that provides a graphical user interface(GUI) for networked computers. It implements the X display protocol and provides windowing on raster graphics (bitmap) computer displays and manages keyboard and pointing device control functions. In its standard distribution, it is a complete, albeit simple, display and human interface solution, but also delivers a standard toolkit and protocol stack for building graphical user interfaces on most Unix-like operating systems andOpenVMS, and has been ported to many other contemporary general purpose operating systems. All modern GUIs, such as GNOME, KDE, andXfce, developed for Linux and other UNIX-like systems use the X Window System as a foundation. X provides the basic framework, or primitives, for building such GUI environments: drawing and moving windows on the screen and interacting with a mouse and/or keyboard. X does not mandate the user interface — individual client programs handle this. As such, the visual styling of X-based environments varies greatly; different programs may present radically different interfaces. X is built as an additional application layer on top of the operating system kernel. Unlike previous display protocols, X was specifically designed to be used over network connections rather than on an integral or attached display device. X 4 features network transparency: the machine where an application program (the client application) runs can differ from the user's local machine (the display server). X originated at MIT in 1984. The current protocol version, X11, appeared in September 1987. The X.Org Foundation leads the X project, with the current reference implementation, X.org Server, available as free software under the MIT Licenseand similar permissive licenses. Design In this example, the X server takes input from a keyboard and mouse and displays to a screen. A web browser and a terminal emulator run on the user's workstation, and a system updater runs on a remote server but is controlled from the user's machine. Note that the remote application runs just as it would locally. X uses a client-server model: an X server communicates with various client programs. The server accepts requests for graphical output (windows) and sends back user input (from keyboard, mouse, or touchscreen). The server may function as: an application displaying to a window of another display system a system program controlling the video output of a PC a dedicated piece of hardware. 5 This client-server terminology — the user's terminal as the "server", the remote or local applications as the "clients" — often confuses new X users, because the terms appear reversed. But X takes the perspective of the program, rather than that of the end-user or of the hardware: the local X display provides display services to programs, so it acts as a server; any remote program uses these services, thus it acts as a client. The communication protocol between server and client operates network- transparently: the client and server may run on the same machine or on different ones, possibly with different architectures and operating systems, but they run the same in either case. A client and server can even communicate securely over the Internet by tunneling the connection over an encrypted network session. An X client itself may contain an X server having display of multiple clients. This is known as "X nesting". Open-source clients such as Xnestand Xephyr support such X nesting. To use a client program on a remote machine, the user does the following: On the local machine, open a terminal window use telnet or ssh to connect to the remote machine request local display/input service ( export DISPLAY=[user's machine]:0 ) The remote X client will then make a connection to the user's local X server, providing display and input to the user. Alternatively, the local machine may run a small program that connects to the remote machine and starts the client application. Practical examples of remote clients include: administering a remote machine graphically running a computationally intensive simulation on a remote Unix machine and displaying the results on a local Windows desktop machine running graphical software on several machines at once, controlled by a single display, keyboard and mouse. X is primarily a protocol and graphics primitives definition and it deliberately contains no specification for application user interface design, such as button, menu, or window title bar styles. Instead, application software – such as window managers, GUI widget toolkits and desktop environments, or application-specific graphical user interfaces - define and provide such details. As a result, there is no typical X interface and several desktop environments have been popular among users. 6 A window manager controls the placement and appearance of application windows. This may have an interface akin to that of Microsoft Windows or of the Macintosh (examples include Metacity in GNOME, KWin in KDE or Xfwm in Xfce) or have radically different controls (such as a tiling window manager, like wmii or Ratpoison). The window manager may be bare- bones (e.g. twm, the basic window manager supplied with X, or evilwm, an extremely light window manager) or offer functionality verging on that of a full desktop environment (e.g. Enlightenment). Many users use X with a full desktop environment, which includes a window manager, various applications and a consistent interface. GNOME,KDE and Xfce are the most popular desktop environments. The Unix standard environment is the Common Desktop Environment (CDE). Thefreedesktop.org initiative addresses interoperability between desktops and the components needed for a competitive X desktop. As X is responsible for keyboard and mouse interaction with graphical