Much more can be said about the XFree86 server, the
— Briefly describes the XFree86 architecture and how to get additional information about the XFree86 project as a new
— Explains the advanced configuration options
/usr/X11R6/lib/X11/doc/RELNOTES — For advanced users who want to read about the latest features available in XFree86.
man XF86Config — Contains information about the XFree86 configuration files, including the meaning of and syntax for the different sections within the files.
— The primary man page for all XFree86 information. Details the difference between local and network X server connections, explores common environmental
man Xserver — Describes the X display server.
http://www.xfree86.org — Home page of the XFree86 project, which produces the XFree86 open-source version of the X Window System. XFree86 is bundled with Red Hat Linux to control the necessary hardware and provide a GUI environment.
http://www.redhat.com/mirrors/LDP/HOWTO/XFree86-HOWTO — A HOWTO document detailing the manual installation and custom configuration of XFree86.
http://www.gnome.org — The home page of the GNOME project.
http://www.kde.org — The home page of the KDE desktop environment.
The Concise Guide to XFree86 for Linux by Aron Hsiao (Que) — Provides an expert’s view of the operation of XFree86 on Linux systems.
The New XFree86 by Bill Ball (Prima Publishing) — Discusses XFree86 and its relationship with popular desktop environments, such as GNOME and KDE.
Beginning GTK+ and GNOME by Peter Wright (Wrox Press, Inc.) — Introduces programmers to the GNOME architecture, showing them how to get started with GTK+.
GTK+/GNOME Application Development by Havoc Pennington (New Riders Publishing) — An advanced look into the heart of GTK+ programming, focusing on sample code and a thorough look at the available APIs.
KDE 2.0 Development by David Sweet and Matthias Ettrich (Sams Publishing) — Instructs beginning and advanced developers how to take advantage of the many environment guidelines required to build Qt applications for KDE.
Some tasks — particularly those that are processor- or disk-
In Linux, tasks can be configured to run automatically within a specified period of time, on a specified date, or when the system load average is below a specified number. Red Hat Linux comes preconfigured to run important system tasks to keep the system updated. For example, the
cron is a daemon that can be used to schedule the execution of recurring tasks according to a combination of the time, day of the month, month, day of the week, and week. cron assumes that the system is on continuously. If the system is not on when a task is scheduled, it is not executed. To configure tasks based on time periods instead of exact times, refer to the “at and batch” section of this chapter.
To use the cron service, you must have the vixie-cron RPM package installed, and the
The main configuration file for cron, /etc/crontab , contains the following lines:
PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run- parts/etc/cron.monthly
The first four lines are
The output of the cron tasks is
Each line in the /etc/crontab file represents a task and has the format:
hourday month dayofweek command
minute — any integer from 0 to 59
hour — any integer from 0 to 23
day — any integer from 1 to 31 (must be a valid day if a month is specified)
— any integer from 1 to 12 (or the short
dayofweek — any integer from 0 to 7, where 0 or 7 represents Sunday (or the short name of the week such as sun , mon , and so on)
command — the command to execute. The command can either be a command such as ls /proc >> /tmp/proc or the command to execute a custom script that you wrote.
For any of the above values, an asterisk ( * ) can be used to specify all valid values. For example, an asterisk for the month value means execute the command every month within the constraints of the other values. A hyphen ( - ) between integers specifies a range of integers. For example, 1-4 means the integers 1, 2, 3, and 4. A list of values separated by commas ( , ) specifies a list. For example, 3, 4, 6, 8 indicates those four specific integers.
The forward slash (
) can be used to specify step values. The value of an integer can be
Any lines that begin with a hash mark (
) are comments and are not
If a cron task needs to be executed on a schedule other than hourly, daily, weekly, or monthly, it can be added to the /etc/cron.d directory. All files in this directory use the same syntax as /etc/crontab . Here is an example:
# record the memory usage of the system every Monday # at 3:30AM in the file /tmp/meminfo 30 3 * * mon cat /proc/meminfo >> /tmp/meminfo # run custom script the first day of every month at 4:10AM 10 4 1 * * /root/scripts/backup.sh
Users other than root can configure cron tasks by using the crontab utility. All
The cron daemon checks the /etc/crontab file, the /etc/cron.d/ directory, and the /var/spool/cron directory every minute for any changes. If any changes are found, they are loaded into memory. Thus, the daemon does not need to be restarted if a crontab file is changed.
The /etc/cron.allow and /etc/cron.deny files are used to restrict access to cron. The format of both access control files is one username on each line. Whitespace is not permitted in either file.
The cron daemon (
) does not have to be restarted if the access control files are modified. The access control files are read each time a user
If the file cron.allow exists, only users listed in it are allowed to use cron, and the cron.deny file is ignored. If cron.allow does not exist, all users listed in cron.deny are not allowed to use cron.
To start the cron service, use the command /sbin/service crond start . To stop the service, use the command /sbin/service crond stop . It is recommended that you start the service at boot time.