home *** CD-ROM | disk | FTP | other *** search
Text File | 1999-02-08 | 88.0 KB | 2,179 lines |
- The X Window User HOWTO
- by Ray Brigleb, rayola@mindless.com
- v1.3, 22 January 1999
-
- This document contains information on configuring the X Window envi¡
- ronment for the Linux user, as well as for the beginning system admin¡
- istrator attempting to sort through the many configuration options and
- details of X Window. A basic knowledge of software configuration and
- installation is assumed, as is the presence of X on the users system.
- ______________________________________________________________________
-
- Table of Contents
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1. Introduction
-
- 1.1 Other Sources Of Information
- 1.2 Versions Of This Document
- 1.3 Feedback And Corrections
- 1.4 Acknowledgments
- 1.5 Copyright
-
- 2. Getting Started
-
- 2.1 The X Window System: History and Architecture
- 2.2 Anatomy of Your Desktop
- 2.3 Invoking X Window
- 2.4 The X Display Manager
-
- 3. Choosing a Window Manager
-
- 3.1 FVWM And Its Ancestors
- 3.2 The Wide World of Window Systems
- 3.3 The X Graphical Interfaces
- 3.4 The X Desktop Environments
- 3.5 The Flashy Window Managers
-
- 4. Working In X
-
- 4.1 Command Line Options
- 4.2 Display Names
- 4.3 XTerm Versus Rxvt, or, Know Thy Terminal Emulator
-
- 5. X Startup
-
- 5.1 A Sample Starting Configuration
- 5.2 A More Intelligent Startup
- 5.3 Getting The Windows Where You Want Them
-
- 6. Configuring the Window Manager
-
- 6.1 Basic FVWM2 Configuration
- 6.2 Advanced FVWM2 Configuration
- 6.3 FVWM2 Configuration Shortcuts
- 6.4 FVWM2 Themes
-
- 7. Fonts and Colors
-
- 7.1 Fonts Demystified
- 7.2 Font Aliases and Configuration
- 7.3 Using Type 1 Fonts in X
- 7.4 Using TrueType Fonts in X
- 7.5 Colors
-
- 8. The X Resources
-
- 8.1 X Resources: The Basics
- 8.2 Inside The X Resource Database With
- 8.3 The Anatomy of X Resources
- 8.4 Making Your Changes Last With
- 8.5 Your Own User Resource Directory
-
- 9. Clients and Application Tips
-
- 9.1 Screen Savers for X
- 9.2 Emacs and XEmacs
- 9.3 Some Useful Programs and Tricks
- 9.4 Libraries and Compiling X Applications
- 9.5 Basic X Security
-
- 10. Bibliography and Other Resources
-
-
-
- ______________________________________________________________________
-
- 1. Introduction
-
- The X Window System is an advanced, network transparent, windowing,
- graphical environment, developed at the Massachusetts Institute of
- Technology, and first released in 1984. This document assumes that you
- have installed X and it is functional. We intend to learn how to use X
- productively, not so much how to compile the programs; most Linux
- distributions come with X as an option during installation, compiled
- and ready to go.
-
-
- 1.1. Other Sources Of Information
-
- If you are just starting out, you may find the XFree86 HOWTO and
- XFree86 Video Timings HOWTOs to be more helpful, and you should be
- able to find that in the same place you found this. At the end of the
- document you will also find a Bibliography And Resources section, to
- find even more information. Oh, and don't forget to read the man
- pages.
-
-
- 1.2. Versions Of This Document
-
- New versions of this HOWTO may be periodically posted to
- comp.os.linux.help <news:comp.os.linux.help> They will also be
- uploaded to various Linux WWW and FTP sites, including Linux
- Documentation Project <http://metalab.unc.edu/LDP> web site. The
- latest version can (almost) always be found at
- <http://www.croftj.net/~ray/howto>.
-
- Changes in version 1.1 include more coverage of rxvt, expanded
- coverage of X Resources, more trivial history of X, corrected
- references to SunSite to point to MetaLab, and instructions on using
- Type 1 fonts with X.
-
- Changes in version 1.2 include much-requested coverage of using
- TrueType fonts in X, more details about setting up xdm, and a few more
- added resources. There is also a correction to my discussion of screen
- blanking features (thanks to Heinrich Langos for the correction!).
-
- Changes in this version (1.3) include some fixes, info for corrupted
- font paths in some recent distributions, and lots more info about
- basic X security. I've also added some tips about KDE and an e-mail
- address update.
-
-
- 1.3. Feedback And Corrections
-
- If you have questions or comments about this document, please feel
- free to email Ray Brigleb at ray@croftj.net or rayola@mindless.com. I
- readily welcome any suggestions or criticisms. If you find any
- mistakes with this document, please let me know so I can correct them
- in the next revision. If you have information you would like to see in
- future revisions, or you would like to contribute to a future
- revision, drop me a line. I'm also looking for more resources to add
- to the sections and bibliography. While we're at it, I'm also looking
- for a job in the Portland, Oregon area...
-
-
-
- 1.4. Acknowledgments
-
- A special thanks to the HOWTO coordinator Tim Bynum for help and
- suggestions, and the XFree86 Group for the man pages and help files
- that come with XFree86. I really need to thank all of those who have
- written documentation and descriptions of their offerings in the past,
- I have just gleaned a selection of the most relevant items from their
- material for this document. Also, thanks are due to Matt Chapman,
- author of the Window Managers Guide website, and Scott Scriven, for
- the FVWM2 Themes tips and tricks I stole from some of his hacks.
- Thanks are also due to Joe Croft for the Internet service, invaluable
- to the ongoing development of this HOWTO, and Claire Galper, for moral
- support and miscellaneous tips. Last but not least, thanks to the
- whole GNU/Linux community, for everything, and Mr. Stallman, for this
- text editor (and philosophy).
-
-
- 1.5. Copyright
-
- Copyright (c) 1998, 1999 by Ray Brigleb.
-
- Unless otherwise stated, Linux HOWTO documents are copyrighted by
- their respective authors. Linux HOWTO documents may be reproduced and
- distributed in whole or in part, in any medium physical or electronic,
- as long as this copyright notice is retained on all copies. Commercial
- redistribution is allowed and encouraged; however, the author would
- like to be notified of any such distributions.
-
- All translations, derivative works, or aggregate works incorporating
- any Linux HOWTO documents must be covered under this copyright notice.
- That is, you may not produce a derivative work from a HOWTO and impose
- additional restrictions on its distribution. Exceptions to these rules
- may be granted under certain conditions; please contact the Linux
- HOWTO coordinator for more information.
-
- In short, we wish to promote dissemination of this information through
- as many channels as possible. However, we do wish to retain copyright
- on the HOWTO documents, and would very much like to be notified of any
- plans to redistribute the HOWTOs, this one in particular!
-
- Many of the terms mentioned in this document are trade names. Unless
- otherwise stated, all trademarks are property of their respective
- owners.
-
-
- 2. Getting Started
-
-
-
- 2.1. The X Window System: History and Architecture
-
- The X Window System was developed in the Laboratory for Computer
- Science at the Massachusetts Institute of Technology, as part of
- project Athena in cooperation with DEC, and first released in 1984.
- The project lead of the main development was Robert Scheifler, and the
- origins of X owe much debt to the ``W'' Windowing package, developed
- by Paul Asente at Stanford. In September of 1987, MIT issued the first
- release of the X11 that we know and use today. As of X11R2, control
- passed from MIT to the X Consortium, formed in January of 1988.
-
- Many of the ideas that went into X Window also came from research at
- Xerox Corporation's Palo Alto Research Center (PARC), where they were
- working on computers like the Parc and the Star in the late seventies.
- None of these computers made it to market, but when Xerox demonstrated
- a window system custom built to run Smalltalk 80, people were hooked.
- These series of three computers demonstrated the WIMP (Windows, Icons,
- Menus, Pointer) interface so well that it spawned a revolution in
- computing almost overnight. Within a few years many computer users got
- a taste of a windowing system of some kind, and you might say they
- never looked back.
-
- X Window is currently developed and distributed by the X Consortium,
- however, a liberal license permits the existence of free and low-cost
- implementations. The version of X used on Linux is XFree86. XFree86
- is a collection of X servers for UNIX-like OSs on Intel x86 platforms.
- The work is derived from X386, and much of it is contributed back into
- X11R6 thereafter. We can think of XFree86, for all intents and
- purposes, to be X Window for Linux, unless you have purchased another
- X server.
-
- X Window is built upon a great many toolkits, or libraries. It is
- built upon the X Toolkit Intrinsics and the Athena Widgets. Many
- programs use XView or Motif tools. More still are part of a newer,
- unified windowing and communication system, like GNOME or KDE. If you
- find many of your programs not compiling, or are getting strange and
- inexplicable errors, you may wish to make sure that you have installed
- X correctly, because most of these libraries (with the exception of
- Motif) are free and most likely preinstalled with X on your system.
-
- And remember, it's called X Window, not X Windows!
-
-
- 2.2. Anatomy of Your Desktop
-
- There are a few basic principles and terms you should familiarize
- yourself with to make using X much more straightforward. These terms
- will appear over and over again in the manual pages and help files,
- which it is suggested that you consult whenever necessary.
-
- The screen is your whole ``desktop'', and the words may be used
- interchangeably. Technically it means the primary video display you
- view X with, and you can have more than one screen, in fact you can
- have more than one computer running off a single X server. This is
- beyond the scope of this humble document, but you should be aware of
- the distinction.
-
- The root window is the background of your screen. It is referred to a
- window in name alone, it does not behave like any other window, but
- rather you run your applications on the root window, or put a picture
- on it, or just a solid color.
-
- The window manager is the main interface between the X Window system
- and the user. Without the window manager, the system would be rather
- difficult to use, and would certainly not be a very productive tool.
- The window manager provides such functionality as window borders,
- menus, icons, virtual desktops, button bars, tool bars, and allows the
- user to customize it at will, often adding to its functionality in the
- process.
-
- The pointer is the arrow or indicator of any given shape which
- represents the location your mouse (or other pointing device)
- corresponds to on the screen. The pointer often changes to give you
- contextual feedback as to what will happen when you use the mouse at
- that point on the screen.
-
- The window is a frame in which any given application resides which is
- ``managed'' by the window manager. This includes pretty much anything
- except the so-called root window. Even windows which do not appear to
- have frames, titles, or normal borders of any kind are being managed
- by your window manger. The active window is the window you are
- currently using, the window that will receive text when you type, and
- is traditionally denoted by the fact that your mouse cursor is
- pointing at it, though this is not always the case. The active window
- is said to have ``focus,'' the rest of the windows on your display
- being ``unfocused.''
-
- Menus and icons behave in X similar to the way they behave in other
- windowing systems, and the same general principles apply. Windows with
- text only are called terminal emulators, an example would be xterm,
- and these basically emulate a console text-only display, but let you
- multiplex and use more than one at a time, and have many other
- advantages available due to their being used in X. We shall discuss
- many of these later on.
-
-
- 2.3. Invoking X Window
-
- Starting X can be done in several ways. On your system it may be set
- up to start automatically, and you will not need to read this section.
- Most Linux systems, however, presently start at the command line upon
- login, and you have to decipher this for yourself.
-
- The most basic way to start X is with xinit. This will put you at a
- blank desktop, by default, and with no window manager loaded. If no
- client program is specified on the command line, xinit will look for
- the .xinitrc file to run as a shell script, to start up client
- programs. If this file does not exist, xinit will use the following
- command as a default:
-
-
-
- xterm -geometry +1+1 -n login -display :0
-
-
-
-
-
- As you see, this is not very helpful. The most common way to start X
- is with the command startx. This is the most civilized fashion to
- start the windowing system, but requires that you log in from a text
- shell, and start the windowing system yourself. For many Linux users
- this is the most common way to start X, it is also the most flexible.
- You can issue a commands such as the following:
-
-
-
- startx -- -bpp 8 #start x in 256 color mode
- startx -- -bpp 32 #start x in true color mode
-
-
-
-
-
- The double dashes pass arguments directly to xinit, and this way you
- can start up X in the resolution your work will require, and still
- have it use the configuration files we will cover later in this
- document.
-
-
- 2.4. The X Display Manager
-
- The program xdm provides similar services to getty and login, which
- allow users to log into a system and start their basic shell. If you
- start X with xdm, however, users need only to type in their username
- and password at a friendly prompt, and they are dropped directly into
- the graphical environment. This is simple and easy to use, and is
- seen frequently in college campuses, cyber cafes, business
- environments, anywhere you have users not necessarily familiar with
- Unix to any great extent.
-
- xdm can be configured with configuration files located in
- /usr/X11R6/lib/X11/xdm on your Linux system. The file xdm-config is
- for configuring how the login screen appears to users, and Xsetup_0
- is used to tell xdm what programs should be launched when X is
- started. Some of the configuration a normal user would put in their
- .xinitrc file should go in here, if xdm is to be normally used.
-
- Here is a sample Xsetup_0 file to look at, which might help to
- configure your system. The xfstt program is the TrueType font server,
- and is discussed later in this document. Also, notice that we're
- using a shell script here, and it's trying to call xv to set the
- background to a nice picture (instead of the boring black and white
- background pattern), and if that call fails, xsetroot is called, to at
- least try to set the background to a nice blue color.
-
-
-
- #!/bin/sh
- xconsole -geometry 480x100-0-0 -daemon -notify -verbose -fn \
- '-schumacher-clean-medium-r-*-*-10-*-*-*-*-*-*-*' -exitOnFail
- /usr/X11R6/bin/xfstt &
- /usr/X11R6/bin/xv -quit -root \
- /usr/local/share/WindowMaker/Backgrounds/InDreams.jpg \
- || xsetroot -solid darkblue
- xset fp+ unix/:7100
-
-
-
-
-
-
- 3. Choosing a Window Manager
-
- This is a discussion of the window managers available to the X Window
- user, with a comparison of some finer ones to choose from. In order to
- prevent this document from becoming overwhelmingly large (and
- proportionally difficult to maintain, as well) I am limiting the
- discussion to the more popular and well known window managers out
- there. I believe these are most representative for our purposes, and
- once you grasp the basic concepts of a few, you more or less will have
- the hang of them all.
-
- Your choice of window manager can dramatically influence how pleasant
- your computing experience will be. You spend much of your time dealing
- with windows when you're in X, and you don't want something that's too
- obtrusive, one that will get in your way. Some window managers are
- extremely customizable, to the point that you can pretty much feel
- like it's a new operating system. If you don't like icons, get rid of
- them! If you miss that toolbar, you can build a better one, and it can
- be a pretty painless and rewarding process besides.
-
-
- 3.1. FVWM And Its Ancestors
-
- The most common window managers nowadays have their roots in Robert
- Nation's FVWM window manager. These include FVWM, FVWM2, FVWM95, and
- many more. FVWM itself is derived partly from TWM, which comes with an
- X Window installation, but which we will not cover here. The syntax
- and usage of TWM is similar to FVWM, but it actually uses more memory,
- and feels clumsy and awkward to most users.
-
- FVWM is the original and old standby favorite Linux window manager.
- Now that the 2.0 of versions of FVWM have become stable and in more
- general usage, this newer version is preferred, for the syntax is much
- more direct and simplified, and much more flexible as well. However,
- many people still have the original FVWM on their systems, as it has
- been a long time favorite and standard, and most of the examples in
- this text are equally applicable to this older version. And if the
- older one is working fine for you, there may be no need to upgrade,
- since it may break your configuration files to some degree, for some
- of the syntax has indeed changed, and is not altogether backward
- compatible. Such is the nature of progress.
-
- Nobody seems quite sure what F in FVWM stands for (not even the
- author, from what I can tell!), but the VWM would seem to (correctly)
- indicate Virtual Window Manager, and indeed the FVWM series are
- virtual window managers, and that is one of their strengths. You can
- bind keys to any function, including the switching between the virtual
- desktops, and do this with ease.
-
- FVWM2 is the new standard, including many improvements and features
- not found in the previous version. Unlike many newer window managers,
- it works just fine on 8-bit, 256 color displays, which I am using at
- the moment, and still can be improved with little icons and gradients,
- to look as much like the Win98 interface as you may or may not want.
- This version is also much more extensible in general, and allows the
- use of themes and dynamic menus. Technically, FVWM2 is still in beta,
- but it works just great, and I have not yet had a single problem with
- it.
-
-
- Resources:
- The official FVWM and FVWM2 site is
- <http://www.hpc.uh.edu/fvwm/>. The latest version should always
- be available at <ftp://ftp.hpc.uh.edu/pub/fvwm/>.
-
-
- 3.2. The Wide World of Window Systems
-
- For users more familiar with other window environments on other
- operating systems, there are plenty of window managers to emulate the
- desktop you're accustomed to.
-
- The icewm <http://berta.fri.uni-lj.si/~markom/icewm> window manager is
- aimed at a more consistent look and feel, and can emulate many other
- windowing system standards, hot key bindings, and such. The OS/2
- emulations are particularly nice. AmiWM
- <http://www.lysator.liu.se/~marcus/amiwm.html> is an Amiga Workbench
- type window manager, mlvwm <http://www.bioele.nuee.nagoya-
- u.ac.jp/member/tak/mlvwm.html> is a MacOS emulator. A nice addition to
- these window managers is dfm <http://www-c.informatik.uni-
- hannover.de/~kaiser/dfm/dfm.html>, a desktop and file manager that
- pleasantly resembles the OS/2 Workplace Shell.
-
-
- Resources:
- The Window Managers website can be found at
- <http://www.PLiG.org/xwinman/>, and is a consistently good
- resource for finding out about the variety of window managers
- available, particularly for finding good window managers to
- emulate other windowing environments. Many more still are listed
- at <http://www.PLiG.org/xwinman/others.html>, provided by the
- same author as the previous link, and this is quite a formidable
- and complete list indeed. You can download Linux versions of
- most popular window managers at the metalab
- <ftp://metalab.unc.edu/pub/Linux/X11/window-managers> archive.
-
-
-
-
- 3.3. The X Graphical Interfaces
-
- Open Look and Motif were early attempts to standardize X Window, and
- make it usable in more mainstream environments, around a greater
- variety of workstations. Both were somewhat successful at those
- attempts (in look and feel, if not politically) and can be used under
- a modern Linux system. Both require specific libraries, which can be
- used to compile a variety of applications specifically designed for
- one or the other environment, to give all programs a similar look and
- feel.
-
- Starting with X11 Release 5, Sun Microsystem's OpenWindows graphical
- interface was available to X users. This includes two versions of the
- Open Look Window Manager, olwm and olvwm (with a virtual desktop).
- This was developed by Sun in hopes of making a standard windowing
- environment, and indeed it was standard with Solaris for many years.
- If your distribution of Linux did not come with this windowing system
- installed, you must remember to install the XView libraries to get it
- to work, and you will also have to put the /usr/openwin/...
- directories in your search path.
-
- If you want the actual OSF/Motif Toolkit for Linux, you'll have to
- pay, the programs and toolkit are not free. However, the Hungry
- Programmers have written LessTif, which allows you to compile Motif
- programs more or less as if you owned to toolkit. LessTif is a clone
- of the Motif toolkit. Currently LessTif is partially implemented with
- most of the API in place. Many programs already work under this free
- version of the toolkit, and it even comes with a window manager,
- derived from FVWM code, which you'd swear was the Motif Window
- Manager.
-
- The most useful feature of this toolkit, however, is compiling
- programs dependent on having a Motif library on your system. The
- window manager is nothing spectacular, and mostly useful if you're
- migrating from the original Motif, and want to keep your configuration
- file. For all intents and purposes, you will find FVWM much more
- feature-filled and useful, and it looks and behaves almost
- identically, even recognizing the window hints supplied by programs
- built with the Motif toolkit.
-
-
- Resources:
- The Hungry Programmers LessTif can be found at
- <http://www.lesstif.org/>.
-
-
- 3.4. The X Desktop Environments
-
- The second generation of Linux window managers was brought about by
- KDE, and soon joined by GNOME. There are some striking similarities,
- and some great differences, between these two, and I will attempt to
- cover them here. The most important thing to remember at this point is
- that neither of them is in any way a complete product. Both are at the
- start of a long development cycle, and not completely stable yet, and
- as such are not suited to mission-critical work at this time.
-
- The KDE Desktop Environment
-
- (A quote from the home page:) ``KDE is a completely new desktop,
- incorporating a large suite of applications for Unix workstations.
- While KDE includes a window manager, file manager, panel, control
- center and many other components that one would expect to be part of a
- contemporary desktop environment, the true strength of this
- exceptional environment lies in the interoperability of its
- components.''
-
- The KDE Desktop Environment is an attempt to make a desktop
- environment, not just a window manager. The tools of KDE work together
- so well, for instance, one might be fooled into thinking KDE was an
- entire operating system. All the tools to work in a windowing system
- are included, and many more have been ported to the KDE environment.
- KDE has achieved a surprising level of maturity already, but many are
- reluctant to install it on their desktop, because of the licensing
- stipulations of the QT toolkit, upon which KDE is based. This has
- changed a little lately, and the licence now qualifies as Open Source
- by definition, but is not the same as that of GNU software.
-
- GNOME: The GNU Object Model Environment
-
- (A quote from the home page:) ``GNOME stands for GNU Network Object
- Model Environment. The GNOME project intends to build a complete,
- user-friendly desktop based entirely on free software. GNOME is part
- of the GNU project, and GNOME is part of the OpenSource(tm) movement.
- The desktop will consist of small utilities and larger applications
- which share a consistent look and feel. GNOME uses GTK+ as the GUI
- toolkit for all GNOME-compliant applications.''
-
- The GNOME project is an attempt to do much of the same work as KDE,
- but even a little more than that. GNOME is less tied to one window
- manager, for instance, and it is interoperable not just between
- applications, but computers and platforms, as it uses the Common
- Object Resource Broker Architecture (CORBA). Also, and to many most
- importantly, GNOME is based on the GTk+ toolkit, which is free and
- open source, unlike the underlying toolkit of KDE, thereby following
- in the philosophy of Linux itself.
-
-
- Resources:
- The official KDE website is <http://www.kde.org/>. The official
- GNOME website is <http://www.gnome.org/>. More detailed
- information regarding the issues surrounding GNOME can be found
- at <http://www.gnome.org/gnomefaq/FAQ.txt>. The home page of
- CORBA is located at <http://www.corba.org/> , and the GTk+
- toolkit home is <http://www.gtk.org/> .
-
-
- 3.5. The Flashy Window Managers
-
- The latest generation of window manger is very very pretty indeed.
- Sporting every convenience you could think of, and emulating the most
- beautiful operating systems ever used on the most gorgeous
- workstations in the world, these are the window managers to run if
- you've got the memory and CPU cycles to burn.
-
- Window Maker
-
- (A quote from the home page:) ``Window Maker is an X11 window manager
- designed to give additional integration support for GNUstep
- applications. It tries to emulate the elegant look and feel of the
- NEXTSTEP(tm) GUI. It is relatively fast, feature rich, and easy to
- configure and use.''
-
- A big strength of this window manager is that it supports the GNU
- desktop, meaning that it makes a great and very pretty front-end to
- GNOME. This is also one of the most easily configurable window
- managers, and can be configured from a graphical interface, and
- supports the OffiX drag and drop protocol, easy switching of desktop
- themes, and it's now available within the popular Red Hat
- distribution, so it's easy and painless to switch from FVWM when the
- mood finally strikes. As of the 0.50 release, Window Maker supports
- KDE compliance as well.
-
- This is the author's personal favorite window manager. Get it!
-
- AfterStep
-
- (A quote from the home page:) ``AfterStep is a Window Manager for X
- which started by emulating the NEXTSTEP look and feel, but which has
- been significantly altered according to the requests of various users.
- Many adepts will tell you that NEXTSTEP is not only the most visually
- pleasant interface, but also one of the most functional and intuitive
- out there. AfterStep aims to incorporate the advantages of the
- NEXTSTEP interface, and add additional useful features. The
- developers of AfterStep have also worked very hard to ensure stability
- and a small program footprint.''
-
- Enlightenment
-
- Enlightenment is more than just a window manager, it is an extreme,
- detailed, and configurable environment, and is particularly attractive
- in that it allows irregular and completely customizable window shapes.
- It is open in design, and instead of dictating a policy it allows the
- user to define their own policy right down to the minute and
- infinitesimal details; from its functionality right on through to its
- looks.
-
- Enlightenment is still in development currently, and can cause your
- system to crash. However, Rasterman, the author of Enlightenment, is
- currently working for Red Hat on the GNOME project, and as that
- project matures, support for Enlightenment will be maturing as well,
- making this an environment to keep an eye on.
-
-
- Resources:
- The official Window Maker website is
- <http://www.windowmaker.org/>. The official AfterStep website is
- <afterstep.org/>. Enlightenment can be found, predictably, at
- <http://www.enlightenment.org/>.
-
-
- 4. Working In X
-
- In this section we will become familiar with running clients in X
- Window and the basic procedures involved in using the system. X is not
- an intuitive interface on its own, and without any window manager, it
- is easiest to use as a display for programs started from the command
- line. One of the most common uses for X is just to have several xterm
- windows open at the same time. Not exactly maxing out the graphics
- capabilities of the computer, but it's a nice feature to start with.
-
- The flexibility and usefulness of the command line is so great, in
- fact, that you don't really need a window manager. It's nice, and you
- will want it very quickly, but the fact is that you can get by without
- one, just the command line and the mouse. If you give it a shot,
- you'll be surprised as to the exact distinctions between the clients
- and the window manager. If you start toying around with this, however,
- remember that the key combination Ctrl-Alt-Backspace gets you out of X
- Window in a pinch.
-
-
- 4.1. Command Line Options
-
- Most X programs try to use the same basic names for command line
- options. All applications written using the MIT X Toolkit Intrinsics
- automatically accept the following options:
-
-
-
- -display display
- This option specifies the X server to use. See the section on
- Display Names for details.
-
-
- -geometry geometry
- The initial size and location of the window, in a format such as
- widthxheight+hoffset+voffset or +hoffset-voffset. Note that if
- you put in a negative horizontal or vertical offset, the window
- will be placed counting backward from the right or the bottom of
- the screen, respectively.
-
-
- -font font
- The font to use for displaying the text in your window.
-
-
- -bg color
- The color to use for the window background.
-
-
- -fg color
- The color to use for the window foreground.
-
-
- -name resource-name
- Useful for specifying the name under which the resources for
- this application will be found. This is useful to distinguish
- between invocations of the same application, for example, two
- xterms can be named differently so that they may inherit
- different resources based upon those names in the resource
- database.
-
-
- -title string
- This is the title to be used for the window on your display,
- generally used by the window manager to put a descriptive title
- at the top of the window. Not to be confused with the -name
- option.
-
-
- -iconic
- Invoke window as an icon.
-
-
- -xrm resource-string
- This option specifies a resource name and value to override any
- defaults that may already be set. Also useful for setting X
- resources that do not have explicit command line options. For
- instance, the command line xterm -xrm "xterm*background: blue"
- is functionally identical to typing xterm -bg blue.
-
-
-
- 4.2. Display Names
-
- Every X Server has a display name of the form:
-
- hostname:displaynumber.screennumber
-
- The hostname specifies the name of the machine to which the display is
- actually, physically connected. The hostname can be omitted, and if
- so, the server on the same machine will be chosen. In fact, if you are
- the only one using X on your computer, you will want to just leave
- this off of your display specifications. The displaynumber should
- probably be zero, this is used if the X Server is controlling more
- than one keyboard and monitor unit, for instance, a network of X
- terminals. The screennumber specifies which monitor in a multiple
- monitor setup should be used. Following this specification, you would
- open an xterm window on your local machine with the option -display
- :0.0. You can see that we have omitted the hostname from the option,
- so the current machine is assumed.
-
- On Linux systems, your DISPLAY variable holds your display name, which
- on my system is :0.0. This is usually set by xterm, or one of the
- scripts that starts X Window for you, although you can set it
- yourself, or as discussed above, use the -display command line option
- when invoking your application.
-
- If you have opened an xterm or rxvt window, and then opted to do
- super-user work via the su command, you will find that if you try to
- launch an X application you will have no display to launch it on.
- Silly it seems, because you are sitting right in front of your
- display, but the trick to getting this to work is to pass an option on
- the command line to the program such as -display :0.0, and it will
- work fine.
-
-
- 4.3. XTerm Versus Rxvt, or, Know Thy Terminal Emulator
-
- Your choice of terminal emulator can affect your experience in X
- almost as much as your window manager, so a little discussion of your
- best options is due here. A terminal emulator is a program such as
- xterm, discussed above, which lets you emulate the simple console of
- Linux in X. You will rely heavily on the program you choose, so it
- pays to choose it wisely to begin with.
-
- If you have a slow video card, the first thing you should consider
- doing is switching to rxvt. Using xterm is a good starting point,
- mainly because it comes standard with all X distributions, but it's
- not always the best choice. It contains a lot of legacy code, and is
- quite bloated for a simple terminal emulator. This is partly due to
- the fact that it's not just a plain text terminal emulator, but also
- emulates graphics modes that you simply will never use. Because of
- this, you may wish to switch to rxvt, and also because xterm can be
- extremely slow. I'm not sure why it's so slow, but if you have a slow
- video card you'll know what I mean, and you'll be amazed at the
- difference when you dump xterm.
-
- Some other perks of rxvt include pixmap backgrounds, and a much nicer
- scrollbar. If you specify the -pixmap option on the command line (and
- have support compiled in to your version!) you will get any .xpm-type
- picture in the background. A very cool feature, and it surprisingly
- doesn't slow down your output at all, it still redraws faster than
- your xterm window. Give it a shot, I haven't seen it around lately but
- I think it can be found on metalab.
-
-
- 5. X Startup
-
- We will presume for the following examples that we have picked a
- fairly stable window manager, such as FVWM2, to try out some sample
- configurations. I would suggest giving that a shot for the purpose of
- learning these topics, as most of what you will learn here and in the
- following sections will apply to any window manager out there, but the
- topics seem most easily picked up using FVWM2.
-
-
- 5.1. A Sample Starting Configuration
-
- Our first step is to write ourselves an initialization file for X
- itself. This file can be either a system-wide file, in which case it
- would likely be placed in /var/X11R6/lib/xinit/xinitrc, or it can be
- overridden on a per-user basis by placing the file .xinitrc in your
- home directory. Generally, it is expected that there will be a basic,
- default file in the system-wide location, possibly enforced if
- necessary for security reasons, but otherwise users will probably wish
- to configure the file themselves.
-
- First let's create a file in your home directory called .xinitrc. Open
- up your ``favorite'' text editor, and paste the following, or
- something like it, in that file:
-
-
-
- #!/bin/sh
-
- # if your backspace and delete are reversed, try this:
- xmodmap -e "keysym BackSpace=Delete" -e "keysym
- Delete-BackSpace"
-
- xsetroot -solid darkslateblue
-
- # start some basic applications
- xclock -geometry 96x96+2+2 -bg grey40 -fg black -hl white &
- xload -geometry 120x96+2+147 -bg grey40 -fg white -hl darkred -update 4
- &
- xterm -sb -ls -geom 80x25-2+2 -title "shell" &
- xterm -sb -ls -geom 80x25-2-2 &
-
- # start the window manager
- fvwm2
-
-
-
-
-
- There are plenty of things to learn from this example. First of all,
- this file will be a shell script, as indicated by the first line. The
- xsetroot command on the second line turns the background of our
- desktop to a pleasant blue color, not a bad idea if we're going to be
- staring at that color predominantly all day.
-
- The third and fourth lines are some programs that I like to leave
- running while I'm fast at work. You'll notice that some of the options
- make for a nicer setup, for example, specifying the colors and
- geometry (location on screen). I'll give you some tips for figuring
- this stuff out in a bit. The fifth and sixth lines follow similarly,
- opening up two handy xterm windows for us, which we will no doubt be
- needing soon.
-
- The last line is very important--it is this line that starts up your
- window manager! Notice that the only commands we did not run as
- background processes (by putting the & at the end) were xsetroot,
- xmodmap, fvwm2. With these first two it doesn't matter, as the
- programs exit immediately. But all the rest of the programs have to be
- in the background, otherwise when you closed one, it would kill your X
- Window session. That would not be very pleasant, nor very expected. As
- shown above, when you close fvwm2, you exit X.
-
-
- 5.2. A More Intelligent Startup
-
- We can add lots to our primitive example of a startup file. For
- instance, this is a good way to warn yourself when you may have
- carelessly stared X as the root user. Red Hat users seem to do this
- often, for many of the configuration programs which must be run as
- root, must also be run in X. You can avoid this by issuing an su
- command to become root during your normal X user session, and then
- calling the program you need to run as root with the option -display
- :0.0 discussed above.
-
-
-
- # change background color for root
- if [ "$USER" = "root" ];
- then
- xsetroot -solid darkred
- else xsetroot -solid darkslateblue
- fi
-
-
-
-
-
- This will check to see if you are the user named root, and if you are,
- it will set the background to a harsh red, rather than the usual
- friendly blue, to warn you. This next bit of code, also intended for
- your .xinitrc file, will merge in your user-specific and system-wide
- resources, first checking to be sure the files exist.
-
-
-
- userresources=$HOME/.Xresources
- usermodmap=$HOME/.Xmodmap
- sysresources=/usr/X11R6/lib/X11/xinit/.Xresources
- sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap
- # Merge in defaults and keymaps
- if [ -f $sysresources ]; then
- xrdb -merge $sysresources; fi
- if [ -f $sysmodmap ]; then
- xmodmap $sysmodmap; fi
- if [ -f $userresources ]; then
- xrdb -merge $userresources; fi
- if [ -f $usermodmap ]; then
- xmodmap $usermodmap; fi
-
-
-
-
-
-
- 5.3. Getting The Windows Where You Want Them
-
- Placing everything on your screen by guesswork with the -geometry
- option can get very tedious indeed. Particularly when you consider
- that you can specify the -geometry option to pretty much any program
- you can run in X. This allows a great precision in tuning the
- interface, but that's a heck of a lot of options to set, indeed.
-
- This brings up one very nice feature of the FVWM window managers. By
- default, when you move a window around the screen, you see the
- geometry specification appear on the screen. Go ahead, try moving a
- window around with the left button. Now try resizing it. As you can
- see, you can get some primitive specifications this way. However, even
- this method can be a little difficult, and it would be nice to have
- all the details about your window in one concise list.
-
- It is at this point that we will introduce the program xwininfo. To
- use this program, go to an xterm window and type in that program name.
- It will ask you to click on another window that you want information
- about, and after you click it will dump out useful information that it
- knows about that window. This is useful for plugging information
- about windows once you have them set up how you want them on your
- screen - run this program, then click on the window, then put in those
- parameters in your startup file, and your window system will
- henceforth be frozen in a pristine state of immaculate precision.
-
-
- 6. Configuring the Window Manager
-
- Now we take a look at the files to configure your window manager.
- These vary from manager to manager, but for our examples we will focus
- on the per-user files, and we are looking at FVWM2 in this example, so
- you will modify the file .fvwm2rc in your home directory.
-
-
- 6.1. Basic FVWM2 Configuration
-
- Configuring your window manager resource file in earlier versions of
- FVWM was a rather arduous process, because the order of the items in
- the file needed to be very particular, but that has relaxed quite a
- bit in this version. To my knowledge, the only crucial part of the
- ordering is the bindings for the menus, but we'll cover that a bit
- later. Your FVWM2 installation should have come with an example
- resource file, and you should be able to find that in
- /var/X11R6/lib/fvwm2/system.fvwm2rc. This is the default system-wide
- configuration file. A good idea would be to copy that file into your
- home directory and call it .fvwm2rc. From that point on, when FVWM2
- starts up it will read the file in your home directory, and ignore the
- system-wide configuration file.
-
- Now that you've got a working, personalized copy of the window manager
- resource file in your home directory, open it in your favorite text
- editor, and take a look at it. If you're in X at the moment, you can
- see the correlation between the file and what you see on your desktop.
- Very helpful indeed. Let's try changing something and see if we can
- make it look a little better. Probably the first entry in your file
- (that is not followed by the # comment character) is the WindowFont
- entry, followed by a very bizarre font name. If you want to figure out
- how to set up the fonts and colors to their fullest, skip ahead to the
- next section on X Fonts and Colors.
-
-
- 6.2. Advanced FVWM2 Configuration
-
- Configuring FVWM2 can get incredibly subtle and complex. Take this
- code snippet from the fvwm2gnome setup for the .fvwm2rc file:
-
-
-
- # import config files
-
- Echo -Styles-
- Read .fvwm2gnome/config/styles/app.styles
- Read .fvwm2gnome/config/styles/window.styles
-
- Echo -Buttons & Keys-
- Read .fvwm2gnome/config/buttons.config
-
-
-
-
-
- This is an example of a way to read in other configurations. In this
- fashion you can modularize your .fvwm2rc -- not a bad idea,
- considering how jumbled one huge configuration file can become. This
- can make it easier to change and to debug, and it also makes it easier
- to configure so-called themes, which we will cover in a moment.
-
- 6.3. FVWM2 Configuration Shortcuts
-
- A really neat way to configure your script for FVWM2 (and FVWM, and
- bash, and a whole lot of other programs besides!) is to use the
- Dotfile Generator, by Jesper K. Pedersen, available from
- <http://www.imada.ou.dk/~blackie/dotfile/>. You will need to have a
- recent version of Tcl/Tk installed (available with most Linux
- distributions). This program starts with a configuration preset, or
- takes the one you presently have, and allows you to tweak it via many
- structured menus of options.
-
- Be warned, however, for I advise learning how to set up your
- configuration file yourself! Not only is this the Unix Way (for what
- that's worth) but it's much easier to make small and incremental
- changes to your .fvwm2rc file that way, and get things exactly how you
- like them. Also, being a Tcl/Tk program, it's a little slow.
- Nevertheless, if you want a painless way to start with a decent
- configuration, this is definitely worth a shot.
-
-
- 6.4. FVWM2 Themes
-
- Among the many new possibilities of FVWM2 are something commonly
- called themes. This basically means that you can switch between a
- basic look for all of your windows on your desktop, on the fly. Note
- that if you've made the distinction between the functions of the
- window manager and the functions of the applications themselves, you
- will realize that a window manager theme is not going to affect the
- look and feel of the applications themselves. Integrated toolkits such
- as KDE and GNOME do have this capability, however, and the two might
- be used together very effectively.
-
- In order to generate a theme, you must roll up your sleeves and modify
- your .fvwm2rc file a little bit. Here's something I added near the
- beginning of my file, try putting it right after your Style
- definitions:
-
-
-
- # Blue Theme
- DestroyDecor Blue
- AddToDecor Blue
- + WindowFont -b&h-lucida-bold-r-*-*-*-140-*-*-*-*-*-*
- + TitleStyle ActiveDown (Solid DarkSteelBlue)\
- ActiveUp (Solid SteelBlue) Inactive (Solid Grey)
- + HilightColor white blue
- + ButtonStyle 1 -- UseBorderStyle
- Style Blue UseDecor Blue, BorderWidth 5, HandleWidth 5,\
- MWMborder, MWMbuttons
-
- # Function to change all windows to a new style.
- DestroyFunc ChangeStyle
- AddToFunc ChangeStyle
- + "I" Style $0 $1
- + "I" Recapture
-
-
-
-
-
- That's a lot to swallow, I know. Basically we're first defining a
- theme called ``Blue,'' and you can use that first half as a model to
- design other themes. Themes can describe many more features than that,
- in fact, and can be quite remarkably different from one another. Then
- we're defining a function to change all the windows to a new style.
- Notice in both sections above that we destroy the object before
- creating it. This is a good idea since you may well be restarting
- FVWM2 a lot to try out your different styles, and this makes it work a
- bit more smoothly.
-
- The function call is needed as a generic interface to call the
- definitions of the styles we have defined. Now we will make the menu
- items to call them.
-
-
-
- DestroyMenu "Themes"
- AddToMenu "Themes"
- + "Choose a theme..." Title
- + "" Nop
- + "Blue" ChangeStyle "*" "UseStyle Blue"
- + "Mwm" ChangeStyle "*" "UseStyle Mwm"
- + "Flat" ChangeStyle "*" "UseStyle Flat"
-
-
-
-
-
- We're being a little terse with the menu definition here, but there
- should be a lot more in the sample file on your system. What we're
- doing is calling the ChangeStyle function that we defined above to
- change the style for all the windows on the screen to one of the
- presets we defined above that. Notice, again, our good practice in
- destroying the menu before creating it. Now if you restart FVWM2 (you
- should also have a menu option for that, hopefully!) you will see a
- new Themes menu selection, and you should be able to try out the
- different themes.
-
- For more examples of FVWM2 Themes, visit
- <http://www.vis.colostate.edu/~scriven/Linux/fvwm/index.html>.
-
-
- 7. Fonts and Colors
-
- There are a lot of tricks to the fonts and colors used in X. They are
- not quite as simple as in some other systems, for instance, the font
- is not just a one-word name. You specify these resources quite
- explicitly, and it seems rather complex at first, but with a little
- explanation you'll be a whiz in no time.
-
-
- 7.1. Fonts Demystified
-
- The X Logical Font Description (``XLFD'') is the full name for a font.
- It consists of the following fields:
-
-
- ╖ fndry - font foundry, the company or individual which made the font
-
- ╖ fmly - font family, the popular nickname of the font
-
- ╖ wght - font weight (bold, medium, etc.)
-
- ╖ slant - font slant (italics, oblique, roman (normal), etc.)
-
- ╖ sWdth - font width (normal, condensed, extended, etc.)
-
- ╖ adstyl - additional style (sans serif, serif, etc.)
-
- ╖ pxlsz - pixel size, the number of pixels vertically in a character
-
-
- ╖ ptSz - approximate point size of the text (similar to pxlsz)
-
- ╖ resx - horizontal resolution, in dpi
-
- ╖ resy - vertical resolution, in dpi
-
- ╖ spc - spacing, only useful, apparently, in the Schumacher fonts
-
- ╖ avgWidth - average character width of the font
-
- ╖ rgstry - the recognized registry that lists the font
-
- ╖ encdng - nationality encoding
-
- In light of this chaos, the program xfontsel (the default X Window
- font selection program) will come in enormously useful to you. Try
- launching it right now. You will see a strange nothing helpful in the
- main window, but try holding the left button down on the fndry button.
- If all your fonts are in order, you will see a menu of selections such
- as adobe and b&h and bitstream and so forth. Select one such as b&h
- and you will notice that the font in the lower window changes to
- something intelligible. This is generally the way you will select
- fonts with this program, starting from the left, which is the most
- general selection, and moving toward the right, to the more specific
- options. Selecting an option toward the rightmost end will not make
- much sense before the foundry, for instance, is selected, because the
- options are generally ordered by their dependence on each other.
-
- When you go to select from the fmly selection, you will see most of
- the options greyed out, and only three remaining. That means that
- these three are the only families of font made by this foundry. Some
- families appear under more than one foundry, for instance, both Adobe
- and Bitstream make a variation of the Courier font. Now you can select
- the wght, and so forth. After you get far enough you will have
- narrowed it down to the font that you want. You don't necessarily
- have fill in all the options to choose a single font, there's not that
- many fonts on your system! The options that you do not select will be
- represented by a * indicating that any option will do in that spot.
-
- When you are happy with your font selection, you can hit the select
- button, and your selection will be placed in the X clipboard, ready to
- be pasted into your document or whatever you are working on. For
- instance, go to your xterm window and type in something like xterm
- -font followed by an opening quotation mark. Then point to that spot
- on your screen, and click your middle mouse button (or click both the
- left and right, if you're middle-button impaired). This will paste
- the selection from the clipboard, which should be the font you just
- selected. Then enter the closing quote, and hit Enter. For instance, a
- nice big xterm with a Courier font specified would look like this:
- xterm -font "-adobe-courier-medium-r-*-*-14-*-*-*-*-*-*-*" A fresh
- xterm should the pop up using the font that you selected.
-
- The utility xfd is very helpful for examining a font. If you launch
- it with a command line such as xfd -fn fixed, it will show you the
- character set for the font, much like the keycaps utility on a
- Macintosh. Note that you can also limit the number of fonts that you
- want xfontsel to display with the command line option -pattern,
- followed by a quoted font specification, as discussed above.
-
-
- 7.2. Font Aliases and Configuration
-
- Sometimes it gets tiresome to remember all of the long font names, and
- very impractical too. Luckily, it is not necessary to type in a
- hundred keystrokes or so just to get the font name you want, for X
- provides something called font aliases.
- If you look in the directory /usr/X11R6/lib/fonts/misc/fonts.alias,
- you will find shortcut names for many of the fonts. For example, 8x16
- is listed as a shortcut for -sony-fixed-medium-r-
- normal--16-120-100-100-c-80-iso8859-1, and anywhere you enter 8x16 as
- an X font resource or at a command line for a font name, the long
- version of the font will be substituted. The 75dpi and 100dpi
- directories have similar aliases to take advantage of, on most systems
- the Lucida Sans font has a nice shortcut.
-
- If you add fonts or aliases to your system, you will have to issue a
- few commands (probably as root). If you add fonts, you will have to
- issue the following two commands (these are examples, you will have to
- put in the correct directory, or perhaps leave it off altogether, to
- have your fonts re-read correctly.
-
-
-
- mkfontdir /usr/lib/X11/fonts/misc
- xset fp rehash
-
-
-
-
-
- If you change the alias file for a font, you may only have to issue
- the last command above, but it may be a good idea to issue them both,
- to be sure. With the xset command you can explicitly issue a font
- path you wish the server to use, you can delete a specific directory
- from your font path, see the man page for more information.
-
- Another common problem is that some distributions (notably Red Hat
- 5.2, at the moment) come with the fonts configured in the wrong order.
- If you take a look at your /etc/XF86Config (it may be somewhere else
- in some distributions, unfortunately, and I'm not sure where it is in
- Red Hat at the moment, so maybe locate it...) Take a look at this
- file if you fonts are ugly in X (as in, very difficult to read even at
- large sizes). You will see a bunch of entries that look something
- like this:
-
-
-
- FontPath "/usr/X11R6/lib/X11/fonts/misc/"
- FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
- FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
- FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
- FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
-
-
-
-
-
- The important thing to note here is that we have the unscaled
- bitmapped fonts (the directories misc, 75dpi, 100dpi) before the
- scaled fonts (such as Type1 and Speedo). Bitmapped fonts are
- preferred for the X Server, because scaled fonts don't look very
- pretty for common use, they're better for things like The Gimp or
- Netscape, perhaps. You should also do a sanity check to see that
- these directories all do, in fact exist, and if you have modified any
- lately, you might need to (as root) go in and issue an mkfontdir *
- command in the fonts directory.
-
-
- 7.3. Using Type 1 Fonts in X
-
- The font types X generally accepts are of limited use, considering
- that about the only place you'll find fonts of that kind used are in
- the X Window System itself, and unfortunately most media junkies and
- fontaholics work in operating systems that prefer other formats. Type
- 1 fonts, most commonly used in conjunction with PostScript document
- formats, can be found for free on the internet with considerable ease.
- Try <ftp://ftp.cdrom.com/pub/os2/fonts/> for starters.
-
- To make use of these fonts is not that difficult, and graphics
- programs like GIMP will take advantage of them tremendously, and best
- of all, the Linux X servers understand Type 1 fonts ``out of the
- box.'' To use them, first unpack the archive using the appropriate
- commands, and put the fonts with a .pfb extension in
- /usr/X11R6/lib/X11/fonts/type1/ on your system. Then, add mention of
- those fonts in the fonts.scale file in that directory, using the
- format for the other fonts, already there. Then save the file.
-
- Now, you should be able to mkfontdir to tell the X server about the
- updates, and then run xset fp rehash to re-read the font path. If this
- doesn't work for you, you might have to restart X to see the changes.
-
- If you find yourself using Type 1 fonts a lot, and for things other
- than just X (GhostScript, for instance, can handle this font format as
- well), you'll want to check out the type1inst utility by James
- Macnicol. This program can configure Type 1 fonts for GhostScript and
- X, and it can also generate sample sheets for your fonts, and does
- most of the work of configuration for you. This program can usually be
- found at <ftp://metalab.unc.edu/pub/Linux/X11/xutils/>.
-
-
- 7.4. Using TrueType Fonts in X
-
- If you have been using an operating system such as Windows or the
- MacOS, you may have lots of fonts sitting on your computer already
- that are TrueType fonts. TrueType fonts are considered best on
- smaller, low-resolution displays, such as your computer monitor, and
- attempt to provide nice features like shading and antialiasing,
- making your display look smoother. It is also really easy to find
- cheap TrueType fonts in bulk, and CD's featuring upwards of 500 fonts
- in the TrueType format are common in computer stores.
-
- X does not understand TrueType fonts, and has no innate capability (at
- present) to do so, and so it needs a separate program to do the font
- rendering for it. There is a FreeType library to do this, but if you
- just want to use them on your computer, all you will need is a program
- called xfstt, the X font server for TrueType. This program should be
- available at <ftp://metalab.unc.edu/pub/Linux/X11/fonts/>.
-
- Installation is fairly straightforward. Extract the archive, and make
- the file, and then make install. You may get a few errors that don't
- make sense after the second command; ignore them. What you need to do
- next is create a writable directory called /usr/ttfonts and put some
- of your .ttf fonts there, just to make sure it's going to work. Then
- synchronize the font server with the command xfstt --sync.
-
- If you got no errors there, run the font server in the background with
- the command xfstt & and tell your X11 server about the font service
- with the command xset fp+ unix/:7100. If you got no errors, you
- should be able to run Netscape, the GIMP, even xfontsel, and have
- those fonts available to you. Your biggest problem may be finding the
- font you want, but that's not really a bad thing.
-
- If everything seems to be working fine, at this point you will want to
- configure your system so that the fonts will be working when you start
- X. If you are just starting X from the command line, this is easy.
- All you have to do is add the two commands from the previous paragraph
- to your .xinitrc file, in that order. When you next start X, it
- should work just fine. If you are starting X via xdm, you will need
- to add /usr/X11R6/bin/xfstt & to /usr/X11R6/lib/X11/xdm/Xsetup_0. Got
- that? Then add xset vp+ unix/:7100 as well.
-
- Bear in mind that the installation of a TrueType font server can be
- tricky business. Remember that the order that you issue the above
- commands is important. The font server must be started before X is
- started, otherwise you will run into problems. Be sure to read the FAQ
- file that came with the distribution, and the xfstt man page too.
-
-
- 7.5. Colors
-
- Let's go back to our terminal window and try some more things. Try
- opening an xterm with a command line like the following:
-
-
-
- xterm -fg darkslateblue -bg red3 &
-
-
-
-
-
- While that window may not be pretty, and you may not do much of your
- best work in it, it demonstrates one interesting theme of X, the names
- of the colors. While not very precise, this is a nice way to remember
- the colors more easily than remembering a series of hexadecimal
- numbers. Note that color names are never case-sensitive.
-
- If you're interested in the gory details, or want to see the samples,
- or even want to replace those silly color names with your own for some
- strange reason, you can find the file listing all the colors with
- their hexadecimal representation in /usr/X11R6/lib/X11/rgb.txt on your
- system. There are also some extremely useful utilities with names like
- xcolorsel and such. They can be found in the usual locations, on
- <http://metalab.unc.edu/pub/Linux/> and elsewhere.
-
- A more precise way of specifying colors is through the numerical
- definition. This consists of a color space name and a set of values
- in the following syntax:
-
- <colorspace-name>:<value>/.../<value>
-
- An RGB Device, which you will most likely be using, is specified with
- the prefix "rgb:" and has the following syntax:
-
- rgb:<red>/<green>/<blue> , where <color> is a 1 to 4 digit hexadecimal
- number.
-
- As an example, you might represent the color red with rgb:ffff/0/0.
- For backward compatibility, you can also specify red with a syntax
- such as #ff0000 or #ffff00000000, and you will likely be seeing that
- (older) syntax a lot.
-
-
- 8. The X Resources
-
- We will at this point consider some finer modifications to your
- system. Configuring the window manager only gets you so far. The
- window manager lets you customize everything that happens outside the
- windows, the frames, the borders, the buttons, the desktop... but what
- about making the inside of the windows pretty? The only way to do this
- is by modifying the X Resources for your system.
-
- X Resources provide a mechanism for storing default values for program
- resources and tailoring your windowing environment to your favored
- look and feel. Resources are specified as text strings that are read
- in from various places when an application is run. Program components
- are named in a hierarchical fashion, with each object in the hierarchy
- identified by a class as well as an instance name. At the top level of
- the hierarchy is the class and instance name of the application
- itself. By convention, the class name of the application is the same
- as the program name, but with the first letter capitalized (e.g.
- Bitmap or Emacs) although some programs that begin with the letter
- ``X'' also capitalize the second letter for historical reasons (e.g.
- XTerm).
-
-
- 8.1. X Resources: The Basics
-
- Let's try a few examples to ease you into the world of resources.
- Start by opening an xterm window. Most likely you have one open
- already, can open one with a menu selection, or may wish to backtrack
- a bit in this document to get your bearings! Type something like this
- into the xterm window:
-
-
-
- xterm -background blue &
-
-
-
-
-
- This command should have resulted in another xterm window popping up
- on your screen, but this time with a blue background. ``Wow,'' you
- say, ``that's amazing!'' Yes, indeed it is.
-
- We'll need a little more background for our next example. Type exit in
- that xterm (which will close that window) and go back to the original
- window that you typed that command in. Try this: hold the Ctrl key and
- then hold the left mouse button. Now try that with the middle mouse
- button. Now the right. All xterm windows give you options to try
- while they are running. With the right button, for instance, you can
- change the font of the window. Notice the color of these menus. Now
- try this example:
-
-
-
- xterm -xrm 'xterm*fontMenu*background: green' &
-
-
-
-
-
- This time, it just looks like a normal xterm window. But if you try
- holding Ctrl and the right mouse button in that window, you will see
- that this menu (the ``fontMenu'' mentioned in the above example) is
- green. What just happened? If you look at the man page for xterm,
- you will see many command-line options, such as -background or -font,
- that you can set when you launch any given window in X, listed after
- the options just for xterm windows. These particular options are
- called X Toolkit Options, and they apply to just about anything in X.
-
-
- 8.2. Inside The X Resource Database With editres
-
- To really get inside the resources of X, we need to run editres. Go
- ahead and launch it (and a sample program to play with) now:
-
-
-
- xclock &
- editres &
-
-
-
-
-
- Probably you will see a simple clock, and the rather innocent looking,
- mostly-blank window of editres. The main window is showing us the
- resource tree of any given window on our desktop, and upon program
- launch, there is none. So let's give it one. Hold down the left button
- on the Commands menu, and select Get Tree. In the top of the window
- will appear Click the mouse pointer on any toolkit client. This
- message is more than it seems, and it is a hint to us that not all X
- applications are toolkit clients (though most of the basic ones are,
- and the program will usually tell us if it is not in the manual page).
- The mouse cursor will turn to a crosshair, and wait for you to click
- on another window.
-
- For this example, let's first click on the xclock. You will see a
- couple things appear in the editres window. These are the configurable
- branches that the toolkit sees. Click on the bottom right one (clock).
- It should invert. Now select ``Show Resource Box'' from the
- ``Commands'' menu. You will see another window pop up, with the
- heading ".xclock.clock.unknown". Bingo!
-
- >From here you can toy with the configuration options of the main
- xclock window. First, click on ``Set Save File'' at the bottom, and
- put in a filename such as /home/yourname/resources, to indicate that
- you're testing some of the resources here. Now click on ``foreground''
- and put in ``blue'' next to the ``Enter Resource Value:'' prompt. Then
- hit ``Apply'' at the bottom. The minute notches around the clock
- should turn blue. Go to ``background'' and enter ``navajowhite'' (or
- whatever color you prefer). The apply that. As you can see, we can
- configure the whole window just fine this way. But if you were to try
- launching another xclock, it would appear just as this one appeared
- before any changes. We need to save these changes.
-
- Click ``Save'' and then ``Popdown Resource Box'' (a fancy name indeed
- for the ``Close'' function!). If you view the file you just created
- (cat /home/yourname/resources perhaps) you will see all those
- resources spelled out, in correct X Toolkit format, for your
- convenience. But that does us little good, for if you try launching
- another xclock, it will still look Plain Jane. So here is the last and
- final step in loading in your resources:
-
-
-
- xrdb -merge /home/yourname/resources
-
-
-
-
-
- This command merges the resources we just wrote into the X Resource
- Database (xrdb) for your session of X Window. That means that for all
- future invocations of the X applications we modified, our changes will
- take place, and remain binding. So if you run another xclock, it will
- look as nice as you have just now set it up, every time you run it.
- Mind you, xrdb is a complex program, and you may want to have a look
- at the man page before moving on, or playing around with it some more.
- If you added the modification to .xinitrc listed earlier in this
- document, to load the resources automatically on X startup, you should
- only have to worry about the xrdb command when you make changes during
- your X session.
-
- 8.3. The Anatomy of X Resources
-
- As you can see we have stumbled across a plethora of configuration
- options here. This method of configuring X, as has been stated, offers
- nearly limitless possibilities, and an equivalent amount of confusion.
- To get some picture of the scope of the resources in just the X
- Toolkit Intrinsics alone, run the program viewres, and play around
- with it a bit. This program graphically displays the tree of resources
- in the Xt Library.
-
- If you read the manual page for X, you will find a rather obscure
- definition of the exact syntax for defining resources it understands.
- We can simplify this quite a bit and break it down into this essential
- syntax definition:
-
- <program><binding><widget><binding><widget><...><resource>:<value>
-
- That doesn't really seem that simple, actually. Well, let's define
- some things about what has just been said, and it will all start to
- make sense after all. You can peek ahead to the examples in the next
- section as you read along, if you wish.
-
- The program in this definition is the invocation of an application in
- the resource database. This would be XTerm for an invocation of xterm,
- emacs for an invocation of the emacs text editor, or a user-defined
- name that was given when the applications was launched with the -name
- command line option. In this way you can define separate resources for
- xterms which will be used in different ways. Which is pretty cool,
- really.
-
- The binding can be one of two characters to separate the widgets and
- such. If you use a . (period), you get a tight binding, which means
- that one widget is directly above or below the other in the widget
- hierarchy. This also has the highest precedence of the specification
- methods. If you use a * (asterisk), you get a so-called loose binding,
- and you will skip any number of widgets in the hierarchy, and it will
- attempt to match the next possible widget defined.
-
- The widget entries are items in the widget tree, in order of most-
- specific to least-specific, that they appear in the widget tree,
- visible with editres. Any single widget entry can also be replaced
- with a ? (question mark) to skip a single widget definition, and match
- any possible widget item.
-
- The resource item must be specified, and cannot be replaced with the ?
- character. This is the most-specific item in the hierarchy, and
- usually contains items like the actual color to define, actual font to
- define, and so forth. In fact, everything else before the resource in
- this definition can be left out and replaced with a single asterisk,
- but the actual resource to define must be present. If you just put an
- asterisk and the most-specific resource name, such as *background:
- blue, X will attempt to define that resource globally, for all its
- clients, if possible.
-
- Following the colon is the value entry. This entry defines what the
- resource will be set to, such as a font name or color value. The value
- can be specified (depending on context) as a boolean, numeric, or text
- data type. The value entry, also, cannot be omitted in a valid
- resource definition.
-
-
- 8.4. Making Your Changes Last With .Xdefaults
-
- There is a magic file you can put in your home directory called
- .Xdefaults. If you copy the lines in the resources file from the last
- example into the .Xdefaults in your home directory, you will never
- have to configure xclock again! While this might not be the finest
- example of its utility, it makes its point. This file can be crammed
- full of every option you prefer for every type of program you run in
- X, and if you take proper care of it, you can still easily go back and
- make slight changes when you need to. But making lots of changes, and
- hunting down lots of subtle resources using editres can be an
- extremely tiring and painstaking procedure. Indeed, sometimes that's
- too much work, and most of these resources are already waiting for
- you, neat and orderly, grouped by program, on your system.
-
- In the directory /var/X11R6/lib/app-defaults you will find a great
- many files, all named after an X Toolkit program. If you examine these
- files you will find that they contain a great many configuration
- options for each one, and I do mean a great many! You would not want
- all of these options from all of these files in your .Xdefaults file,
- that would be quite tiresome to deal with. These are the defaults, and
- it is from these that you can decide what you would like to see
- changed for your particular configuration.
-
- The following are some samples from my .Xdefaults file. Notice a few
- things we have not yet mentioned about the resource definition files.
- If a line begins with ! (exclamation point), it is considered a
- comment, and the rest of the line is ignored. If the line begins with
- #include filename, that line is an include directive, and at that
- point in the resources another file will be merged, when it is loaded.
- This can help keep your resource files from becoming too bloated. And
- here are some examples:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ! Default resources for me@localhost xterms
- ! start with the generic, move to the specific...
- *Dialog*Text*font: -b&h-lucida-medium-r-*-*-12-*-*-*-*-*-*-*
- *dialog*value*background: white
- *Dialog*Label*font: -adobe-helvetica-bold-r-*-*-12-*-*-*-*-*-*-*
- *MenuButton*font: -adobe-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*
- *MenuButton*background: grey80
- *MenuButton*foreground: black
- *Label.font: -adobe-helvetica-medium-r-*-*-10-*-*-*-*-*-*-*
- *Label*shadowWidth: 1
- *SmeBSB.font: -adobe-helvetica-bold-r-*-*-12-*-*-*-*-*-*-*
- *SimpleMenu*font: -adobe-helvetica-medium-r-*-*-10-*-*-*-*-*-*-*
- *OptionMenu*font: -adobe-helvetica-medium-r-*-*-10-*-*-*-*-*-*-*
- *Command.font: -linotype-helvetica-bold-r-narrow-*-12-*-*-*-*-*-*-*
- *commandBox*font: -b&h-lucida-bold-r-*-*-12-*-*-*-*-*-*-*
- *Toggle.font: -adobe-helvetica-bold-o-*-*-12-*-*-*-*-*-*-*
- *Form.background: grey70
- *TransientShell*Dialog.background: grey70
- *Scrollbar.Foreground: grey80
- *Scrollbar.Background: grey50
- *Scrollbar*cursorName: top_left_arrow
- *Scrollbar*width: 16
- *shapeStyle: Rectangle
- *XlwMenu.shadowThickness: 1
- *shadowWidth: 1
-
- ! xterm stuff
- xterm*scrollbar.background: grey40
- xterm*foreground: grey90
- xterm*background: grey25
- xterm*cursorColor: white
- xterm*visualbell: on
- ! rxvt stuff (a quicker, better xterm)
- rxvt*color12: steelblue
- rxvt*color15: white
- rxvt*color9: rgb:ff/7f/5f
- rxvt*foreground: grey90
- rxvt*background: grey10
- rxvt*cursorColor: white
- rxvt*font: lucidasanstypewriter-12
- rxvt*loginShell: false
- rxvt*saveLines: 1024
- rxvt*title: shell
- rxvt*geometry: 80x25
- ! Make Xman just a little bit more sane
- xman*topBox: false
- xman*background: lightsteelblue
- xman*foreground: black
- ! xcalc is too bland by default...
- xcalc*Command.font: -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-*
- xcalc*customization: -color
- ! Disallow the <blink> tag in Netscape
- Netscape*blinkingEnabled: False
-
- ! Merge other resources (example)
- # include $HOME/.otherXresources
-
-
-
-
-
- One word of warning with regard to X resources. KDE users will find
- that their X resources are ignored. That's right. They are. I'm not
- actually aware of any way to get around this at present, nor have I
- looked into it extensively. KDE configures your resources for you, so
- that all your X applications have the same look and feel, sort of.
- This can be very disorienting if you're switching between window
- managers. If anybody knows how to get around this (read: fix it ;)
- please let me know.
-
-
- 8.5. Your Own User Resource Directory
-
- You can also create a directory of resource files, just like the
- system-wide app-defaults directory mentioned above, with one file per
- program. Just create the directory (for our example we'll use app-
- defaults under your home directory,) and then set the environment
- variable XAPPLRESDIR to point to it. A good place to set this variable
- would be in the beginning of your .xinitrc file, for example, put in
- the line export XAPPLRESDIR=$HOME/app-defaults (if your files are
- going to be in an app-defaults directory under your home directory).
-
- Now, whenever you start an X program, this directory will be searched
- for a file with the same name as the resource name of the program,
- just like the system-wide directory. This is the client name that you
- used in .Xdefaults files.
-
- For example, a file called XTerm could contain the line *background:
- gold, and all your xterms would, by default, come up with a gold
- background. This is a nice alternative to a single .Xdefaults file,
- and makes it more clear when trying to decide which settings to
- configure later on, and to find the ones for a certain program. There
- are still uses for the .Xdefaults, though. It's useful for setting
- resources not bound to a single program, like modifications that you
- would make to turn all of a certain kind of button blue, regardless of
- the application.
-
-
- 9. Clients and Application Tips
-
- We have covered a few clients in X, and this section will cover some
- more. We will limit our discussion here to the most basic and
- important core items, those which come with X or you are likely to
- find yourself using with X. If you have installed an integrated
- desktop environment such as KDE or GNOME, you will have many others to
- choose from which likely perform many of the same functions. However,
- it is important to know about and understand many of the fundamental
- programs in X, because they can be very useful for working with your
- environment and such. Also X offers many new options that even your
- normal console applications can take advantage of.
-
-
- 9.1. Screen Savers for X
-
- A common feature of many operating systems is the ability to blank the
- screen after a specified amount of time, and optionally display some
- sort of nifty graphics demo thing, a screen saver. There are a couple
- ways to do that in X, too.
-
- The most basic way to use this feature is by putting a command in your
- .xinitrc startup file such as xset dpms 2400 3600 4800. The xset
- program can configure the screen saving features of the X server, not
- to be confused with the screen blanking that the kernel does when you
- are at the text console. With the dpmi option, X can use the power
- saving features of your monitor as well. The first option configures
- how many seconds before the screen blanks, the second option is how
- many seconds before the power saving feature starts, and the third
- option is for the "off" mode. Turning on an option implicitly enables
- the feature, setting a feature to zero explicitly disables it.
-
- Many Linux distributions come with xlock preinstalled, or as an
- option. This is a pretty basic and fairly nice screen saver. If you
- run it with the -nolock option, you can see some of the modes that it
- offers, and if you leave that option off, it will ask you for a
- password when you move the mouse or press a key, as a security
- feature. Note that this is no real security, for at a Linux console a
- user could restart the computer or just drop out of X with a
- combination of keystrokes. The last method can be disabled, however,
- and if you are using xdm, it will offer as much security as your
- login, so it may be that only rebooting will let someone in.
-
- A newer and better program is xscreensaver by Jamie Zawinski. This
- program offers a great many niceties, for instance, it can run its
- processes at a nicer priority level, lessening the load to the system
- while it's running, and it automatically detects when the screen has
- been powered down by xset and doesn't waste processor time. Also, all
- of the graphics routines it calls are modular demos, and you can add
- routines without upgrading the whole package, and it can also call
- other programs, such as xearth or xdaliclock, as modules.
-
- The latest version of xscreensaver can be found at
- <http://www.jwz.org/xscreensaver/>. Once you get it installed and
- ready to go, here are some nice additions you might wish to add to
- your .Xdefaults file:
-
-
-
- !!! some XScreenSaver sample defaults
- ! Time out after 3 minutes, cycle mode after each 2
- xscreensaver.timeout: 3
- xscreensaver.cycle: 2
- ! Run very low priority, and fade between modes
- xscreensaver.nice: 12
- xscreensaver.fadeSeconds: 2
-
-
-
-
-
-
- 9.2. Emacs and XEmacs
-
- If you are a fan of the text editor EMACS, or just someone who uses it
- a lot, you will find your work even easier in X Windows. If you have
- not tried XEmacs, you may want to get it for use in X. There are
- features in XEmacs that are nice even if you are not in X, for
- instance, your text can be colored to match the markup style you are
- editing automatically. You should give the following modification to
- your .emacs file a shot, and read the info pages for more options.
- Also look for an option to edit faces in the menus.
-
-
-
- (global-font-lock-mode t)
- (setq font-lock-maximum-decoration t)
-
-
-
-
-
-
- 9.3. Some Useful Programs and Tricks
-
-
-
- appres
- The appres program prints the resources seen by an application
- (or sub-hierarchy of an application) with the specified class
- and instance names. It can be used to determine which resources
- a particular program will load. Useful for debugging your X
- defaults and such.
-
-
- rclock
- Many distributions come with this nice replacement for xclock,
- which saves memory, alerts you when your mail comes, and can pop
- up reminder messages and launch programs. The Battery-Powered
- Mini-HOWTO contains instructions on patching this utility to
- show how much battery is left in your laptop, too.
-
-
- rxvt
- A nice replacement for xterm - uses less memory, works faster,
- lets you put in a background pixmap, and lets you switch fonts
- with keyboard hotkeys, rather than menus.
-
-
- xcpustate
- Displays CPU state (idle, nice, system, kernel) statistics, as
- well as Ethernet information.
-
-
- xearth
- Display the earth on your root window, many options for display
- available. Xscreensaver can use this as a screensaver module,
- for maximum fun.
-
-
- xfig
- A vector drawing program, particularly useful for charts and
- documentation. Quite useful but hard to get the hang of at
- first.
-
-
- xfontsel
- Font selection utility for X Window. Try the command xterm -fn
- `xfontsel -print` & to pick a font and then open the xterm
- window using that font.
-
-
- xload
- Monitor your memory usage with a moving graph or the lights on
- your keyboard! If you use Window Maker, look for wmmon to do the
- same, but prettier.
-
-
- xmag
- A magnifying glass for X, with a couple other useful features.
-
-
- xman
- Manual page browser for X. If the little box it starts with
- gets annoying, launch it with the -notopbox option.
-
-
- xmodmap
- Edit and display the keyboard modifier map and keymap table that
- are used by client applications to convert event keycodes into
- keysyms, usually run from user's startup script. An example was
- given earlier in this document, see the man pages for more info.
-
-
- xpaint
- Basic bitmap painting program, for any real work you should grab
- GIMP <http://www.gimp.org/>.
-
-
- xset
- User preference utility for X. You can change all sorts of stuff
- with this. For instance, xset s 600 sets the screen to blank
- after ten minutes.
-
-
- xsetroot
- Change the color of your desktop. If you have a color selector
- program like xcolorsel installed, try a command like xsetroot
- -solid `xcolorsel` to pick a color and set your desktop to that
- color.
-
-
- xwininfo
- You can run this program and click on any window for lots of
- useful information about it.
-
-
- The Intellimouse
- You can use the Intellimouse in X with a great many
- applications. There is an excellent resource page located at
- <http://www.inria.fr/koala/colas/mouse-wheel-scroll/>.
-
-
-
- 9.4. Libraries and Compiling X Applications
-
- Sooner or later you will have to deal with compiling applications of
- your own. Later, if you just installed a nice distribution of linux,
- and are happy with what you've got, sooner, if you're the kind of
- person who likes to tinker and install. Remember, this is a privelage,
- not a right, so have fun with it!
-
- First, a few pointers on compiling programs with X. Many newer
- applications, GNU applictions in particular, come with a script in the
- root directory called configure. This assumes of course that you've
- extracted the file and are in the directory. This program should be
- run as ./configure, and will automatically detect many things about
- your system. Afterwards, simply running make and perhaps becoming
- root and running make install will get the program up on your system.
-
- You may have to do a little more tinkering if you do not have a
- configure script available. Many X programs require you to run a
- program to make the Makefile, called xmkmf. If you don't see a
- Makefile in your directory, this will sometimes work, and will
- generate a suitable configuration for you, and you'll be ready to make
- from there.
-
- Sometimes you will have run the configure script, and have been warned
- that you lack a library that would be helpful or necessary to properly
- use that application. For instance, I recently installed the
- xscreensaver application, and found that it would support several 3D
- modes if the Mesa library was installed. If you run into this
- situation and want that library installed, the first thing you should
- do is check the CD or installation media for your Linux distribution
- to see if you have the library on there. That may save you lots of
- trouble trying to compile the library.
-
- Once you get a library compiled and installed and ready to use, you
- can go back to the directory you were installing your X program from,
- remove the config.cache file, and run the configure script again.
- Hopefully it will find the library you have installed. Sometimes it
- does not, and you have to tinker to get it working. This happens
- occasionally with libraries you download off the net, that do not
- adequately support the Linux File System Standard (most do, however).
-
-
- 9.5. Basic X Security
-
- It has often been said that X has a very simple security model: All or
- Nothing. This is not much of an exaggeration at all. X can be
- configured to use somewhat sophisticated security, via encryption, but
- that is beyond the scope of this HOWTO (for the present). It is
- assumed that the user is not using any encryption for this discussion.
-
- First of all, you should try and follow some simple rules when you're
- compiling programs for X (or for any reason, really). Try not to
- become root any more than necessary. Configure your programs as a
- normal user with the ./configure && make (or just make if there's no
- configure script), and then issue the single command to install it as
- root by typing su -c "make install", and then typing in the root
- password at the prompt. That way you won't have to be logged in as
- root, you can just issue a single command, and you're back to your
- normal user prompt. This is a smart, safe way to install software.
-
- The next thing to think about is running X software as root. Realize
- that X is more or less inherently insecure, and if your primary
- concern for a particular Linux box is security, you really don't want
- to install X at all! Having said that, some folks want to run nice
- fancy configuration programs or package management tools in X. I do
- not recommend starting X as root. It's just not a good idea. There's
- much, much better ways to do these things!
-
- If you want to run an X application as root, just log in under your
- normal user account, and launch it from there. As I mentioned above,
- you don't want to be logged in as root any more than absolutely
- necessary. The root user has the ability to do just about anything on
- the system, including about a million ways to destroy it completely.
- Simply go to your xterm or such application and type in a command such
- as su -c "glint -display :0.0" to launch the window on your desktop.
- Now you have a single window running as root, and not the whole
- desktop. You might also want to consider using the complete pathname
- to the program you're running as root, for extra security.
-
-
- 10. Bibliography and Other Resources
-
- There is lots of information on X Window to be found, on your computer
- right now, on the Internet, and in some excellent books available at
- your favorite bookseller. Give some of the following resources a try,
- they have been extremely helpful to the author, and can be extremely
- helpful to you, too.
-
-
- ╖ Check the Linux Documentation Project <http://metalab.unc.edu/LDP>
- website for a lot more documentation on Linux, X, and related
- items.
-
- ╖ <http://www.x11.org/>is sort of a clearinghouse for all things X.
-
- ╖ <http://www.themes.org/>is a headquarters for themes for various
- window managers.
-
- ╖ The X Consortium's web site is <http://www.x.org/>... or perhaps
- it's moved to <http://www.opengroup.com/>.
-
- ╖ XFree86 can be found at <http://www.xfree86.org/>.
-
-
- ╖ The O'Reilly series on X Window! Visit <http://www.ora.com/>for
- the definitive books on X.
-
- ╖ Much more information on using TrueType with X is at
- <http://www.freetype.org/>.
-
- ╖ The man pages for X, xterm, XFree86, and for any other clients you
- find yourself using often, are very useful and quite information-
- packed, and highly recommended. As the oft-repeated saying goes,
- RTFM.
-
- ╖ There is a Remote X Apps MINI-HOWTO that is very helpful in
- figuring out how to run local and remote clients with X.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-