Desktop System Setup with Debian GNU/Linux 3.1 'Sarge'
Contents
- Introduction
- Notable changes to this document
- Glossary
- Debian GNU/Linux
- Getting Debian
- Hardware support
- Installation
- Basic commands
- Package Repositories, Updates & Upgrades
- Package management - finding, adding and removing programs
- Package configuration - Debconf
- Desktop Environment: GNOME
- Desktop Environment: XFCE
- X Windows: XFree86
- Minor Software
- Environment Configuration
- Spellcheckers and dictionaries
- Fonts / Typefaces
- Office suite - Word processor, spreadsheet, presentation, layout, PDF viewer
- Databases
- Web editing
- Internet applications
- Image viewing
- Image editing
- Security
- multi media players, including DVD
- Audio architectures
- Audio editing
- Compression / Archival
- Java Runtime Environment (JRE)
- Sound card
- Printing
- Scanning
- Digital Camera (with USB interface)
- Digital Video Camera (with IEEE1394 / FireWire / i.Link interface)
- Video editing
- CD writing - writing data files to CD
- DVD writing - writing data files to DVD
- Accessing CD and DVD media
- CD audio - Playing, digital audio extraction (ripping), copying and encoding
- Copying DVD Movies - DVD disc to hard disk to DVD disc
- ZIP drives and disks
- Working with Windows file systems
- Running Windows Programs
- Sharing files and printers with networked machines using Windows or Samba
- Accessing an LDAP server
- Accessing remote files from an NFS server
- Laptop Computers
- Connecting and synchronising PDA's in general
- Connecting and synchronising a PDA running Windows CE
- Window Manager
- ADSL modems
- Analog modems
- Dial-up Networking with an analog modem
- PCMCIA / PC Card / CardBus
- Bluetooth
- Wireless Networking (Wi-Fi / WiFi) - device setup
- Wireless Networking (Wi-Fi / WiFi) - auditing
- Linux Kernel updates
- Linux Kernel compilation
- Portable audio players
- OpenVPN client
- Reporting Issues
- Further Information
- Troubleshooting
- Trouble
- Appendix 1
Introduction
This document intends to provide enough information to get an effective desktop system ready to use using a 'Linux' distribution, providing a concise, point-by-point guide to configuring where it's necessary, with links to further reading if you want to know more.
This desktop system will use the Debian GNU/Linux distribution, version 3.1 'Sarge' with a Linux version 2.6 kernel, using a GNOME version 2.8 desktop environment.
We also provide a menu driven command-line program, called Twix, to help you install most of what is covered in this document and configure some of it. Twix can be downloaded for free from thegoldenear.org/toolbox/unices/twix/.
This document has related documents:
'Server Setup with Debian 3.1 'Sarge''.
A good introduction to Debian is the Debian article at Wikipedia.
This document needs your feedback. If you have any comments or suggestions please email them to inkwire [at] thegoldenear [dot] org and they can be considered.
Notable changes to this document
0.4.31 - 26 April 2008 - flashplugin-nonfree removed from Debian Sarge as of version 3.1r8
0.4.27 - 25 November 2007
- Removed the small amount of XFCE-specific information including packages xpdf and xfmedia. I intended this guide to be as descriptive for XFCE as it is for GNOME but having not managed to spend much time with an XFCE desktop environment I haven't garnered that knowledge. I now think the best place for XFCE desktop information would be a separate guide. The packages for the XFCE desktop environment itself remain.
- Added unshield
0.4.26 - November 2007 - added msttcorefonts to wine
0.4.25 - 24 August 2007
- Added sarge-proposed-updates repository
- Added section on updates and upgrades
- Added aptitude-doc-<locale>
0.4.21 - 12 July 2007 - Changed volatile.debian.net to volatile.debian.org (volatile.debian.net will still work for the life of Debian 4.0 Etch).
0.4.17 - 24 June 2007 - Better described X video drivers; added video graphics utilities radeontool, rovclock, i810switch, matroxset, nvidia-settings, nvtv
0.4.10 - 29 April 2007 - Added regionset
0.4.8 - 24 April 2007 - Updated the debian-multimedia source address that has changed for Sarge
0.4.7 - 3 April 2007 - Added missing hp-ppd
0.4.6 - 8 March 2007 - Removed trailing '/' from 'ftp.uk.debian.org/debian' apt sources.list example
0.4.4 - 2 March 2007
- Added compression / archival section
- Added details of firmware for Intel centrino ipw2100 and ipw2200
- Added tcpdump to essential minor software
0.4.0 - 15 February 2007
- updated WiFi drivers section, should now describe all wireless drivers available in Debian; removed linux-wlan-ng and madwifi WiFi drivers as they're not available in 3.1/Sarge.
- added nmap and wipe to minor software section.
- changed Debian volatile updates from 'ftp.uk.debian.org/debian-volatile stable/volatile' to 'volatile.debian.net/debian-volatile sarge/volatile' because the former wouldn't work;
- changed Debian volatile-sloppy updates from 'ftp.uk.debian.org/debian-volatile stable/volatile-sloppy' to 'volatile.debian.net/debian-volatile sarge/volatile-sloppy' also because the former wouldn't work.
0.3.9 - 13 December 2006 - removed hplip-ppds as it doesn't exist in Sarge
0.3.3 - 24 November 2006
- added smbclient when installing cupsys so can find Windows shared printers
- added print drivers cjet and c2050
0.3.2 - 22 November 2006 - added printer device naming when using the HPLIP driver
0.3.0 - 20 November 2006 - refreshed printing section with the addition of Foomatic, ijsgutenprint, pnm2ppa, foo2zjs, printconf and various PPD files
Glossary
<something> - when something is in angle brackets you should replace this with something particular to your system; you do not use the angle brackets.
command - text in monospaced typeface indicates a command you issue at the command-line or
text you type yourself into a text editor.
$ - when a command-line command is preceded by a dollar it means you run this whilst
logged in as a regular user
# - when a command-line command is preceded by a dollar it means you run this whilst
logged in as super user / root
Debian GNU/Linux
Debian is a GNU operating system with a Linux kernel and collection of currently 8,000 software programs. The GNU operating system is a part of the family of Unix operating systems that date back to 1969, it is a version of Unix written from scratch by a large community of disparately located hackers and made available for free. (Debian is based on System V Unix rather than BSD Unix). This community is a social movement, motivated in part by the desire to provide the world with an operating system free of the restrictions the contemporary software industry imposes upon us.
Debian is one of a number of 'distributions' of GNU/Linux. A distribution is the operating system plus a number of software applications; there are many aspects differentiating distributions. We recommend Debian in particular for these reasons:
- it's available for more computer architectures than any other GNU/Linux distribution (Debian
4.0 supports 11, Debian 3.1 is available for 12, Debian 3.0 supports 11,
Gentoo: 8, Red Hat Enterprise Linux AS: 6 or 7, Slackware: 2, Fedora Core: 2, SUSE LINUX Professional 9.2: 1;
LFS may support more but it's not really a distribution we'd consider an option), which means:
- it doesn't discriminate against as many people as other GNU/Linux distributions
- you can run exactly the same distribution whether you're using a PC, Apple Mac or Sun workstation
- if you're offering it to people as a recommended operating system then you're able to offer the same distribution to as many people as possible, rather than different distributions for different people
- it's not a commercial distribution, so its longevity is more assured than with commercial distributions
- its package management is better than other GNU/Linux distributions, meaning it's easier to find, install, configure, remove and fix software
- it's suitable for using for both desktop and server systems
- it's developed more co-operatively than some other GNU/Linux distributions (e.g. Red Hat / Fedora)
- there are more people involved in its development than with many other GNU/Linux distributions (e.g. Red Hat, Mandrake, Slackware)
- the principles of freedom held by its constitution (the 'Debian Social Contract') are more strongly defined and upheld than those of many other GNU/Linux distributions
Debian is available in a number of different flavours, one of which you subscribe your system to:
- stable - the distribution itself is stable; most suitable where stability of the distribution matters more than having the most up-to-date software. 'Stable' is updated to a major new version every couple of years (i.e. version 3.0 'Woody', version 3.1 'Sarge') and between these major updates only fixes for security vulnerabilities and occasional broken software are made available for stable
- testing - when newly released software has been in 'unstable' for a period of time and when no release-critical bugs exist in it it's made available in 'testing'. This distribution is recommended for desktop systems
- unstable - AKA 'sid; newly released software. called 'unstable' because the software in this distribution is constantly changing
- experimental
Further Information
Debian Weekly News: www.debian.org/News/weekly/
Debian Planet: www.debianplanet.org/
Planet Debian (accumulation of Debian developers' blogs): planet.debian.org/, ianmurdock.com/
Debian bug tracking system: www.debian.org/Bugs/
Getting Debian
Downloading from the Internet
Download from www.debian.org/distrib/. There are various options of what to download, the most useful to choose from are
- 'full CD or DVD set' - the full distribution, on up to 14 CDs, or 2 DVDs. You won't need them all, you could download just CD disc 1 and get packages not on that via the Internet if you have a fast connection.
- 'Netinst CD image' - a 180MB or less subset of the full set. This is enough to get a (very) basic system installed with the small set of packages included.
- 'Businesscard CD image' - a 100MB subset of the full set. This is enough to get the base system installed, you can then download just those packages you want over the Internet
- i386 - for 32-bit PC-compatible computers (if you don't know then this is probably what you have)
- powerpc - for Power Macs
- the 64-bit PC (AMD64 and EM64T) version is not officially supported by Debian but is available as a fully supported unofficial port by the Debian AMD64 team. It can be downloaded from www.debian.org/devel/debian-installer/ports-status. The The Debian GNU/Linux AMD64 HOW-TO may be useful.
By Post
Debian 3.1 is available to order on CD/DVD from various vendors, a list of them is available at www.debian.org/CD/vendors/.
A Demonstration
If you want to check-out Debian before installing it, it's possible to download a so-called 'live CD' that you boot your computer with,
it runs the operating system straight from the CD without touching your existing operating system, allowing you to see exactly what it
would look like were it installed on your computer, but is gone when you turn the computer off and take the CD out.
An official Debian live disc isn't yet available, though it is being discussed, but an example of what Debian can look like is available using the
live CD from the Ubuntu distribution. Ubuntu is similar to Debian,
as it is dervied from it, but it isn't Debian. The Ubuntu live CD won't look exactly like the system this document describes, but it's
similar enough to be worth using as a sampler. Note that this isn't a recommendation to install Ubuntu, this document is all about
installing Debian.
Ubuntu can be ordered or downloaded from
www.ubuntulinux.org/download/.
Hardware support
Debian GNU/Linux device driver check page: kmuto.jp/debian/hcl/
- paste in the results of lspci -n and it will tell you what GNU/Linux drivers exist for the specified hardware.
Linux Hardware Compatibility HOWTO at en.tldp.org/HOWTO/Hardware-HOWTO.html
The recommended hardware you'll want to run this system on is roughly as follows:
| Scale | CPU | CPU speed | RAM / memory | Desktop environment |
|---|---|---|---|---|
| Low end | Intel Pentium II equivalent | 300MHz | 128MB | XFCE |
| Mid | AMD Duron equivalent | 700MHz | 128MB - 500MB | GNOME |
| High end | anything more | anything more | anything more | GNOME |
Installation
Note that any decision you make during installation that you would rather have made differerently,
can be changed once installation is finished, usually using the command
dpkg-reconfigure <package-name>.
Choose to install version 2.6 of the Linux kernel rather than the default of 2.4. When the installer first starts,
type 'linux26' at the 'boot:' prompt then press [Enter], rather than just pressing [Enter] on its own.
Your particular system may require some boot options to work around specific known problems, you can see a list of these by pressing some of the Function keys on the keyboard. Otherwise just press [Enter] to start the installer.
When asked during the installation if you want 'discover' to manage /media/cdrom0, choose 'no' otherwise gnome-volume-manager
won't be able to auto-mount discs for you when inserted and logged in as a normal user. (this may now be fixed).
If you're able to update your Debian system using the Internet, rather than from CD/DVD media, do so, but it's not essential. The best way to ensure this happens is to remove the disc after the initial stage of installation when the disc is ejected. Also, be sure to add a 'source' to download from during installation. If you're using CD/DVD media to install packages from then try to have at least discs 1 and 2 and choose to add them all to the sources list when prompted.
Partitioning scheme - You have the following options:
a. All files in one partition - will create a root partition (/) and a swap.
b. Desktop machine - will create a root partition, swap, and /home.
c. Multi-user workstation - will create partitions for /, /usr, /var, /tmp, /home and swap.
Choose the 'desktop system' scheme.
When choosing the keyboard layout, the default is 'us', there isn't a drop-down list of available options for different languages, for example you would choose 'gb' for UK English.
When you're presented with the menu saying 'Debian configuration' - 'Debian software selection' -
'you can choose to install one or more of the following predefined collections of software.'
don't be fooled into thinking 'desktop environment' sets up the ideal desktop environment for you - it doesn't - hence the need for this document.
Rather than choose the pre-defined functions, we're going to do this manually, which will be quicker and use less disk space, as Tasksel's 'Desktop environment'
installs more than you're likely to need.
Tasksel's 'desktop environment' installs GNOME (using the 'gnome-desktop-environment' package),
KDE and various applications. If you use GNOME rather than KDE as your desktop environment, which we believe provides a higher quality interface, it can be annoying to have the menus
populated with so many extra programs that you have to spend time installing and updating.
We propose not choosing anything at this menu for your desktop system and instead installing GNOME and various applications manually, which will be described
in this document.
A minimal mail system is installed by default. Through answering the various questions asked of you, configure this mail system with your SMTP server address and other information so that your system has the ability to send email, which is useful for various software to be able to use.
If connected to the Internet do an upgrade after installation, using either Synaptic from within GNOME to
update then install all available updates; or from the command-line aptitude update then
aptitude dist-upgrade.
Further Information
Debian GNU/Linux Installation Guide, Debian 3.1 'Sarge' version:
www.debian.org/releases/stable/installmanual.
This is also installable as the
debian-installer-manual package.
Debian GNU/Linux Installation Guide - Development version:
d-i.alioth.debian.org/manual/.
Basic commands
To use this document you'll need to be able to use these basic commands:
For typing at the command-line from within GNOME you can use the 'Terminal command line', depicted by a monitor with a blank screen but for the 'command-line prompt' on the 'panel'.
To install programs before you have the desktop environment and Synaptic Package Manager installed (which give you a more user friendly environment), login as root
and use aptitude update and [Enter] then when thats done use aptitude install <package name> <package name>
<package name>.
To add a user to a group, from GNOME:
Common functions that relate to specific group membership are available in
Applications → System Tools → Users & Groups → Users → pick user
<locale> Properties → User privileges.
More specifically groups administration is available from
Applications → System Tools → Users & Groups → Groups → pick group
<locale> Properties → Group Members → pick user → Add.
If you're logged in as the user for whom you're changing their group membership, you need to log out
and log back in again for it to take effect.
Become the super user by issuing the command su at the commnd-line.
The super user is the user called 'root', you'll be asked for the password for the root user which you set during installation.
When typing at the command-line you have a useful feature called 'command-line completion' available to you. As you type program names or direcoty and file paths,
you can press the [Tab] key to automatically complete such lines. If there is more than one option for a particular line you've so far typed in, command-line completion
will stop at the point the various options differ, pressing [Tab] again will show you the various options available.
If you're at the command-line, logged in as root, wanting to edit configuration files, a simple text editor you can use is nano.
Typing nano <path>/<filename> will load a file; Ctrl+W will search within a file for text;
Ctrl+X will quit, where upon you can choose to save or not.
When you've installed new software and are logged in and using GNOME, to get the shortcuts to appear in the menus without logging out and back in,
use the command update-menus at the command-line.
To reconfigure a package in the same way as was done when it was first installed: dpkg-reconfigure <package name>
Each package has Debian-specific documentation for it in /usr/share/doc/<package name>
To create a 'symbolic link' or 'symlink' (known as a 'shortcut' in Windows):
ln -s location-of-file-to-link-to location-of-symbolic-link
To restart X Windows, the graphical windowing system, use Ctrl+Alt+Backspace.
This is useful when applying changes to video settings in the X Windows configuration file.
To cancel a running command-line program use Ctrl+C.
To quit from a command-line program that is displaying text for you on the screen, such as a man page, use 'q'.
Package repositories, Updates & Upgrades
Package repositories
Debian's package management system, known as 'apt', keeps a list of sources, or repositories, it can retrieve packages from when you choose to install
them, in the file /etc/apt/sources.list.
Sources can be of the form
- CD/DVD media
- Internet server
You define which Debian flavour you're subscribed to
- stable, also referenced by its alias, Sarge
- testing
- unstable
- experimental
These different licencing groups are kept track of
- main
- contrib
- non-free - packages that don't comply with the Debian Free Software Guidelines. Packages can be non-free for any number and gravity of reasons, sometimes for reasons you might consider too slight to prevent you from installing what might be a worthwhile package. You can usually read the copyright file in /usr/share/doc/<package name> to read the restrictions for yourself. There is a non-free tracking system at nonfree.alioth.debian.org/.
There are different providors of Internet server sources
- Debian sources (these for the oldstable, Sarge, archive)
- for regular packages and very occasional updates to them in the form of new 'point
releases' throughout the stable release's supported life.
The point releases comprise packages with a very conservative number of important non-security
related functionality fixes as well as those previously updated through security updates.
Use something like this but substitute the domain and directory with that
of your nearest Debian mirror:
deb http://ftp.uk.debian.org/debian sarge main contrib
(You can addnon-freeif you wish) - security updates - for non-intrusive updates to fix security issues in packages
- www.debian.org/security/ - use:
deb http://security.debian.org/ sarge/updates main contrib
Security updates are only provided for packages in main, not contrib and non-free. - sarge-proposed-updates - prior to being released into the stable archive the packages for the
next point release with functionality fixes (not security updates) queue up in a repository you can
subscribe to.
Use something like this but substitute the domain and directory with that of your nearest Debian
mirror:
deb http://ftp.uk.debian.org/debian/ sarge-proposed-updates main contrib
(You can addnon-freeif you wish)
Each package's change log is in ftp.debian.org/debian/dists/sarge-proposed-updates/. - volatile - for updates to quickly outdated software such as spam filtering and virus scanning - http://volatile.debian.org/ - use something like:
deb http://volatile.debian.org/debian-volatile sarge/volatile main contrib
If you're running a stable system you may want to subscribe to or read the archives of the debian-volatile-announce mailing list or the debian-volatile mailing list. You can see the files that are included at volatile.debian.org/debian-volatile/dists/sarge/volatile/. See the list of mirrors and other protocols with which to access them. - volatile-sloppy - for function enhancements to software in the stable archive akin to that in volatile
(see lists.debian.org/debian-devel-announce/2005/05/msg00016.html
for a description) - use something like:
deb http://volatile.debian.org/debian-volatile sarge/volatile-sloppy main contrib
You can see the files that are included at volatile.debian.org/debian-volatile/dists/sarge/volatile-sloppy/. See the list of mirrors and other protocols with which to access them.
- for regular packages and very occasional updates to them in the form of new 'point
releases' throughout the stable release's supported life.
The point releases comprise packages with a very conservative number of important non-security
related functionality fixes as well as those previously updated through security updates.
Use something like this but substitute the domain and directory with that
of your nearest Debian mirror:
- other peoples' sources - software not officially in Debian or backports of updated software for stable versions of Debian. For example:
- Christian Marillat's Debian multimedia repository - many useful multimedia packages aren't available in the main Debian (or most other distributions') archive because of copyright and licencing issues. However many of them are available from Christian Marillat's Debian multimedia repository which is available for Debian Sarge with:
- for i386 and Sparc architectures:
deb http://mirror.home-dn.net/debian-multimedia sarge main - for the amd64 architecture, both:
deb http://cyberspace.ucla.edu/marillat/ sarge main
deb http://mirror.home-dn.net/debian-multimedia sarge main
- for i386 and Sparc architectures:
- Debian Backports - backports.org/ - "You are running Debian stable, because you prefer the stable Debian tree. It runs great, there is just one problem: the software is a
little bit outdated compared to other distributions. That is where backports come in. Backports are recompiled packages from testing (mostly) and unstable
(in a few cases only, e.g. security updates), so they will run without new libraries (wherever it is possible) on a stable Debian distribution. I recommend
you to pick out single backports which fits your needs, and not to use all backports available
here.":
deb http://www.backports.org/debian sarge-backports main contrib
(You can addnon-freeif you wish and should instead choose a mirror)
aptitude -t sarge-backports install <package>(I don't know how that works with Synaptic) - Debian Unofficial - debian-unofficial.org/
- packages not available within the official Debian repository due to special licence terms or for political reasons:
deb http://ftp.debian-unofficial.org/debian sarge main contrib non-free restricted
(or choose a mirror) - apt-get.org - apt-get.org - "apt-get.org is intended as a place for people to share useful APT (Advanced Package Tool) sources for the Debian operating system."
- Christian Marillat's Debian multimedia repository - many useful multimedia packages aren't available in the main Debian (or most other distributions') archive because of copyright and licencing issues. However many of them are available from Christian Marillat's Debian multimedia repository which is available for Debian Sarge with:
Debian installs with a default that uses 'main', it doesn't include 'contrib' or 'non-free'.
To add new CDs to your sources list, other than during installation
- using the command-line:
apt-setuporapt-cdrom add. Using the latter, the disc will be automatically mounted, scanned and its details added to your sources list (if you have trouble you may need to useapt-cdrom add -d /media/cdrom) - using GNOME: from within Synaptic Package Manager, choose Edit → Add CD-ROM...
To add new Internet servers to your sources list, other than during installation
- using the command-line:
apt-setup. - using GNOME: from within Synaptic Package Manager, choose Settings → Repositories
Updates
3.1 Sarge
| Release | Date | Changes |
|---|---|---|
| 3.1r0 | 6 June 2005 | |
| 3.1r0a | 10 June 2005 | |
| 3.1r1 | 20 December 2006 | |
| 3.1r2 | 19 April 2006 | |
| 3.1r3 | 1 September 2006 | |
| 3.1r4 | 6 November 2006 | |
| 3.1r5 | 18 February 2007 | |
| 3.1r6 | 7 April 2007 | |
| 3.1r7 | 28 December 2007 | |
| 3.1r8 | 13 April 2008 |
There are two daily 'pulses' at 00:00 and 12:00 GMT upon which updated packages, if any, are made available.
Security updates are often made available, potentially even daily.
Very occasional other updates are made in the form of new 'point releases' of Debian stable. They comprise packages with a very conservative amount of miscellaneous bugfixes, removed packages, missing builds and security updates (those previously available thru security updates). These packages are introduced into the main stable archive when released. Similarly the downloadable ISO images available for installing Debian are updated, they have a 'r' designation.
The packages waiting to be made available in the next point release are held in a repository known as stable-proposed-updates but seemingly more readily available as sarge-proposed-updates. You can subscribe to this repository to get these packages as they enter the queue rather than waiting for the release date.
Upgrades
To upgrade to the next version of Debian, replace the code name / alias in sources.list from 'etch' to 'lenny'.
Skipping releases is not supported. To upgrade from Woody to Etch you must first upgrade to Sarge,
then to Etch.
Edit /etc/apt/sources.list and replace 'testing' or 'etch' or
'stable' or 'unstable' with 'sarge' then
'aptitude update && aptitude dist-upgrade'.
Package management - finding, adding and removing programs
Debian's software programs, or 'packages', are versions of popular software specifically re-packaged for Debian, and in particular for its package management system (called 'apt') which is used to easily add and remove them. You don't need to independently download, compile and configure software manually - Debian maintainers have done the work for you, making sure the software fits into your system cleanly - an example of doing things the 'Debian Way', a phrase that defines ways of doing things specific to Debian that are usually very efficient and elegant.
Package(s)
- synaptic - www.nongnu.org/synaptic/ - installed by default
- aptitude - installed by default
- aptitude-doc-<locale> (i.e. aptitude-doc-en) - English version of the aptitude user's manual in HTML format.
Configuration
Synaptic
- General → Marking Changes → Clicking on the status icon makes the most likely action
- General → System upgrade: Smart Upgrade
Usage
From the command-line
aptitude, using switches
aptitude update- refresh package listaptitude dist-upgrade- update everything to the current latest versionsaptitude install package-name- install a packageaptitude remove package-name- uninstall a packageaptitude purge package-name- uninstall a package and remove any associated configuration files
aptitude, used interactively
aptitude
From GNOME
Synaptic Package Manager
(Applications → System Tools → Synaptic Package Manager)
- Reload (from the toolbar) - refresh package list
- Status → Installed (upgradable) → Mark All Upgrades → Apply → Apply - update everything to the current latest versions
- Search (from the toolbar) → enter package-name → choose package → Apply → Apply - install a package
- Search (from the toolbar) → enter package-name → right-click on package → Mark for Removal → Apply - uninstall a package
Further information
Changes in Debian packages
- Package changelogs: changelogs.debian.net/. To view the changelog for the latest version of a particular source package, go to http://changelogs.debian.net/<package name>.
Package configuration - Debconf
Debconf is used as much as possible to configure packages for you (but not exclusively), asking
questions and editing configuration files respectively.
You are asked how to configure debconf upon installation of debconf itself, during Debian's
installtion. You can permanently reconfigure debconf at any time using
# dpkg-reconfigure debconf.
Either way you are asked the following:
"Packages that use debconf for configuration share a common look and feel. You can select the type of user interface they use.
- The dialog frontend is a full-screen, character based interface, while the readline frontend uses a more traditional plain text interface, and
both the gnome and kde frontends are modern X interfaces, fitting the respective desktops (but may be used in any X environment). The editor
frontend lets you configure things using your favorite text editor. The noninteractive frontend never asks you any questions.
What interface should be used for configuring packages?" - "Debconf prioritizes the questions it asks you. Pick the lowest priority of question you want to see:
- 'critical' only prompts you if the system might break. Pick it if you are a newbie, or in a hurry.
- 'high' is for rather important questions
- 'medium' is for normal questions
- 'low' is for control freaks who want to see everything"
To change these per-package installation use # dpkg-reconfigure -p<priority level> <package-name>.
Desktop Environment: GNOME
Packages(s)
Choosing to install a 'desktop environment' in the Debian installer (or 'Tasksel', as the particular program that is running at that point is known), installs both KDE and GNOME, which is a lot more than you actually need if you only want one desktop environment, 1 such as GNOME for a vaguely modern computer. For an older computer you're advised to use XFCE instead of GNOME. This document will instead describe the individual packages to install.
Install these for a basic desktop environment without major applications:
- gdm - GNOME Display Manager - handles logging in
- gnome - this installs a lot of extra applications (i.e. gnome-office, which includes abiword-gnome, dia-gnome, gimp, gnumeric, inkscape or sodipodi, planner and gnucash). If you need to save disk space you could instead install gnome-desktop-environment. Depending on the environment the system is to be used in you may want to remove gnome-games.
- menu - Provides update-menus functions for some applications
- x-window-system-core
Configuration
Per-machine configuration
- Applications <locale>
- System Tools → Login Screen Setup <locale>
- General → Greeter → Local - Graphical greeter
- Graphical greeter - Happy GNOME with Browser, or whichever is your preference
- Security → Secure actions menu - off - to get a menu option in the GDM login screen for any user to reboot or shutdown the system, rather than just the root user
(Or, in/etc/gdm/gdm.confsetsystemmenu=true; to allow you to shutdown and restart without entering root's password, setsecuresystemmenu=false.
- System Tools → Login Screen Setup <locale>
If you already have KDE installed and wish to remove it, remove packages kdelibs3 and kdelibs4
Per-user configuration
- Desktop Preferences <locale>
- Keyboard → Layouts <locale>
- Selected layouts - replace U.S. English with whichever is appropriate, if different (i.e. United Kingdom, which is called 'gb' during installation)
- Keyboard model: European keyboards are probably 'Generic 105-key (intl) PC' and US keyboards 'Generic 104-key PC'
- Theme - Glider - this fixes a bug with the default theme where by Mozilla Firefox menu entries appear as black text on a black background
- Screensaver → Display Modes → Mode - Blank Screen Only
- Desktop Background - ...
- Keyboard → Layouts <locale>
Further Information
FootNotes: www.gnomedesktop.org/
The GNOME Journal: www.gnomejournal.org
Jordi Mallach's blog: oskuro.net/blog/freesoftware
Ben Maurer's blog: codeblogs.ximian.com/blogs/benm/
Various channels on irc://irc.gnome.org/
Planet GNOME, an aggregate blog of GNOME developers: planet.gnome.org/
GNOME changelog
- platform - http://ftp.gnome.org/pub/gnome/platform/MAJOR_VERSION_NUMBER/EXACT_VERSION_NUMBER/NEWS i.e. ftp.gnome.org/pub/gnome/platform/2.12/2.12.3/NEWS
- desktop - http://ftp.gnome.org/pub/gnome/desktop/MAJOR_VERSION_NUMBER/EXACT_VERSION_NUMBER/NEWS i.e. ftp.gnome.org/pub/gnome/desktop/2.12/2.12.3/NEWS
- bindings - http://ftp.gnome.org/pub/gnome/bindings/MAJOR_VERSION_NUMBER/EXACT_VERSION_NUMBER/NEWS i.e. ftp.gnome.org/pub/gnome/bindings/2.12/2.12.3/NEWS
Bug reporting
GNOME's Bug Database: bugzilla.gnome.org/
Desktop Environment: XFCE
This is an alternative to GNOME which will run well on very old computers that are too small and slow for GNOME, such as a 233MHz CPU with 128MB RAM.
Packages(s)
- xfce4 - www.xfce.org
- xfce4-datetime-plugin
- xfce4-iconbox
- xfce4-minicmd-plugin
- xfce4-mixer
- xfce4-showdesktop-plugin
- xfce4-terminal
- xfprint4
- xfce4-appfinder
Configuration
XFCE's default toolbar comes with shortcuts for some specific applications, such as the Mozilla suite, which you may not have installed as you may use alternative programs, such as Mozilla Firefox, and so they only serv as an example and are thus worth spending some time changing and adding to with your most used programs.
X Windows: XFree86
'X Windows' creates the graphical windows on your screen.
Packages(s)
- x-window-system-core - XFree86 - www.xfree86.org/ - this is the xserver-xfree86 package plus other useful packages. All the available free video drivers are included, such as those for Intel ('i810'), Matrox ('mga') and ATI ('radeon').
- Utilities for ATI video
- radeontool - control ATI Radeon based laptops' backlight and external output functions. "WARNING: Radeontool code has not been completely audited and may contain bugs that could damage your hardware. Use at your own risk."
- rovclock - controls ATI Radeon frequency rates. Underclocking the Radeon chip saves power and can prevent the fan from running.
- Utilities for Intel video
- i810switch - www16.plala.or.jp/mano-a-mano/i810switch.html - Enables/disables video output to CRT/LCD on i810, i830, i845, i855 video hardware The i810switch command-line program enables/disables the output to the CRT display and LCD, depending on the i810 graphics controller hardware. Such hardware is found on some laptops. The i810rotate command-line script toggles the output between three states: LCD only, LCD + CRT, and CRT only.
- Utilities for Matrox video
- matroxset - switches output modes, including TV out. Can be used to map heads to outputs, change the output mode to monitor, TV, or digital flat panel, display information about horizontal and vertical blanking, and view or modify a number of card specific controls.
- Utilities for Nvidia video
- nvidia-settings - nvidia-settings configures the NVIDIA Linux graphics driver. It communicates with the NVIDIA X driver, querying and updating state as appropriate. Values such as brightness and gamma, XVideo attributes, temperature and OpenGL settings can be queried and configured. [contrib]
- nvtv - controls the TV encoder chips on NVidia cards, giving tv-out with a wide range of resolutions and sizes, including "overscan" modes. It even works with the free nv drivers.
Configuration
Video driver choice
- ATI
- 'r128' - supports video cards based on ATI Rage 128 chipsets.
See
info r128for a list of which chipsets in particular. - 'ati' - supports video cards based on other ATI chipsets.
See
info radeonfor a list of which chipsets in particular.
- 'r128' - supports video cards based on ATI Rage 128 chipsets.
See
- Intel - 'i810' - supports Intel 800 and possibly 900 series chipsets.
See
info i810for a list of which chipsets in particular. - Matrox - 'mga' - supports video cards based on Matrox chipsets.
See
info mgafor a list of which chipsets in particular. - Nvidia - 'nv' - supports video cards based on NVIDIA chipsets.
See
info nvfor a list of which chipsets in particular.
This driver doesn't offer 3D acceleration. - SiS - 'sis' - supports video cards based on SiS chipsets.
See
info sisfor a list of which chipsets in particular. - And others, the full list is at www.xfree86.org/4.0/Status.html
Restart X: Ctrl+Alt+Backspace
dpkg-reconfigure xserver-xfree86
If you're going to reconfigure X this way then install the following packages first:
- read-edid - detects VESA Plug'n'Play monitors, and video cards on the i386 architecture, as used by dpkg-reconfigure xserver-xfree86, for inclusion in the X configuration file.
- mdetect - auto-configures the mouse, as used by dpkg-reconfigure xserver-xfree86, for inclusion in the X configuration file.
dpkg-reconfigure xfree86-common
xf86config - text based question and answer configuration
xf86cfg - graphical configuration
Video Resolution
When X is being configured after installation, you'll be asked how detailed the questions should be.
You can choose 'expert'(?) mode and be asked all questions now, or choose a lesser mode and configure
the X configuration file by hand later, or re-run the X configuration program again, or, some of this is
configurable using GNOME tools, some not.
Either way, you should use the original documentation, or the web, to find the capabilities of your monitor (horizontal
frequency (in kHz), vertical frequency (in Hz), resolutions and possibly 'mode line'), mouse and video card
(you usually just need to choose the name of the driver that relates to all the manufacturer's monitors), otherwise
these aspects won't be operating to their best abilities.
To decrease the resolution temporarily you can cycle through any configured resolutions with Ctrl+Alt+[+|-] (the keypad + or - keys). The size of the desktop will stay constant (e.g. 1280x1024) but your window into it will be smaller (e.g. 1024x768). You can thus still access all of your desktop by moving the mouse to the edges of the screen, which will scroll the smaller window over the larger desktop.
Configuration file
/etc/X11/XF86Config-4
Sample configuration file: /usr/share/doc/xserver-xfree86/examples/xorg.conf.eg.gz (or, using dwww localhost.localdomain/cgi-bin/dwww?type=file&location=/usr/share/doc/xserver-xfree86/examples/xorg.conf.eg.gz)
Configuration information specific to each video chipset and other devices is provided in
- /usr/share/doc/xserver-xfree86/ in files called README.<device>
- info pages for specific video card drivers, i.e.
info i810info radeoninfo mga
Example important configuration sections
- mouse
Option "Device" "/dev/input/mice"Option "Protocol" "auto"
- Monitor
HorizSync 30-96- be sure to set this for the appropriate setting for your hardware, wrong settings can damage the monitor and/or video cardVertRefresh 50-160- be sure to set this for the appropriate setting for your hardware, wrong settings can damage the monitor and/or video cardOption "DPMS"- only use if your monitor supports DPMS
- Screen
DefaultDepth 24- use a lower depth if your monitor and/or video card doesn't support 24"Display"Depth 24- use a lower depth if your monitor and/or video card doesn't support 24Modes "1600x1200" "1280x1024" "1280x960" "1152x864" "800x600" "640x480"- use lower resolutions if your monitor and/or video card doesn't support all of these
Set the correct login screen typeface size
- Run
xdpyinfo - In the 'dimensions' line, there will be something like:
dimensions: 1280x768 pixels (266x161 millimeters)
resolution: 122x121 dots per inch - Using a ruler, measure the size of the visible screen of the monitor. If it matches the millimeters reported by xdpyinfo, then it is set up correctly and you need do no more.
- If it is not, edit the '
Monitor' section of the X configuration file, which should look something like:
Section "Monitor"
Identifier "Generic Monitor"
EndSection - Add a
DisplaySizesetting with the actual size of your viewable area, such as:
DisplaySize 372 277 - Restart X
Set the correct GNOME screen typeface size
You may however find this gives typefaces that are too small.
- Run
xdpyinfo | grep resolution - Note one of the two numbers (you should probably choose the higher of the two if they differ)
- Go to Applications → Desktop Preferences → Font → <locale> Details → Resolution - set it to the number you chose if different from the number already there
Troubleshooting
Log file: /var/log/XFree86.0.log
Further Information
The XFree86 Project, Inc: www.xfree86.org
Environment Configuration
Remove annoying console beeps
Within the command-line environment
For Bash / GNU Readline: echo 'set bell-style none' >> ~/.inputrc
For all programs, from the system console: setterm -blength 0
Within the X window system
For all programs:xset b off
Within GNOME
Desktop → Preferences → Sound → System Beep →
- Enable system beep - off
- Visual system beep - on
Minor Software
Package(s)
- tree
- less
- wipe - securely erase files
- pwgen - Automatic password generation. pwgen generates random, meaningless but pronounceable passwords. These passwords contain either only lowercase letters, or upper and lower case mixed, or digits thrown in. Uppercase letters and digits are placed in a way that eases remembering their position when memorizing only the word.
- lynx - lynx.browser.org - command-line web browser
- nmap - network port scanner - insecure.org/nmap/
- traceroute - ftp://ftp.ee.lbl.gov/
- tcpdump - www.tcpdump.org
Spellcheckers and dictionaries
Package(s)
- aspell - Aspell spellchecker (for Abiword/Evolution/Gaim)
- aspell-doc - Aspell spellchecker documentation
- aspell-<locale> (i.e. aspell-en) - Aspell spellchecker dictionary
- We presume Myspell spellchecker (for OpenOffice/Mozilla) is built in to those programs
- myspell-<locale> (i.e. myspell-en-gb) - Myspell spellchecker dictionary
Fonts / Typefaces
Package(s)
- ttf-bitstream-vera - The Bitstream Vera family of free TrueType fonts. They fully cover Western European languages (ISO-8859-1, ISO-8859-15) and Turkish (ISO-8859-9). They also include a selection of mathematical and other symbols and some limited support for Eastern European languages (parts of ISO-8859-2). Non-latin scripts are not supported. Includes Bitstream Vera Sans, Bitstream Vera Sans Mono, Bitstream Vera Serif.
- ttf-freefont - Freefont Serif, Sans and Mono Truetype fonts. A set of free high-quality TrueType fonts covering the UCS character set. These fonts are similar to the (in)famous Helvetica, Times and Courier fonts.
- msttcorefonts - installer for Microsoft TrueType core fonts, which it downloads from the Internet. Includes Andale Mono, Arial Black, Arial, Comic Sans MS, Courier New, Georgia, Impact, Times New Roman, Trebuchet, Verdana and Webdings. [contrib]
(xfonts-scalable, installed by default, at least includes Bitstream Charter)
Further reading
List of other Bitstream Vera derivatives: dejavu.sourceforge.net/wiki/index.php/Bitstream_Vera_derivatives
Unicode Font Guide For Free/Libre Open Source Operating Systems: unifont.org/fontguide/
Issue this command at the command-line to see all available TrueType fonts:
apt-cache search ttf-
Office suite - Word processor, spreadsheet, presentation, layout
Package(s)
- Office suite, either
- OpenOffice.org - openoffice.debian.net, openoffice.org/
- openoffice.org - word processor, spreadsheet, presentation
- openoffice.org-help-language (i.e. openoffice.org-help-en) - user help
- openoffice.org-hyphenation-<locale> (i.e. openoffice.org-hyphenation-en-gb)
- openoffice.org-l10n-language - localization of OpenOffice.org in specific languages - by default the openoffice.org package will install the openoffice-l10n-language for your default locale, choose this if you want additional languages. Contains user interface, templates and autotext features. (not all this is available for all possible languages). You can switch user interface language using the locales system.
- openoffice.org-thesaurus-<locale> (i.e. openoffice.org-thesaurus-en-us, there isn't one for en-gb))
- openoffice.org-gtk-gnome - Gtk UI Plugin and Gtk file picker
- openoffice.org-gnomevfs - GNOME VFS support
- openoffice.org-mimelnk - OpenOffice.org MIME bindings
- openoffice.org-evolution - allows OpenOffice.org to access Evolution 2 address books
- ? ooqstart-gnome - quick start applet for GNOME desktop
- If you're using Openoffice Calc for a spreadsheet you might want to remove gnumeric
- GNOME Office; the 'gnome-office' package, part of the 'gnome' package, includes the following and more
- abiword-gnome, abiword-plugins, abiword-plugins-gnome abiword-help - word processor
- gnumeric, gnumeric-doc - spreadsheet
- (also includes evolution - groupware client, including email)
- OpenOffice.org - openoffice.debian.net, openoffice.org/
- Scribus
- scribus - layout / desktop publisher
- scribus-template - additional templates for Scribus
- scribus-doc - english-language documentation for the internal help browser
- gpdf - web.inf.tu-dresden.de/~mk793652/gpdf/ - PDF viewer. A version of xpdf that is integrated with GNOME. A part of the gnome-desktop-environment package (Applications → Graphics → PDF Viewer)
Configuration
OpenOffice.org
To enable the GNOME file picker, with useful shortcuts to various places, rather than OpenOffice's default which lacks such usefulness: Tools → Options... → OpenOffice.org → General → Open/Save dialogs → Use OpenOffice.org dialogs - off
Further Information
About OpenOffice packages in Debian: openoffice.debian.net
Debian-OpenOffice IRC discussion channel: irc://irc.freenode.net#debian-oo
Database
This information is based on using a MySQL database.
Package(s)
- openoffice.org - OpenOffice will at as an interface to an existing back-end database, such as MySQL. See the OpenOffice section
- mysql-client - text based client for accessing a remote MySQL server. This package is mutually exclusive with mysql-server.
- mysql-server - "MySQL is a fast, stable and true multi-user, multi-threaded SQL database server. SQL (Structured Query Language) is the most popular database query language in the world. The main goals of MySQL are speed, robustness and ease of use.". This package is mutually exclusive with mysql-client. See the MySQL section in our Server Setup with Debian Sarge document.
- mysql-doc
- mysql-admin - "GUI tool for intuitive MySQL administration MySQL Administrator is a powerful visual administration console that enables you to easily administer your MySQL environment and gain significantly better visibility into how your databases are operating. MySQL Administrator integrates database management and maintenance into a single, seamless environment, with a clear interface."
- mysql-query-browser - "Official GUI tool to query MySQL database MySQL Query Browser is a visual database query tool with a syntax highlighing SQL editor."
- mdbtools - JET / MS Access database (MDB) tools
If you're using a remote database and want applications to be able to interface with it
- unixodbc - ODBC connector for connecting to a remote ODBC database. ODBC is the Open Database Connectivity abstraction layer which is understood by a variety of database tools that cannot talk to MySQL databases directly.
- libmyodbc - MySQL ODBC driver. Allows you to connect to MySQL database servers using ODBC. There are other ODBC drivers for other database engines, such as PostgreSQL.
- godbcconfig - GTK Based ODBC Configuration GUI
Usage
Connecting to a remote database - create a data source
Register data sources so that applications such as OpenOffice know of them.
Using the command-line
User data sources: ~/.odbc.ini
System data sources: /etc/odbc.ini
Using GNOME
To create a data source just for the particular user you're logged in as, run gODBCConfig as that user then choose a 'User DSN'.
To create a data source for all users of this system, run gODBCConfig whilst root then choose a 'System DSN'.
Choose Add → choose a driver → OK → Enter at least the following:
- DSN - data source name - a name you want to give it
- Server - the IP address or hostname of the server with the database
- Database - the name of the database on the server
mysql-client accessing a remote database
Use the MySQL client to work with MySQL in general: mysql -h <hostname> -u <username> -p
Then enter the password for that particular user when prompted to do so.
Access a particular database: mysql -h <hostname> -u <username> -p <your database name>
Then enter the password for that particular user with that particular database when prompted to do so.
Basic MySQL commands
mysql> SHOW databases; - show all databases you have access to
mysql> CREATE database <database>; - create a new database
mysql> USE <database>; - open a databaase so you can use it
mysql> DROP database <database>; - delete an existing database
mysql> CREATE TABLE <table> (<field> <type>); - create a table, with fields
mysql> SHOW tables; - show existing tables in the current database
mysql> DROP TABLE <table>; - delete a table
mysql> DESCRIBE <table>; - display structure information about an existing table
mysql> ALTER table <table> <alter specification>; - change the structure of an existing table
mysql> INSERT INTO <table> VALUES ('a','b','1999-03-30',NULL); - add data to a table
mysql> SELECT what_to_select [and optionally operate upon that, displaying the results] FROM which_table WHERE conditions_to_satisfy;
- display the contents of fields according to certain criteria
mysql> UPDATE <table> SET <field> = '<value>' WHERE <another field> = '<another value>';
- change the contents of existing fields
mysql> ALTER TABLE <table> DROP <row>; - delete rows
mysql> DELETE from <table> ...; - delete rows
Methods of automatically loading data into a MySQL database
mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet;(useLINES TERMINATED BY '\r\n';if it's coming from a Windows file)mysql < <batch filename>$ mysql -h host -u user -p < <batch filename>mysql> source <batch filename>;mysql> \. <batch filename>
Further Information
MySQL 3.23, 4.0, 4.1 Reference Manual: dev.mysql.com/doc/refman/4.1/en/
MySQL 5.0 Reference Manual: dev.mysql.com/doc/refman/5.0/en/
Web editing
Package(s)
- For a WYSIWYG web editor your options are probably limited to Mozilla Composer or OpenOffice Writer if you want packages that are available in Debian. Otherwise there are Debian packages available from the upstream web site for Nvu (www.nvu.com/) and similarly source files for KompoZer (kompozer.net/).
- bluefish - bluefish.openoffice.nl/ - web editor
- mozilla-firefox-dom-inspector - tool for inspecting the DOM of web pages in Mozilla Firefox. This is of great use to people who are doing web page development or Mozilla chrome development.
- mozilla-venkman - "Javascript debugger for Mozilla and Firefox. It can be used to debug either Javascript embedded in web pages, or even Mozilla's interface and extensions."
- mozilla-checky - Online validation and analysis services for Firefox and Mozilla.
The Checky plug-in is a simple Interface for web content and resource
developers to free and commercial online Validator and Checker services.
Checky adds a submenu to Firefox and Mozilla's context menu that allows you to run whatever page you're on through one of (currently) 24 different online validation and analysis services. Checky-Agent can be activated from the Checky menu or by simply pressing the SHIFT+F12 keys. So, for example, you could run your page against the W3C's markup and CSS validators, the Web Design Group's HTML Validator, and Watchfire's Bobby with a single keystroke and display the results in a new browser window or tab. - w3c-markup-validator - validator and link checker. Gives you the W3C's validators and link checker at localhost/w3c-markup-validator/checklink (or at the address of your chosen server if you install it to a central server
- tidy
- tidy-doc
- weblint-perl - A syntax and minimal style checker for HTML. This is a perl script which picks fluff off html pages
- php4-cli - command-line interpreter for the php4 scripting language. This package provides the /usr/bin/php4 command interpreter, useful for testing PHP scripts from a shell.
- libxml2-utils - XML utilities. This package provides xmllint, a tool for validating and reformatting XML documents, and xmlcatalog, a tool to parse and manipulate XML or SGML catalog files.
Internet applications
Package(s)
- Mozilla Firefox -
www.mozilla.org/en/products/firefox/
- web browser.
Recommended in place of epiphany-browser
(www.gnome.org/projects/epiphany/)
because Epiphany is so lacking in useful features.
If you don't want Epiphany and/or the Mozilla suite you can remove them, which will additionally
remove the metapackages gnome, gnome-core, gnome-desktop-environment and gnome-office but this is ok.
- mozilla-firefox-gnome-support
- mozilla-firefox-locale-<locale> - localisations for your spoken language (i.e. mozilla-firefox-locale-en-gb)
- latex-xft-fonts - Xft-compatible versions of some LaTeX fonts, for MathML documents;
- flashplugin-nonfree [Note: removed from Debian Sarge as of version 3.1r8, see bug 457291] - Macromedia Flash Player plugin installer. [contrib (Adobe Flash Player itself is non-free, see the Adobe Flash Player End User License Agreement for usage terms, or the Adobe Player Licensing page for redistribution terms)] [i386 / 32-bit only, no 64-bit version]
- Email client. Choose from these:
- Evolution - gnome.org/projects/evolution/ - groupware client (including email)
- evolution
- evolution-exchange - Microsoft Exchange 2000 and 2003 plug-in
- evolution-webcal - A GNOME URL handler for web-published ical calendar files, which integrates with Evolution. It allows you to subscribe to a published calendar simply by clicking on a webcal: URL.
- openoffice.org-evolution - allows OpenOffice.org to access Evolution 2 address books. Note: this depends upon OpenOffice so only install if you also want or already have OpenOffice
- Thunderbird - www.mozilla.com/thunderbird/
- Sylpheed Claws - claws.sylpheed.org/
- sylpheed-claws
- sylpheed-claws-doc
- sylpheed-claws-clamav
- sylpheed-claws-spamassassin
- Evolution - gnome.org/projects/evolution/ - groupware client (including email)
- xchat - www.xchat.org/ - IRC (Internet Relay Chat) client
- gaim - pidgin.im - instant messaging
- gftp-gtk - gftp.seul.org/ - FTP, FTPS, HTTP, HTTPS and SSH2 (AKA SCP) client
- gtk-gnutella - gtk-gnutella.sourceforge.net/en/?page=news - peer2peer client
- bittorrent and bittorrent-gui or bittornado and bittornado-gui - Bittorrent downloading utility
Configuration
gFTP
Per-user configuration
- FTP → Options... → General
- Overwrite by Default - on
- Do one transfer at a time - off
- Show hidden files - off
User bookmarks location: ~/.gftp/bookmarks
Further Information
Planet Mozilla: planet.mozilla.org/
Penguin.SWF - tracks development status and issues regarding the Linux version of Adobe's Flash Player: blogs.adobe.com/penguin.swf/
Image viewing
Package(s)
- gthumb - gthumb.sourceforge.net - an enhanced image viewer, browser, organiser, small-time editor, with features to connect with digital still cameras. A suitable replacement for GNOME's default Eye Of Gnome (www.gnome.org/projects/eog/) image viewer. Eye Of Gnome is smaller than gthumb but is less featureful to the extent of probably leaving you wanting more (it doesn't have the facility to print, or to efficiently browse through an image collection, for example); you may want to remove it but because it is part of the gnome-core package that would also remove GNOME itself.
Image editing
Package(s)
- The GIMP - The GNU Image Manipulation Program - a (raster) image editor, similar to Adobe Photoshop.
- gimp - gimp.org - The GIMP program itself
- gimp-helpbrowser - GIMP's integrated help
- gimp-help-language (i.e. gimp-help-en) - GIMP's integrated help language files
- gimp-data-extras - optional collection of brushes and patterns additional to the set already included with The GIMP (not "brushes, palettes, and gradients" as package description claims)
The following brushes are included: 50x50cone, 50x50square, 50x50squareBlur, 50x50squareBlur2, bigcircle, bigcircle2, bigcircle3, bigcircle4, bird, bullethole, cloth, flower, flower_large, gecko, grid, grid2, guitar, nova, point, punch, qbert2, qbert3Blur, reach, sphere29, sphere36, sphere47, sphere55, sphere79, star1, star2, star3, star4, star5, swirl, swirl2, text1, text2, text3, text4, tulip, wave
The following patterns are included: 3dweave, abstract_flowers, blackoil, blackwhitefloor, blob1, blob2, bluebar, bluecanyons, bluemars, bluemetal, bluespikes, brownie, bwcubes, canyons2, cashew, chains, chroma, circuit, clouds, clovers, coins, colorblob, colored_rock, colorwhirl, connestoga, contrawhirl, cow, crash1, crazytile, crystals, curvedledge, deepswirl, diffpat, dirt, disco, drymud, dunemaze, dunes, eggcarton, electric-blue-ribbons, etbf, floor_tile, funnyblobs, funnymess2, funnymess, fuzzy-colors, gold, goldcloth, granite2, green_curtains, green_eek, greyweave, greyweave2, grid, gridwhirltile, headache, ice2, icechex, inlay, krinkle, land1, land2, lathe, leaves3, leaves4, leaves6, lumps, meltedcolors, metallica, metalpaths, mhuerock, money, neurons, novaugh, oooh, oooh3, orange_eek, orangebrown, orangecheese, paint-explosion, pastel2, pebbles, pixeled1, pj, psycho1, purple-ribbons, purple, purple_glow, redishstuff, redmess, redrings, rust, sandytext, send1, silver, slice1, spectbar, startile, swirl, swirl2, torrents, tube, unsharpswirl, water3, waves, wax, weird2, whirledstuff, woodblind, worn_metal_chex
- gtkam-gimp - optional Gimp plug-in of gtkam. gtkam is a graphical application based on GTK+ for digital still cameras supported by gphoto
- gimp-dcraw - cybercom.net/~dcoffin/dcraw/; and/or(?) gimp-ufraw - ufraw.sourceforge.net/; and/or(?) gimp-svg - gimp.org - importer for raw camera images
- (other plug-ins might be mentioned in other sections specific to their areas of operation)
Further Information
Beginning GIMP: From Novice to Professional (a printed book): apress.com/book/bookDisplay.html?bID=10080
Security
Package(s)
- firestarter - www.fs-security.com/ - firewall. Features: easy to use graphical interface; suitable for use on desktops, servers and gateways; enables Internet connection sharing; allows you to define both inbound and outbound access policy; option to whitelist or blacklist traffic; sets up DHCP for a local network; real time firewall events view; view active network connections, including any traffic routed through the firewall; advanced Linux kernel tuning features.
Configuration
- Firestarter
- Preferences → Interface → System tray icon → Minimise to tray on window close - on
Multi media players, including DVD
Package(s)
- Choose one or more of the following:
- totem - www.hadess.net/totem.php3 - comes by default with GNOME; based on Xine
- VLC media player (VideoLAN Client) - can be useful if Totem won't play a particular DVD movie
- wxvlc - VLC is a multimedia player for all audio and video formats, this package includes VLC and the wxWindows frontend, providing for GNOME, KDE, etcetera.
- videolan-doc
- MPlayer - www.mplayerhq.hu - movie player that plays most
MPEG/VOB, AVI, Ogg/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, RealMedia, Matroska, NUT, NuppelVideo, FLI, YUV4MPEG, FILM, RoQ, PVA files,
supported by many native, XAnim, and Win32 DLL codecs. You can watch VideoCD, SVCD, DVD, 3ivx, DivX 3/4/5
and even WMV movies.
Because of legal difficulties MPlayer is not available in the official Debian repositories (see the The Debian and mplayer FAQ for details) but can instead be installed from the Debian Multimedia package repository.- mplayer - the main program [requires additional repository: Debian Multimedia]
- mplayer-doc - Documentation for MPlayer, in Chinese, English, French, German, Hungarian, Italian and Polish [requires additional repository: Debian Multimedia]
- w32codecs - Windows binary codecs. Video codecs for popular proprietary formats not natively supported by MPlayer, namely ATI VCR-2 video codec, Cinepak video codec, DivX ;-) video codec, ver. 3.11, DivX ;-) video codec, ver. 4.x, Indeo Video 3.2/4.1/5.0/4.1 quick/5.0 quick codecs, Intel 263 video codec, Microsoft MPEG-4 video codec, beta version 3.0.0.2700, Morgan Multimedia Motion JPEG video codec, QuickTime, RealAudio, RealVideo 8, RealVideo 9, Windows Media Video 9 and more. [requires additional repository: Debian Multimedia]
- The 'clearplayer' skin from Massimo Tisi for MPlayer provides a ClearLooks GNOME theme more in keeping with GNOME than the default MPlayer theme,
obviously especially if you'e using ClearLooks already. You need to do the following to use it:
- download the
.tar.bz2file manually from www.mplayerhq.hu/design7/dload.html#skins - unpack the downloaded file with Archive Manager
- To install for just the one user: create the directory
~/.mplayer/skins/defaultand copy the files there, not to a subdirectory - To install for all users of the machine: create the directory
/usr/local/share/mplayer/skins/defaultand copy the files there, not to a subdirectory
- download the
- libdvdcss2 - DVD decryption (part of the VideoLAN project). You need this to be able to play encrypted DVDs in any software [requires additional repository: Debian Multimedia]
- regionset - view and modify the region code of DVD drives
Configuration
- VLC
- you don't need to mount the DVD, VLC deals with it directly
- you need write permissions on the DVD device itself (i.e.
/dev/hdcor whichever it is on your system). The easiest way to do this is to make youself a member of the same group as this drive, thecdromgroup. (you need write permission for users since VLC does some ioctl to talk to the DVD that requires them) - if something is going wrong, use the environment variables DVDCSS_METHOD and DVDCSS_VERBOSE to understand what libdvdcss is trying to do; or read VLC's log messages (available
from within VLC); or start VLC from the console with
vlc -vvv
Audio architectures
Package(s)
- alsa-base - ALSA Advanced Linux Sound Architecture. Default with the 2.6 Linux kernel.
- alsa-utils - ALSA utilities
- alsa-oss - ALSA wrapper for OSS applications. Wraps applications written for OSS in a compatibility library, thus allowing them to work with ALSA. Required for Audacity.
- jackd - jackit.sourceforge.net/ - JACK Audio Connection Kit (server daemon (jackd) and example clients). Low-latency sound server. JACK allows the connection of multiple applications to an audio device, as well as allowing them to share audio between themselves.
- jack-tools - various JACK tools: plumbing, play, udp, ctl, scope, clock
- qjackctl - User interface for controlling the JACK sound server
- jackeq -routes and manipulates audio from/to multiple sources
Audio editing
Package(s)
multi-track audio editors
- audacity - audacity.sourceforge.net - multi-track audio editor. The Audacity 1.2 series which is part of Debian Sarge is somewhat stuck in the past, having an old GTK 1 interface and only working with OSS rather than ALSA; it requires the alsa-oss package to play and record with an ALSA-based system
- gnusound - multi-track audio editor, for GNOME. (We haven't tried this yet, but it seems a promising option). "It supports multiple tracks, multichannel output, and 8, 16, or 24/32 bit samples. It can read a number of audio formats, modify them, and saves them as WAV files. GNUsound supports a large number of high-quality audio effects, filters, and converters through the GLADSPA plugin architecture (band pass filter, frequency shifter, reverb, flanger, pitch scaler, pink noise, stereo to mono converter, and many others)."
single-track audio editors
- snd - single-track audio editor, appropriate for slow small computers. (We haven't tried this yet, but it seems a promising option).
- snd - www-ccrma.stanford.edu/software/snd/ - "Snd is a powerful sound file editor that can be customized and extended using the Scheme programming language. This package contains the basic infrastructure for the snd packages and the scheme files. You have to install a GUI package as well to actually use snd."
- snd-gtk - the files for the GTK+ user interface.
- snd-gtk-alsa - the files for the GTK+ user interface with ALSA output support.
- snd-doc
Sound effects
- ladspa-plugin
- www.ladspa.org - virtual package containing the following, which you need to install specifically:
- tap-plugins
- swh-plugins
- ladspa-sdk
- cmt
- caps
- blop
- ladspa-plugins
- www.ladspa.org - virtual package containing the following:
- mcp-plugins
Compression / Archival
These can be useful for many reasons, for example the anti-virus and spam co-ordinating program Amavis uses many of them if they're installed; as does GNOME's archive manager / file roller.
Package(s)
- arc - archive utility based on the MSDOS ARC program plus a few enhancements
- arj - archiver for .arj files. An open source version of the arj archiver. This version has been created with the intent to preserve maximum compatibility and retain the feature set of original ARJ archiver as provided by ARJ Software, Inc.
- bzip2 - www.bzip.org/ - bzip2 is a freely available, patent free, high-quality data compressor. It typically compresses files to within 10% to 15% of the best available techniques, whilst being around twice as fast at compression and six times faster at decompression. The archive file format of bzip2 (.bz2) is incompatible with that of its predecessor, bzip (.bz).
- cabextract - www.cabextract.org.uk - unpacks Microsoft cabinet (.cab) files. Microsoft cabinet files are used by Microsoft and others to distribute all kinds of data and software: core Web fonts, videos, operating system updates and video codecs, to give some examples. Microsoft cabinets are also used as the installation format for Windows CE software.
[Author: Stuart Caie] - cpio - GNU cpio is a tool for creating and extracting archives, or copying files from one place to another. It handles a number of cpio formats as well as reading and writing tar files.
- lha - the lzh archiver, popular on MS-DOS (and Windows?). [non-free - open source, has some restrictions and some vaguely worded terms; read the licence]
- lzop - www.lzop.org/ - lzop is a compressor similar to gzip. Its main advantages over gzip are much higher compression and decompression speed. lzop was designed with the following goals in mind: reliability, speed (both compression and decompression), reasonable drop-in compatibility with gzip, portability
- pax - Portable Archive Interchange. Pax is an archiving utility that reads and writes tar and cpio formats, both the traditional ones and the extended formats specified in IEEE 1003.1. Three user interfaces are supported: tar, cpio, and pax. The pax interface was designed by IEEE 1003.2 as a compromise in the chronic controversy over which of tar or cpio is best. This is the free OpenBSD's version written by Keith Muller.
- nomarch - unpacks .ARC and .ARK MS-DOS archives. This is a de-archiving only replacement for the arc archiver from SEA. It can handle pkarc archives, as well as others. This package is very useful for E-Mail virus scanner scripts for attachement unpacking.
- tnef - sourceforge.net/projects/tnef - TNEF is a program for unpacking MIME attachments of type "application/ms-tnef". This is a Microsoft only attachment. Due to the proliferation of Microsoft Outlook and Exchange mail servers, more and more mail is encapsulated into this format (often in the form of a winmail.dat file). The TNEF program allows one to unpack the attachments which were encapsulated into the TNEF attachment. Thus alleviating the need to use Microsoft Outlook to view the attachment.
- unrar - extracts files from .rar archives. If you want to create .rar archives, install package rar. Unrar can handle where as unrar-free cannot. [non-free - freeware, open source, restricts you to not using the source to create a rar archiver; read the licence] (alternatively there is unrar-free (https://gna.org/projects/unrar/) but it cannot handle version 3.0 of the rar format)
- unshield - www.synce.org/index.php/Unshield - extracts Microsoft-format CAB files from InstallShield installers. InstallShield installers comprise a .exe InstallShield installer for Microsoft Windows in which there are InstallShield cabinet files (usually named data1.cab, data1.hdr, data2.cab, data2.hdr, etc) and within them Microsoft cabinet files. The Microsoft and InstallShield cabinet files are of different formats. Unshield extracts the InstallShield cabinet files from the .exe InstallShield installer and then the Microsoft cabinet files from the InstallShield cabinet files. The Microsoft cabinet files can then either be loaded into a Windows CE device for installation or themselves unpacked using cabextract (a separate package). Unshield doesn't support encrypted files.
[Version: 0.4 | Author(s): David Eriksson | Licence: MIT] - zip - www.info-zip.org/Zip.html
- unzip - www.info-zip.org/UnZip.html
- zoo - manipulate zoo archives. This package exists for its historical value. If you are looking for a compression tool for serious use, check tar and gzip.
Java Runtime Environment (JRE)
Java is very non-free, so getting it to work in Debian involves some manual steps.
Package(s)
- java-package (you need to have
contribin your sources list for this)
Usage
- We're going to install Sun Java 2 Standard Edition (J2SE) Runtime Environment (JRE) which you get from java.sun.com/j2se/1.5.0/download.jsp with a web browser
- in the 'JRE <version number>' section, choose 'Download JRE <version number>'
- choose 'Accept License Agreement'
- in the 'Linux Platform - J2SE(TM) Runtime Environment <version number>' or 'Linux AMD64 Platform - J2SE(TM) Runtime Environment <version number>' section (whichever matches the architecture of your computer), choose 'Download JRE <version number>' choose 'Linux self-extracting file' or 'Linux AMD64 self-extracting file' and save it somewhere, such as in your home directory
- open a terminal to the command line
- create the Debian package (using
fakerootso as not to overwrite some configuration files):fakeroot make-jpkg jre-<version>-linux-<architecture>.bin(replacing parts of the filename with the exact text in your copy) - follow the various prompts and wait
- become root:
su - install the Debian package:
dpkg -i sun-j2re<version+update_architecture>.deb - Your web browser should now be automatically configured to use the JRE; you can test if the Java plug-in is working with this page: www.java.com/en/download/help/testvm.xml
- you can delete the now redundant
jre-<version>-linux-<architecture>.binandsun-j2re<version+update_architecture>.debif you want
Further Information
The Debian readme file: file:///usr/share/doc/java-package/README.Debian
Blackdown Java-Linux: www.blackdown.org/
Debian GNU/Linux Java FAQ: www.debian.org/doc/manuals/debian-java-faq/
irc.freenode.net#debian's dpkg bot on 'Java Virtual Machine': "a platform independent OO language. Server-side Java is extremely powerful due to the threads capabilities and the huge number of APIs available. On the other hand, Sun's Java licensing is extremely restrictive. Ask me about <java licensing> and <install java> and <sid mozilla java> (for starters). write once, run nowhere"
irc.freenode.net#debian's dpkg bot on 'install java': "First, read <java licensing>. Still here? If you're in sarge or sid, ask me about <java-package>. If you're in woody, grab java-package manually from packages.debian.org/java-package and then ask me about <java-package> for instructions on how to use it."
irc.freenode.net#debian's dpkg bot on 'java licensing': "read the faq at www.debian.org/doc/manuals/debian-java-faq/ch5.html#s-license-concerns"
irc.freenode.net#debian's dpkg bot on 'java-package': "i guess java-package is the new name for mpkg-j2se... err, I mean j2se-package... DAMN IT, CAN'T THEY PICK A NAME?! Anyway, it lets you build a .deb file from Sun's non-free upstream Java distributions. See "man make-jpkg". Cf. "make-kpkg" (from kernel-package). only in sarge and sid currently, but it's a -all package, so it's safe to use it in woody."
irc.freenode.net#debian's dpkg bot on 'sid mozilla java': "somebody said sid mozilla java was extra, extra, read all about it, sid mozilla java is mozilla 1.7 (in sid) is compiled with g++ 3.2. The ABI has changed, and old Java virtual machines will not work any more. Please see www.mozilla.org/releases/mozilla1.3/#compatible for details. jrfonseca.dyndns.org/debian/#java for packages that work as of 13 ..."
Sound card
Package(s)
- alsa-base - alsa-project.org/ - ALSA, the Advanced Linux Sound Architecture, is the driver
- alsa-utils - utilities for configuring and using ALSA: alsamixer, amidi, amixer, aplay, iecset, aconnect, aplaymidi, arecordmidi, aseqdump, aseqnet, speaker-test, asoundconf
- nas (the Network Audio System)?, arts (Analog Realtime Synthesizer)? esound (Enlightened Sound Daemon)? - sound server
- do we need all the packages described at xtronics.com/reference/Debian-sound.html?
- Replacing OSS with ALSA: this.
Configuration
- You need to be a member of the 'audio' group to make sounds
- Choose which sound card in your system to use by default with
alsaconfto setup particular sound cards for use - The sound device is
/dev/dsp; - Linux kernel 2.4 used OSS, kernel 2.6 uses ALSA - "OSS is deprecated which means you should only use it if the ALSA driver has problems with your sound card. And some of them do.". Debian installs ALSA by default
- By default the Master and PCM levels are muted
(in GNOME's Applications → Multimedia → Volume Control →
<sound card name>> [Alsa Mixer], check 'Master' volume
and 'Mute'), initially and on each restart.
You may be able to fix this by running
alsaconf - alsactl - advanced controls for ALSA soundcard driver - "alsactl is used to control advanced settings for the ALSA soundcard drivers. It supports multiple soundcards. If your card has features that you can't seem to control from a mixer application, you have come to the right place."
- configuration file:
/etc/modules.conf; in particular the#ALSAportion - www.debianplanet.com/node.php?id=694
Usage
From the command-line
- change various volumes:
alsamixer - configure advanced features of your sound card:
alsactl
From GNOME
- change various volumes: Applications → Multimedia → Volume Control
- configure advanced features of your sound card: Applications → Multimedia → GNOME ALSA Mixer
Troubleshooting
- check what sound card you have with
lspci | grep audio, then check you have a module running for it withlsmod | grep sndorlsmod | grep <sound-card-name> - check your sound card is supported using the ALSA Soundcard Matrix (www.alsa-project.org/alsa-doc/). There will be specific configuration advice for it there but your Debian system should have this configuration already
- "Prevent OSS drivers from loading - The discover1 pacakage tries to figure out what hardware you
have and load the modules for them. Very nice. Except that it loadsthe OSS sound modules. To prevent it from doing this, add the line:
skip i810_audioto the file/etc/discover.conf. Put the name of the OSS module for your sound card in place of i810_audio. (You can probably figure this out by perusing the output oflsmod.)" - http://www.linuxmafia.com/faq/Debian/alsa.html - "Prevent ALSA from thinking your card is a modem - Don't try this at first. If things aren't working the first time
through, this may be the source of your problem. The hotplug system may try to initialize the modem before the soundcard, and may conclude that
your ALSA soundcard is a modem. Figure out what the "modem" module for your soundcard is, and add that to the hotplug blacklist (in the file
/etc/hotplug/blacklist). In my case, I added the line "snd-intel8x0m" to the bottom of that file." - http://www.linuxmafia.com/faq/Debian/alsa.html
Further Information
'The Linux Audio Developers Mailing List' (and Linux Audio Users Mailing List), including various resources: www.linuxdj.com/audio/lad/index.php
Low-Latency HOWTO by Paul Winkler: www.djcj.org/LAU/guide/Low_latency-Mini-HOWTO.php3
More on low latency: jackit.sourceforge.net/docs/faq.php#a53
Printing
These instructions describe how to setup to print to a directly attached personal printer, or a remote printer, using CUPS
(the Common Unix Printing System). CUPS uses the Internet Printing Protocol (IPP), rather than LPR (an alternative printing
mechanism).
For sharing printers, using either a dedicated print server or to simply share your printer from your desktop computer,
see the printing section of our document 'Server Setup with Debian Sarge'.
Package(s)
When printing to a directly attached printer
- CUPS - Common UNIX Printing System
- cupsys - server
- cupsys-client - client
- smbclient - Samba client so can find Windows shared printers
- printer drivers
There are various providers of PPDs (printer description files) but for an individual printer some will be better than others. CUPS includes a few generic PPDs for non-PostScript printers (in /usr/share/cups/model) that work with some 400 printers (see samba.org/samba/docs/man/Samba-HOWTO-Collection/CUPS-printing.html#id2642170) If you instead use the alternative drivers described here you'll get better quality results and have support for more printers.- gimp-print
- cupsys-driver-gimpprint
or ijsgimpprint - universal printer driver for non-PostScript printers.
Check the list of supported models
or use the command
man gimpprint-models. - gimpprint-doc
- gimpprint-locales - for locales other than US English; needed when you want the programs in Gimp-Print to print their messages in other languages than US English
- cupsys-driver-gimpprint
or ijsgimpprint - universal printer driver for non-PostScript printers.
Check the list of supported models
or use the command
- hpijs
- HP Linux Printing and Imaging System - for printing on most JetDirect and USB attached HP SFP (single function peripheral)
InkJets and many LaserJets (not all, see the other HP packages for more).
Check the list of supported printers
Use with hplip. - hplip
- hplip - support for printing on most JetDirect and USB attached HP SFP (single function peripheral) InkJets and many LaserJets, and for scanning and photo-card access on most HP MFP (multi-funtcion peripheral) printers. (Mutually exclusive package to hpoj).
- hpoj - seems to be fairly universally not recommended - support for most parallel port attached "multi-function" (also known as "all-in-one") peripherals from Hewlett-Packard, including OfficeJet, LaserJet (not all, see the other HP packages for more), Printer/Scanner/Copier ("PSC"), and PhotoSmart printer products. (Mutually exclusive package to hplip). Check the list of supported printers
- pnm2ppa
- pnm2ppa - for HP Deskjet 7xx, 820 and 1000 PPA protocol GDI printers
- psutils - enables n-up printing support
- c2050 - Lexmark 2050 Color Jetprinter Linux Driver. Filter to convert a Postscript file to Lexmark 2050 format.
- cjet - Software PCL emulation for Canon CaPSL laser printers (Canon LBP-4U and Canon LBP-8A1)
- gimp-print
- Foomatic database for various print drivers
- foomatic-db-gimpprint - database for Gimp-Print printer drivers
- foomatic-db-hpijs - database for HPIJS driver
- foo2zjs - foo2zjs.rkkda.com - support for printing to ZjStream-based printers Minolta magicolor 2200/2300/2430 DL, Minolta Color PageWorks/Pro L and HP LaserJet 1000/1005/1018/1020/1022 (often erroneously referred to as 'winprinters' or 'GDI printers')
- Foomatic PPD files
- PPD files for non-PostScript printers
- foomatic-filters-ppds - these are those available individually from linuxprinting.org / http://www.linux-foundation.org/en/OpenPrinting
- PPD files for PostScript printers
- hp-ppd - PPD files for some Hewlett-Packard PostScript printers that aren't available
from linuxprinting.org / http://www.linux-foundation.org/en/OpenPrinting:
HP_Business_Inkjet_2250.ppd, HP_Business_Inkjet_2500C_Series.ppd,
HP_ColorLaserJet_5-5M.ppd, HP_Color_LaserJet.ppd, HP_Color_LaserJet_4500.ppd,
HP_Color_LaserJet_4550.ppd, HP_Color_LaserJet_8500.ppd, HP_Color_LaserJet_8550.ppd,
HP_DeskJet_350C.ppd, HP_DeskJet_600C_Photo_Series.ppd, HP_DeskJet_600C_Series.ppd,
HP_DeskJet_630C.ppd, HP_DeskJet_800C_Series.ppd, HP_DeskJet_900C_Series.ppd,
HP_DeskJet_990C.ppd, HP_LaserJet_1200.ppd, HP_LaserJet_2100_Series.ppd, HP_LaserJet_2200.ppd,
HP_LaserJet_3200M.ppd, HP_LaserJet_4.ppd, HP_LaserJet_4000_Series.ppd,
HP_LaserJet_4050_Series.ppd, HP_LaserJet_4100_Series.ppd, HP_LaserJet_4ML.ppd,
HP_LaserJet_4MP.ppd, HP_LaserJet_4Si.ppd, HP_LaserJet_4V.ppd, HP_LaserJet_4_Plus.ppd,
HP_LaserJet_5.ppd, HP_LaserJet_5000_Series.ppd, HP_LaserJet_5100_Series.ppd,
HP_LaserJet_5P.ppd, HP_LaserJet_5Si.ppd, HP_LaserJet_5Si_Mopier.ppd, HP_LaserJet_6P.ppd,
HP_LaserJet_8000_Series.ppd, HP_LaserJet_8100_Series.ppd, HP_LaserJet_8150_Series.ppd,
HP_LaserJet_9000_Series.ppd, HP_Mopier_240.ppd, HP_Mopier_320.ppd, hp_LaserJet_1300_series.ppd,
hp_LaserJet_2300.ppd, hp_LaserJet_4200_Series.ppd, hp_LaserJet_4300_Series.ppd,
hp_business_inkjet_2250.ppd, hp_business_inkjet_2300.ppd, hp_color_LaserJet_5500.ppd,
hp_color_laserjet.ppd, hp_color_laserjet_4500.ppd, hp_color_laserjet_4550.ppd,
hp_color_laserjet_5m.ppd, hp_color_laserjet_8500.ppd, hp_color_laserjet_8550.ppd,
hp_laserjet_1200.ppd, hp_laserjet_2100_series.ppd, hp_laserjet_2200.ppd,
hp_laserjet_3020_3030.ppd, hp_laserjet_3200.ppd, hp_laserjet_3380.ppd, hp_laserjet_4.ppd,
hp_laserjet_4000_series.ppd, hp_laserjet_4050_series.ppd, hp_laserjet_4100_series.ppd,
hp_laserjet_4_plus.ppd, hp_laserjet_4ml.ppd, hp_laserjet_4mp.ppd, hp_laserjet_4si.ppd,
hp_laserjet_4v.ppd, hp_laserjet_5mp.ppd, hp_laserjet_5si.ppd, hp_laserjet_5si_mopier.ppd,
hp_laserjet_6mp.ppd, hp_laserjet_8000_series.ppd, hp_laserjet_8100_series.ppd,
hp_laserjet_8150_series.ppd, hp_laserjet_9000_series.ppd, hp_laserjet_9055_9065_mfp.ppd,
hp_mopier_240.ppd and hp_mopier_320.ppd.
Note that in the next version of Debian many of these drivers have moved into the linuxprinting.org-ppds package.
- hp-ppd - PPD files for some Hewlett-Packard PostScript printers that aren't available
from linuxprinting.org / http://www.linux-foundation.org/en/OpenPrinting:
HP_Business_Inkjet_2250.ppd, HP_Business_Inkjet_2500C_Series.ppd,
HP_ColorLaserJet_5-5M.ppd, HP_Color_LaserJet.ppd, HP_Color_LaserJet_4500.ppd,
HP_Color_LaserJet_4550.ppd, HP_Color_LaserJet_8500.ppd, HP_Color_LaserJet_8550.ppd,
HP_DeskJet_350C.ppd, HP_DeskJet_600C_Photo_Series.ppd, HP_DeskJet_600C_Series.ppd,
HP_DeskJet_630C.ppd, HP_DeskJet_800C_Series.ppd, HP_DeskJet_900C_Series.ppd,
HP_DeskJet_990C.ppd, HP_LaserJet_1200.ppd, HP_LaserJet_2100_Series.ppd, HP_LaserJet_2200.ppd,
HP_LaserJet_3200M.ppd, HP_LaserJet_4.ppd, HP_LaserJet_4000_Series.ppd,
HP_LaserJet_4050_Series.ppd, HP_LaserJet_4100_Series.ppd, HP_LaserJet_4ML.ppd,
HP_LaserJet_4MP.ppd, HP_LaserJet_4Si.ppd, HP_LaserJet_4V.ppd, HP_LaserJet_4_Plus.ppd,
HP_LaserJet_5.ppd, HP_LaserJet_5000_Series.ppd, HP_LaserJet_5100_Series.ppd,
HP_LaserJet_5P.ppd, HP_LaserJet_5Si.ppd, HP_LaserJet_5Si_Mopier.ppd, HP_LaserJet_6P.ppd,
HP_LaserJet_8000_Series.ppd, HP_LaserJet_8100_Series.ppd, HP_LaserJet_8150_Series.ppd,
HP_LaserJet_9000_Series.ppd, HP_Mopier_240.ppd, HP_Mopier_320.ppd, hp_LaserJet_1300_series.ppd,
hp_LaserJet_2300.ppd, hp_LaserJet_4200_Series.ppd, hp_LaserJet_4300_Series.ppd,
hp_business_inkjet_2250.ppd, hp_business_inkjet_2300.ppd, hp_color_LaserJet_5500.ppd,
hp_color_laserjet.ppd, hp_color_laserjet_4500.ppd, hp_color_laserjet_4550.ppd,
hp_color_laserjet_5m.ppd, hp_color_laserjet_8500.ppd, hp_color_laserjet_8550.ppd,
hp_laserjet_1200.ppd, hp_laserjet_2100_series.ppd, hp_laserjet_2200.ppd,
hp_laserjet_3020_3030.ppd, hp_laserjet_3200.ppd, hp_laserjet_3380.ppd, hp_laserjet_4.ppd,
hp_laserjet_4000_series.ppd, hp_laserjet_4050_series.ppd, hp_laserjet_4100_series.ppd,
hp_laserjet_4_plus.ppd, hp_laserjet_4ml.ppd, hp_laserjet_4mp.ppd, hp_laserjet_4si.ppd,
hp_laserjet_4v.ppd, hp_laserjet_5mp.ppd, hp_laserjet_5si.ppd, hp_laserjet_5si_mopier.ppd,
hp_laserjet_6mp.ppd, hp_laserjet_8000_series.ppd, hp_laserjet_8100_series.ppd,
hp_laserjet_8150_series.ppd, hp_laserjet_9000_series.ppd, hp_laserjet_9055_9065_mfp.ppd,
hp_mopier_240.ppd and hp_mopier_320.ppd.
- PPD files for non-PostScript printers
- Foomatic -
www.linux-foundation.org/en/OpenPrinting/Database/Foomatic - improves/simplifies integration between print drivers and CUPS
- The Foomatic print filter system
- foomatic-db-engine - the programs - (also brings in foomatic-filters and foomatic-db (the database))
- netcat
- GNOME-based Foomatic interface
- foomatic-gui - an alternative to using the command-line tools included with foomatic-db-engine
- netcat
- nmap
- smbclient
- pconf-detect
- The Foomatic print filter system
- printconf - auto setup for parallel and USB port printers with CUPS
- Ink, nozzle and head utilities
- escputil - display the ink levels, clean the nozzles, and align the heads of Epson inkjet printers. From the Gimp-Print / Gutenprint project.
- mtink - display the ink levels, clean the nozzles, and align the heads of Epson inkjet printers - an alternative to escputil
- hplip - these features are also included in HPLIP for HP printers
When printing to either a directly attached or remote printer
- cupsys-client - Common UNIX Printing System - client programs
- cupsys-pt - Tool for viewing/managing print jobs under CUPS
- cupsys-bsd - BSD printing tools, including
lpr(Mozilla prints usinglpr); it allows OpenOffice to automatically find your printers - gs-esp - ghostscript.com/awki - (the ESP version of Ghostscript is better maintained and suited to CUPS than AFPL's versions gs-afpl and gs-gpl)
- psfontmgr - PostScript font manager (part of Defoma, Debian Font Manager) ['recommended']
- Recommended but not essential:
- a2ps - 'Anything to PostScript' converter and pretty-printer; converts files into PostScript for printing or viewing. It's at least a useful utility for a well layed-out printout.
- enscript - Converts ASCII text to Postscript, HTML, RTF or Pretty-Print. It's at least a useful utility for a well layed-out printout
Package installation options
cupsys-bsd asks "Do you want to set up the BSD lpd compatibility server?" - yes
When printing to a remote printer
Put the hostname or IP address of the print server in the ServerName section of the
configuration file /etc/cups/client.conf. The printer should then be available to most applications to print to.
Install the Printer Driver, when the printer is directly attached
You need a PostScript printer driver (and filter, if the printer isn't a PostScript printer) for each printer, even if the printer isn't a PostScript printer. Go to the http://www.linux-foundation.org/en/OpenPrinting Printer Database at linuxprinting.org/printer_list.cgi and look up your particular printer and note which driver (and accompanying filter) it recommends using.
Install the recommended PostScript printer driver package (see previously), or if you're using an actual PostScript printer you may be getting the driver from the printer vendor.
Restart CUPS: /etc/init.d/cupsys restart
(this example is for an Epson Stylus C84, you need to change the name of the files to suit your printer)
Create the print queue, when the printer is directly attached
using GNOME
Use Applications → Desktop Preferences → System Tools → Printing → New Printer.
(GNOME will know where to look for the printer drivers and deal with them in their gzipped format so you don't need to uncompress them manually.).
To remove the print queue, there isn't a GNOME option to become administrator and do so (it's dimmed), so you could either run, or create a launcher for,
gksu gnome-cups-manager; or use the CUPS web interface.
using the CUPS web interface
- go to localhost:631/admin/ if the printer is attached to the computer you're using, or http://IP-address-of-computer:631/admin/ if attached to a remote computer
- choose Add Printer then enter a Name and choose Continue
(CUPS will know where to look for the printer drivers and deal with them in their gzipped format so you don't need to uncompress them manually.) - choose Device:
- if this is a directly attached printer, attached to the USB port, choose something like:
USB Printer #1 (<name of printer>)→ Continue - if this is a directly attached printer, attached to the parallel port, choose something like: Parallel Port #1
(<name of printer>) → Continue
(Note that the parallel port will only appear if it is enabled in the BIOS; to see if Linux has recognised the parallel port usedmesg|grep lp) - if this is a directly attached printer, attached to the USB or parallel port,
and you're using the HPLIP driver
(see instructions),
choose something like:
hp:/usb/<printer name>, <serial number>→ Continue - if this is a remote printer, available via CUPS, choose:
Internet Printing Protocol (ipp) - if this is a remote printer, attached directly to the network using a JetDirect card,
whether or not you're using HPLIP the driver, choose
Appsocket/HP JetDirect
- if this is a directly attached printer, attached to the USB port, choose something like:
- choose Device URI (you're only asked this for remote printers)
- if the remote printer is made available via CUPS, choose:
ipp://<hostname>/printers/<printer name> - if the remote printer is attached to the network using a JetDirect card, choose
socket://hostname:9100 - if the remote printer is attached to the network using a JetDirect card
and you're using the HPLIP driver
(see instructions)
- search for the printer URI:
hp-makeuri <printer IP address> - choose this URI, it will be of the form
hp:/net/HP_<model name>_<model number>?ip=<IP address>
- search for the printer URI:
- if the remote printer is made available via CUPS, choose:
- choose Make: EPSON → Continue
- choose Model (those that appear relates to those you've installed drivers for;
choose the one labeled '(recommended)')
- i.e. EPSON Stylus C84 - CUPS + Gimp-Print v4.2.7 (<language>) (despite appearances, for this choice to work you have to have previously installed the Gimp-Print driver) → Continue
- i.e. HP LaserJet 5 Foomatic/hpijs (recommended) (en)
Using the command-line
- Unlike other methods, you need to uncompress the PPD (PostScript Printer Description) file for your printer so that CUPS can find it, either
leaving it in the same directory or you can copy it elsewhere
- Gimp-print drivers are located in
/usr/share/cups/model/gimp-print/4.2/, so you should uncompress it with the commandgzip -d /usr/share/cups/model/gimp-print/4.2/escp2-c84.ppd.gz; then copy it to the printer drivers directory with the commandcp /usr/share/cups/model/gutenprint/<version-number>/<spoken-language>/escp2-c84.ppd /usr/share/cups/model - foomatic-filters-ppds are located in
/usr/share/cups/model/foomatic-ppds/<printer manufacturer>
- Gimp-print drivers are located in
- Create the queue, enable it and accept jobs (this example is for an Epson Stylus C84):
lpadmin -p epson_c84 -v <device-name> -m escp2-c84.ppd -E
where<device-name>is specific to how your device is attached, for example- for a USB attached printer on the 1st USB port:
usb:/dev/usb/lp0 - for a directly attached printer, attached to the 1st parallel port:
parallel:/dev/lp0
(Note that the parallel port will only be available if it is enabled in the BIOS; to see if Linux has recognised the parallel port usedmesg|grep lp) - if the printer is directly attached, or attached to the network using a JetDirect card
and you're using the HPLIP driver
- search for the printer URI:
hp-makeuri <printer IP address> - choose this URI, it will be of the form
hp:/net/HP_<model name>_<model number>?ip=<IP address>orhp:/usb/<printer name>, <serial number>
- search for the printer URI:
- for a remote CUPS printer:
ipp://<hostname>/printers/<printer name> - for a remote Windows or Samba printer:
smb://<hostname>/<printer name>orsmb://<workgroup>/<hostname>/<printer name>(if WINS is unavailable, add-h <IP address>(but the Samba HOWTO says this won't work); if you need to provide credentials, prepend withsmb://username:password@but note that it's available in various places in the clear)) - for a remote HP JetDirect:
socket://<IP address>:9100
- for a USB attached printer on the 1st USB port:
- Set as the default printer:
lpadmin -d epson_c84
If you need to remove the print queue, use lpadmin -x <printer>.
Configure the printer driver
Using the CUPS web interface
Configure Printer...
Using the command-line
lpoptions - display or set printer options and defaults. Use it to lock down a set of sensible defaults.
To see the options available for your setup, use the 'docs' option like this:
lp -d <printer> -o docs /etc/hosts; or use lpoptions -p <printer> -l.
Usually, you can also use the media=..., sides=..., and duplex CUPS options, if there are InputSlot, MediaType,
and Duplex options for your driver.
Some applications require specific printer configuration
OpenOffice
If you have installed the cupsys-bsd package, OpenOffice will automatically detect your printer queues.
Otherwise you have to add the printer queues manually with the oopadmin tool.
GIMP
GIMP needs you to set the specific printer by replacing 'PostScript Level 2' with the specific printer.
Choose 'Setup printer...'; pick the printer from the list; (the command line already has
the right queue name (i.e. lp -s -dprinter -oraw)); choose 'Save Settings'.
Inkscape
Use the command lp -P <printer>.
(Bug: the man page wrongly recommends a lower case -p.)
Tools for working with printer queues and print jobs
Using GNOME
Should be self explanatory; however, if you try to delete a print job the print dialog hangs. There is no GNOME option to become administrator and perform such acts,
so you could either run, or create a launcher for, gksu gnome-cups-manager; or use the CUPS web interface. Perhaps there is a group that printer
operators should be a member of?
Using the CUPS web interface
Should be self explanatory.
Using the command-line
(use -h IP-address with each of these to specify the IP address of the print server if using a remote printer)
- Print a file to the default printer:
lp file - Print a file to a specific printer:
lp -d <printer name> file - Configure CUPS printers and classes:
lpadmin-p- specify printer name-v- sets the device-uri attribute of the printer queue, e.g.:usb:/dev/usb/lp0- a USB device in the first USB portsmb://hostname/printer-name- a remote Windows or Samba queue- (There is documentation saying you configure a remote CUPS printer with
-v ipp://IP-address/printers/printer-namebut you can instead use the simpler-h IP-address)
-P- specifies a PostScript Printer Description file to use with the printer-d- sets default printer (doesn't seem to work for remote printers)-L- describe the printer's physical location (in your own words)-D- describe the printer (in your own words)-x- remove a print queue
- Show all CUPS status information, including system default printer, device name(s), what printer(s) are doing:
lpstat -t(specify a printer with-p printer(s); if no printers are specified then all are listed) - Show a long listing of printers, classes, or jobs:
lpstat -l(specify a printer with-p printer(s); if no printers are specified then all are listed) - Show the status of the default print queue:
lpq - Show the status of a specific print queue:
lpq -P <printer name> - Accept jobs sent to a destination:
accept <destination(s)> - Reject jobs sent to a destination:
reject <destination(s)> - Start printers and classes:
cupsenable <destination(s)>(use in place ofenable, CUPS' version is a double-booking on the name) - Stop printers and classes:
cupsdisable <destination(s)> - Cancel all print jobs from the specified destination:
cancel -a <destination> - Cancel a print job with the specified job number from the specified queue:
cancel <queuename>-<jobnumber> - kill any processes still using the printer device, when the job has been removeed from the queue but some remains printing:
fuser -k device
Inkjet printer maintenance
With Epson Stylus printers
Using the command-line
- escputil
- Check ink levels:
escputil -r <raw device name> --ink-level
To do this requires communicationg in a bi-directional way with the printer, which requires the Linux kernel to be configured for bi-directional printing with the CONFIG_PARPORT_1284 configuration option, which Debian kernels have (back with the 2.2 series kernel this was called CONFIG_PRINTER_READBACK). Presumably it also requires the BIOS to have bi-directional parallel port usage enabled. - Print a nozzle test pattern:
escputil --nozzle-check
Dirty or clogged nozzles will show as gaps in the pattern. If you see any gaps, you should run a head cleaning pass or two. - Clean the print head:
escputil --clean-head
This can also be performed from the printer front panel. - Align the print head:
escputil -r <raw device name> --align-head
CAUTION: Misuse of this option may result in poor print quality and/or damage to the printer. - Retrieve printer status:
escputil -r <raw device name> --status
- Check ink levels:
- The following options might need to be used with escputil
-P, --printer-name=<printer>- specify printer name-r, --raw-device=device- specify the name of the device to write to directly rather than going through a printer queue, used when an option requires read/write access to the raw printer device. Raw device names look like /dev/usb/lp0 for a USB attached printer on the first USB port, /dev/lp0 for a parallel cable attached printer on the first parallel port. You can find the raw device name usinglpstat -v-u, --new- the printer is a new printer (Stylus Color 740 or newer).
Troubleshooting
show available devices or drivers: lpinfo
restart CUPS: /etc/init.d/cupsys restart
CUPS configuration file: /etc/cups/cupsd.conf
CUPS error log: /var/log/cups/error_log.
(Change 'LogLevel warn' to 'LogLevel debug'
in /etc/cups/cupsd.conf, then restart CUPS, for more verbose messages in the error log.)
Configuration for Printing to Windows Printers
Check you can connect to the Windows system: smbclient -L computer-name -N.
If WINS isn't available you need to additionally specify the IP address with -I IP-address.
Verify that your installation of CUPS has the SMB backend by looking for a particular symbolic link:
ls -l /usr/lib/cups/backend/smb.
If this symbolic link doesn't exist, create it: ln -s /usr/bin/smbspool /usr/lib/cups/backend/smb
Further Information
CUPS Software Administrators Manual: local-host:631/documentation.html or www.cups.org/sam.html
CUPS Software Users Manual: www.cups.org/sum.html
www.linux-foundation.org/en/OpenPrinting includes forums for specific printer makes
CUPS Software Users Manual, localhost:631/documentation.html
Setting Up CUPS under Debian GNU/Linux: mumford1.dyndns.org/~bs7452/linuxhelp/cups.html
HP Linux Printing Project: hpinkjet.sourceforge.net/
Debian and Windows Shared Printing mini-HOWTO: www.faqs.org/docs/Linux-mini/Debian-and-Windows-Shared-Printing.html (this is a good introduction)
www.linuxmafia.com/faq/Debian/printing-setup.html
gimp-print.sourceforge.net/p_Documentation.php3
Scanning
Package(s)
- sane - www.sane-project.org/ - driver software for dealing with a directly attached scanner.
- xsane - graphical scanning software for local or remote scanners.
- libsane-extras - www.fifi.org/doc/libsane/README.Debian - some backends that are not yet included into the official SANE distribution
Configuration for locally attached scanners
If the scanner uses a USB interface and is recognised by the system when you plug it in, it will likely just work without any further configuration.
Identify information about the scanner and the system
There are a number of different methods used by the system to access the scanner, depending on the interface it's attached to and possibly Linux kernel version
- a USB attached scanner
- with a 2.4 series Linux kernel - devfs
- with a 2.6 series Linux kernel - libusb (libusb.sourceforge.net/)
- a SC