GIMP is the GNU Image Manipulation Program. It is used to edit and manipulate images. It can load and save a variety of image formats and can be used to convert between formats.
GIMP can also be used as a paint program. It features a set of drawing and painting tools such as airbrush, clone, pencil, and paint brush. Painting and drawing tools can be applied to an image with a variety of paint modes. It also offers an extensive array of selection tools like rectangle, ellipse, fuzzy select, bezier select, intelligent scissors, and select by color.
GIMP offers a variety of plug-ins that perform a variety of image manipulations. Examples include bumpmap, edge detect, gaussian blur, and many others. In addition, GIMP has several scripting extension which allow for advanced non-interactive processing and creation of images.
GIMP ships with a second binary called gimp-console. This binary is a console-only version and behaves as if gimp was called with the --no-interface command-line option.
On platforms with the D-Bus message bus system, GIMP will by default check if an instance is already running in this user session. If it detects that, it will pass all filenames given on the command-line to the already running GIMP instance and quit.
On Linux GIMP can be compiled with support for binary relocatibility. This will cause data, plug-ins and configuration files to be searched relative to the location of the gimp executable file unless overridden by the environment variables mentioned above.
Most GIMP configuration is read in from the user's init file, $HOME/.gimp-2.6/gimprc. The system wide equivalent is in /etc/gimprc. The system wide file is parsed first and the user gimprc can override the system settings. /etc/gimprc_user is the default gimprc placed in users' home directories the first time GIMP is run.
$HOME/.gimp-2.6/devicerc - holds settings for input devices together with the tool, colors, brush, pattern and gradient associated to that device.
$HOME/.gimp-2.6/gtkrc - users set of GIMP-specific GTK+ config settings. Options such as widget color and fonts sizes can be set here.
/etc/gimp/2.0/gtkrc - sytem wide default set of GIMP-specific GTK+ config settings.
$HOME/.gimp-2.6/menurc - user's set of keybindings.
$HOME/.gimp-2.6/parasiterc - Stores all persistent GIMP parasites. This file will be rewritten every time you quit GIMP.
$HOME/.gimp-2.6/sessionrc - This file takes session-specific info (that is info, you want to keep between two GIMP sessions). You are not supposed to edit it manually, but of course you can do. This file will be entirely rewritten every time you quit GIMP. If this file isn't found, defaults are used.
$HOME/.gimp-2.6/templaterc - Image templates are kept in this file. New images can conveniently created from these templates. If this file isn't found, defaults are used.
/etc/gimp/2.0/unitrc - default user unit database. It contains the unit definitions for centimeters, meters, feet, yards, typographic points and typographic picas and is placed in users home directories the first time GIMP is ran. If this file isn't found, defaults are used.
$HOME/.gimp-2.6/unitrc - This file contains your user unit database. You can modify this list with the unit editor. You are not supposed to edit it manually, but of course you can do. This file will be entirely rewritten every time you quit GIMP.
$HOME/.gimp-2.6/plug-ins - location of user installed plug-ins.
$HOME/.gimp-2.6/pluginrc - plug-in initialization values are stored here. This file is parsed on startup and regenerated if need be.
$HOME/.gimp-2.6/modules - location of user installed modules.
$HOME/.gimp-2.6/tmp - default location that GIMP uses as temporary space.
/usr/share/gimp/2.0/brushes - system wide brush files.
$HOME/.gimp-2.6/brushes - user created and installed brush files. These files are in the .gbr, .gih or .vbr file formats.
$HOME/.gimp-2.6/curves - Curve profiles and presets as saved from the Curves tool.
$HOME/.gimp-2.6/gimpressionist - Presets and user created brushes and papers are stored here.
$HOME/.gimp-2.6/levels - Level profiles and presets as saved from the Levels tool.
/usr/share/gimp/2.0/palettes - the system wide palette files.
$HOME/.gimp-2.6/palettes - user created and modified palette files. This files are in the .gpl format.
/usr/share/gimp/2.0/patterns - basic set of patterns for use in GIMP.
$HOME/.gimp-2.6/patterns - user created and installed gimp pattern files. This files are in the .pat format.
/usr/share/gimp/2.0/gradients - standard system wide set of gradient files.
$HOME/.gimp-2.6/gradients - user created and installed gradient files.
/usr/share/gimp/2.0/scripts - system wide directory of scripts used in Script-Fu and other scripting extensions.
$HOME/.gimp-2.6/scripts - user created and installed scripts.
/usr/share/gimp/2.0/gflares - system wide directory used by the gflare plug-in.
$HOME/.gimp-2.6/gflares - user created and installed gflare files.
/usr/share/gimp/2.0/gfig - system wide directory used by the gfig plug-in.
$HOME/.gimp-2.6/gfig - user created and installed gfig files.
/usr/share/gimp/2.0/images/gimp-splash.png - the default image used for the GIMP splash screen.
/usr/share/gimp/2.0/images/gimp-logo.png - image used in the GIMP about dialog.
/usr/share/gimp/2.0/tips/gimp-tips.xml - tips as displayed in the "Tip of the Day" dialog box.
When reporting GIMP bugs, it is important to include a reliable way to reproduce the bug, version number of GIMP (and probably GTK+), OS name and version, and any relevant hardware specs. If a bug is causing a crash, it is very useful if a stack trace can be provided. And of course, patches to rectify the bug are even better.
There is also a GIMP User Manual available at http://docs.gimp.org/ that goes into much more detail about the interactive use of GIMP.
The latest version of GIMP and the GTK+ libs is always available at ftp://ftp.gimp.org/.
With patches, fixes, plug-ins, extensions, scripts, translations, documentation and more from lots and lots of people all over the world.