Linux GUI Chapter 5
Graphical User Interface GUI vs. CLI Easier and more intuitive More popular and advanced Needed for graphics, web browsing Linux GUI advanced features not always stable on every hardware X Windows System Basis of Linux GUI For UNIX, Linux, Mac OS X, etc.
X - Introduction Developed by MIT and DEC in 1994 Commercial and free versions Free version for Linux: XFree86, X.Org Based on Client-Server model X Server Runs on your machine Responsible for handling graphics X Clients Software that needs to display on screen Sends request to X server for display Client and servers maybe on different machines need a network or Internet connection in between
Hardware requirements Support depends on your video (graphics) card Most major cards are supported x.org, xfree86.org for current support Best to use a popular video card Nvidia or ATI Integrated At least 32 MB video memory
XFree86, Xorg Free implementation of X Window System on Linux Usually installed by default If not started after boot, startx on command line Only one per computer Configure by editing file /etc/X11/XF86Config, /etc/X11/xorg.conf If problem persists, unstable logout Ctrl-Alt-Backspace Reboot (Ctrl-Alt-Delete)
Window Manager An X Client itself Sits above X server to manage windows WM manages applications within windows manages window positions window movements, opening, closing Examples: fvwm, Enlightenment, Afterstep, Blackbox Not very useful without a Desktop Manager / Desktop Environment
Desktop Manager Built on top of a Window Manager Adds functionalities to a WM Provides advanced and consistent GUI to user Provides A WM (of course) A file browser Configuration utilities Desktop Network Security Session management (login, logout, restart) Applications Graphics Text Editors Games Office Suites
Components of a GUI
GNOME GNU Network Object Model Environment (GNOME) Started in 1999 Provides a uniform desktop environment Can work with many window managers Sawfish Metacity More ‘eye-candy’ than KDE less advanced slightly less stable Highly configurable Accessible