tagline: From openSUSE
 X window – basic concepts
Often a new Linux user will read references to X window. X window (commonly known as X11 or X) provides Linux PCs a graphical environment, in which different graphical desktops can run (giving the user a graphical appearance that is typical of the OS of modern computers, such as seen in the Mac, or in MS-Windows). Without X window one would only have a simple ascii prompt/shell type environment on their Linux PC (with no graphics). In Linux X window, to obtain a user friendly Graphical User Environment (GUI), on top of X window runs a Window Manager or a Desktop Environment. In such a case an openSUSE Linux user is then typically running their PC in what is referred to as run level 5. (Note in a Mac and in MS-Windows, there is typically no such clear distinction between the ASCII shell, and the upper level graphical environment, and hence Mac/MS-Windows have only one GUI, while a Linux user can choose from many). More detail on this can be found on this Window Manager and Desktop Environment wiki: Window managers and desktop environments. Four of the more popular desktops available for openSUSE are
There are also many other desktops available for openSUSE, with more information here on the openSUSE implemented Graphical user interface (GUI); see GUI One can also find more on X window here:
- X window wiki: wikipedia:X_Window_System
 X window aspects
X window is very powerful, in that its architecture is deliberately structured, with separate "client" and "server" aspects. For a one PC user, both the "client" and the "server" run on the same PC (and hence the this client/server division is transparent). But X window is designed such that the "client" and "server" can be run on different machines. Hence, for example, with X11 and the Secure Shell (ssh) program (see below), an X window application can run on a remote Linux PC, but with the graphics window of the same application being displayed locally on a "local" Linux PC. This is very useful for remote support/access not only on a LAN, but also across the Internet.
 Linux shell / command line interface
The shell is a Command-Line Interface (CLI), much like MS-DOS was (and the Command Prompt in WinXP is), but with the full power of Linux multitasking available. Dependent on how the shell is entered, it may be full screen, or it may be in a window under a Window Manager. Most common is the bash (Bourne-again shell), where bash is a Unix shell written for the GNU Project. Bash is the default shell on most Linux systems, as well as on Mac OS X and it can be run on most Unix-like operating systems. In the case of openSUSE, a bash shell can typically be used by starting the program konsole (<ALT><F2> and type "konsole") or by starting xterm (<ALT><F2> and "xterm"). A Linux shell is used when interfacing with the lower Linux boot levels (such as run levels 1 to 3) wikipedia:Runlevel . Applications can be started from a shell, which can also be very useful a number of reasons, such as for debugging problems.
The following picture shows simplified version of information and command flow when one user interacts with the computer running Linux.
- Command Line Interface: wikipedia:Command-line_interface
- Unix shell: wikipedia:Unix_shell
- Bash shell: wikipedia:Bash
- Tutorial - Learning the shell: http://www.linuxcommand.org/learning_the_shell.php
- Run Levels: wikipedia:Runlevel