X-Windows Free-Windows
Feb 25, 2016
X-Windows
Free-Windows
A brief history
• The X Window system, developed at MIT in the late 1980s, is rapidly becoming the industry standard windowing system for graphics workstations.
• The software is freely available, very versatile, and is suitable for a wide range of hardware platforms, from high-end microcomputers to mainframes.
Free Source Code
• X windows is a hardware-independent network-based window system which was developed at MIT.
• In strict legal terms, it is not a public-domain product, but the source code is freely available, and is available for virtually any workstation, mainframe or high-end micro.
Other windowing systems
• A number of manufacturers supply proprietary window systems with their workstations.
• Sun Microsystems supply two products with their workstations - Sunview and OpenWindows.
• DEC have a product called DECWindows which is available on DEC's Unix and VMS workstations.
Compatibility• Both DECWindows and OpenWindows are X-
compatible. • They both operate on the client-server principle,
and in general it is possible to run standard X clients under a DECWindows or OpenWindows server.
• There are, however, problems, in that the different servers may adopt different font-naming schemes, and both DECWindows and OpenWindows may utilise extensions to the standard X protocol.
The Main Components of X
• Any X window system consists of 2 distinct parts –
• the X server • and 1 or more X clients.
Server and Client(s)• It is important to realize the distinction between
the server and the client. • The server controls the display directly, and is
responsible for all input/output via the keyboard, mouse or display.
• The clients, on the other hand, do not access the screen directly - they communicate with the server, which handles all input and output.
• It is the clients which do the "real" computing work - running applications or whatever.
• The clients communicate with the server, causing the server to open one or more windows to handle input and output for that client.
The X server
• When using X on a workstation, the first task which must be done after logging in is to start up the X server.
• This is generally accomplished by using a script called xinit.
• This, like most other X-related code, usually resides in the directory /usr/bin/X11.
• Starting the server in this way, however, is generally not a good idea, as it simply starts up the server, and does not give the opportunity to start any clients.
• Indeed, as the server controls all input and output, and there are no clients communicating with the server, it is not immediately obvious how to start up a client!
startx command
• Start the X server • Check to see if the user has a personal X
startup command file, named ~/.xinitrc. • If this file does exist, the commands
contained within it will be executed. • If it does not exist, a simple default startup
configuration, which can be found in /usr/lib/X11/xinit/xinitrc, will be used.
X clients
• The main means of communication with X is by using the keyboard and the mouse.
• The mouse moves a pointer round the screen. • Pressing the mouse buttons activates various
functions depending on where the mouse is located.
• To send your input from the keyboard to any particular client, you must position your mouse pointer over that client.
The xterm client
• The xterm client is probably the most commonly used X clients.
• It simply provides a terminal window to the machine on which the xterm client is running.
• For example, if the xterm is running on a Sun, a normal Unix shell will appear within the Xterm window.
The xman client
The xman client• xman is another very useful client. • It is a graphical interface to the Unix
manual pages. • By using the mouse, it is possible to
display any of the hundreds of pages of information available.
• It is one of the most useful of all the X clients - learn how to use it!
The xedit client
• xedit is a simple text editor. It does not have the power of editors such as vi or emacs, but in some circumstances this is a distinct advantage, as it means that there are very few commands to remember.
• This makes it a very easy editor to use.
The xbiff client
xbiff client
• The strangely named xbiff client notifies you when new mail arrives.
• It produces a picture of an American-style mailbox, and whenever new mail arrives, the flag on the side of the box will be raised.
• .
Why it is called biff?
• A useless piece of trivia: xbiff is so called because the original Unix utility to notify the user of new mail was called biff.
• Biff was a dog, owned by a student at University of California, Berkeley in the days when BSD Unix was being developed.
• Biff had a habit of barking when the postman came
The xclock client
• .
xclock displays an analogue clock on your screen.
The Window Manager
• The window manager is a rather special X client.
• It is a tool which allows you to move, resize, iconify and kill other windows.
• It provides a title bar for every window, and may make several pop-up menus available.
Window Managers for X• FVWM• FVWM95• TWM/VTWM• MWM• CTWM• OLWM/OLVWM• wm2/wmx• AfterStep• AmiWM• Enlightenment• WindowMaker• SCWM• IceWM• Sawfish• Blackbox• Fluxbox• Metacity• Others...
Partial list of features new to 2.5.x
• Full Enhanced Window Manager Hints support • Full internationalization • Greatly improved font support, including anti-aliasing • Improved decoration code (no flickering anymore) • Featuring side titles, including vertical text • Powerful WindowShade in all directions, including
diagonal • Supporting PNG including alpha blending • Image rendering in colorsets • Perl library for creating modules in Perl • New module FvwmPerl to enable scripting in rc files • Optional text shadows (looks nice with light text)
Desktops
• GNOME• KDE• CDE• XFce
KDE
• KDE is a modern network transparent desktop environment which uses the Qt cross-platform GUI toolkit.
• It contains a base set of applications such as a window manager (called kwm), web browser, instant messenger, and integrated help system, all with a consistent look and feel, and translations for over 50 languages.
The GNU Network Object Model Environment
• The GNOME (pronounced "Gah-NOME") project's aim is to build a complete, user-friendly desktop based entirely on free software.
• It is not a window manager, and in fact has to be run in conjunction with a window manager.
• GNOME has advanced rapidly and is now very popular, particularly on the Linux platform.
CDE-The Common Desktop Environment
• The Common Desktop Environment (CDE) is a commercial graphical user interface for UNIX in its various flavors (AIX, Digital UNIX, HP/UX, Solaris, UnixWare, etc.).
• The desktop has been jointly developed by Hewlett-Packard, IBM, Novell and Sun Microsystems.
• It has been adopted as a standard operating environment by these companies and many others in the UNIX workstation market.
History of Linux
(Courtesy Prof. Remzi H. Arpaci-Dusseau)(Courtesy Prof. Remzi H. Arpaci-Dusseau)http://www.cs.wisc.edu/~remzi/Linux/
Linux Features• Multi-tasking (more than one task/program can
run simultaneously).• Multi-user (more than one user can work
simultaneously).• Multi-processing (more than one processor is
supported by the OS, SMP support is very stable).
• POSIX compliant…….behavior similar to traditional Unixes (look and feel).
• Runs on a variety of architectures (not just ix86 based PCs): Sparc, Alpha, PowerPC, MIPS, PalmPilot, ...
• An Embedded version of Linux exists for hand-held devices and real-time OS applications.
Interfacing Linux with Other OS• Wine and WABI are windows emulators for Linux
(limited success so far). Wine is GPL, WABI is commercial.
• DOSemu is a very stable MS-DOS emulator.Some of your partitions on your disk can be MS-DOS partitions. You can read MS-DOS floppies too.
• VMware is the best alternative, if you need to run both Linux and MS Windows. It is a commercial emulator that emulates the x86 hardware flawlessly, so any OS that can run on the x86 platform can be installed under VMware as a separate application!
Interfacing Linux with Other OS
VMWare: Windows XP under Linux