  Linux Ecology HOWTO
  Werner Heuser, < wehe@snafu.de > Wade W. Hampton <whamp
  ton@staffnet.com>
  v0.3, 17 September 1999

  The Ecology-HOWTO discusses ways Linux computers can be used as a mean
  to protect our environment, by using its features to save power or
  paper. Since it does not require big hardware, Linux may be used with
  old computers to make their life cycle longer. Games may be used in
  environmental education and software is available to simulate ecologi
  cal processes.
  ______________________________________________________________________

  Table of Contents

  1. Introduction

  2. Reduction of Power Consumption

     2.1 Advanced Power Managment (APM/ACPI)
        2.1.1 Linux Compatibility Check
        2.1.2 Introduction
        2.1.3 Caveats
        2.1.4 Troubleshooting
        2.1.5 ACPI
     2.2 Power Saving Techniques
     2.3 Turn Monitor off, use Keyboard LEDs
     2.4 Screensavers

  3. Alternative Power Supplies - Sun, Wind, Water

  4. Noise Reduction

     4.1 Fan
     4.2 Harddisk
     4.3 Speakers

  5. Saving Consumables (Paper, Ink, etc.)

     5.1 Printing of Drafts / Multiple Pages on One Sheet of Paper
     5.2 Reading From the Monitor Instead From Paper
     5.3 Other Techniques

  6. Extending the Life Cycle of your Hardware

     6.1 Recycling of Hardware
        6.1.1 Supported CPU Families
        6.1.2 Dealing with Limited Resources or Tuning the System
           6.1.2.1 Related HOWTOs
           6.1.2.2 Introduction
           6.1.2.3 Small Space
              6.1.2.3.1 Introduction
              6.1.2.3.2 Techniques
           6.1.2.4 Harddisk Speed
           6.1.2.5 Small Memory
              6.1.2.5.1 Related HOWTOs
              6.1.2.5.2 Techniques
           6.1.2.6 Low CPU Speed
           6.1.2.7 Tiny Applications and Distributions
     6.2 Other Techniques
     6.3 Other Operating Systems

  7. X10

  8. Uninterruptable Power Supply - UPS

  9. Games

  10. Ecology Software (Simulation, Datacollection, Statistics, etc.)

     10.1 Ecolab
     10.2 OpenClassroom
     10.3 Tierra
     10.4 Linux in Environmental Research

  11. Related Projects, Mailing Lists and Newsgroups

  12. Credits

  13. Revision History

  14. Copyright and Disclaimer

  15. Appendix A - Linux with Laptops

     15.1 Battery
     15.2 PCMCIA Card Services and Advanced Power Management
     15.3 Power Saving Techniques

  16. Appendix B - MP3-Hardware-Decoder at Parallel Port

  17. Appendix C - Bibliography

  18. Appendix D - Recommendations for Buying a New Computer

  19. Appendix E - Recommendations for a New Environmentally Friendly Hardware Design

  20. Appendix F - Computer Related Eco Labels

  ______________________________________________________________________

  1.  Introduction

  Life is the first gift, love is the second, and understanding is the
  third. -- Marge Piercy <http://www.capecod.net/~tmpiercy/>

  Though computers can be seen as part of environmental pollution, there
  are also ways to use computers in a more reasonable manner to help
  protect the environment. So I have just started to collect some means
  to do so with Linux.

  Some objectives of the howto:

    Reduction in power consumption.

    Reduction in consumables like paper and inks.

    Reduction in waste by reusing older components or keeping them in
     service longer.

    Reduction in toxic waste such as used batteries.

    Use of Linux in environmental education and research.

  If I didn't provide an URL for a package, you may get the package from
  Debian <http://www.debian.org> or as a RPM package, from your favorite
  RPM server, for instance Rufus
  <http://rufus.w3.org/linux/RPM/ByName.html>.

  Some parts are modified chapters from my Laptop-HOWTO and my IR-HOWTO
  http://www.snafu.de/~wehe/index_li.html
  <http://www.snafu.de/~wehe/index_li.html>.

  The document is intended to be included in the LINUX DOCUMENTATION
  PROJECT <http://metalab.unc.edu/LDP>. But though I have submitted it
  sometimes, it is still not included into the LDP. - Please ignore this
  paragraph if you have got this text through the LDP finally.

  The latest version of this document is available at LiLAC
  <http://www.snafu.de/~wehe/index_li.html> .

  Since Wade W. Hampton provided a great amount of information included
  into this text I consider him as a co-author. Though all
  responsibility for any mistakes is taken by me.

  Please feel free to contact me for comments or questions about the
  HOWTO. I know this material is not finished or perfect, but I hope you
  find it useful anyway.

  Werner Heuser <wehe@snafu.de>

  2.  Reduction of Power Consumption

  There are some means to save power when using a computer which are
  supported by Linux: Advanced Power Management, certain harddisk
  settings, working without monitor and others.

  2.1.  Advanced Power Managment (APM/ACPI)

  2.1.1.  Linux Compatibility Check

  From the Battery-Powered-mini-HOWTO " .. for APM to work on any
  notebook or energy-conscious desktop, the system BIOS ROM in the
  machine must support the APM standard. Furthermore, for APM to work
  with the Linux operating system, the system BIOS ROM must support
  either the 1.0 or 1.1 version of the APM standard, and it must also
  support 32-bit protected mode connections. A system that supports APM
  1.1 is preferred, as it provides more features that the device driver
  and supporting utilities can take advantage of."

  You may get information about the APM version with the dmesg command
  and in the /proc/apm file.

  2.1.2.  Introduction

  When you first install Linux, you will probably have to recompile the
  kernel. The kernel that came with your distribution probably does not
  have APM enabled.

  APM support consists of two parts: kernel support and user-land
  support.

  For kernel support, enable the parameters in the corresponding kernel
  section. AFAIK not all features work with laptops. AFAIK the feature
  CONFIG_APM_POWER_OFF works with most laptops.

  The utilities for userland support may be found at
  http://worldvisions.ca/~apenwarr/apmd/
  <http://worldvisions.ca/~apenwarr/apmd/>. APMD is a set of programs
  that control the Advanced Power Management system found in most modern
  laptop computers. If you run a 2.2.x kernel and want to experiment,
  Gabor Kuti <seasons@falcon.sch.bme.hu> has made a kernel patch that
  allows you to hibernate any Linux system to disk, even if your
  computers APM BIOS doesn't support it directly.

  Richard Gooch wrote: I'have had a look at the beta version of apmd,
  and I still don't like it, because:

    Only supports one command to run at suspend time.

    Doesn't distinguish between user and system suspends.

    doesn't provide a way to disable policy (the sync(); sleep(0) ;
     sync(); sleep(1); sequence)

    Does not document extra features.

    And I'm not sure that what we want is a single super daemon. A
     collection of smaller daemons might be better, since it allows
     people to pick and choose. A super daemon is bloat for those who
     only want one small feature.

  Though this topic was discussed controversly Richard Gooch has put
  together a package suspendd at http://www.atnf.csiro.au/~rgooch/linux/
  <http://www.atnf.csiro.au/~rgooch/linux/> .

  Also, have a look at apmcd (apm based crontab) at
  ftp.binary9.net/pub/linux/apmcd-1.15.tar.gz
  <ftp.binary9.net/pub/linux/apmcd-1.15.tar.gz> . A tool made by Nicolas
  J. Leon <nicholas@binary9.net>  http://mrnick.binary9.net/
  <http://mrnick.binary9.net/>.

  Note: I didn't check wether this features are merged into one package
  (apmd eventually) already.

  2.1.3.  Caveats

  If you have another operating system preinstalled or use another
  operating system at the same disk, make sure there is no "hibernation"
  or "suspend" tool installed, which could severely interfere with
  Linux, e.g. it might use disk space which is occupied by Linux or vice
  versa.

  2.1.4.  Troubleshooting

  If your machine worked with 2.0.x kernels but not with the 2.2.x
  series, take this advice from Klaus Franken kfr@klaus.franken.de :
  "The default changed in 2.2. Search in the init-scripts for halt and
  change it to halt -p or poweroff. See man halt , if you don't have
  this option you need a newer version of halt." You may find it in the
  SysVinit package.

  Sometimes X windows and APM don't work smoothly together, the machine
  might even hang. A recommendation from Steve Rader: Some Linux systems
  have their X server hang when doing apm -s. Folks with this affliction
  might want switch to the console virtual terminal then suspend chvt 1;
  apm -s as root, or, more appropiately.sudo chvt 1; sudo apm -s. I have
  these commands in a script, say, my-suspend and then do xapmload
  --click-command my-suspend .

  On some new machines (for instance HP Omnibook 4150 - 366 MHz model)
  when accessing /proc/apm, you may get a kernel fault general
  protection fault: f000. Stephen Rothwell
  <Stephen.Rothwell@canb.auug.org.au> http://www.canb.auug.org.au/~sfr/
  <http://www.canb.auug.org.au/~sfr/> explaines: "This is your APM BIOS
  attempting to use a real mode segment while in protected mode, i.e. it
  is a bug in your BIOS. .. We have seen a few of these recently, except
  all the others are in the power off code in the BIOS wher we can work
  around it by returning to real mode before attempting to power off.
  Here we cannot do this."

  2.1.5.  ACPI

  The latest standard is ACPI. The ACPI4Linux project has started at the
  beginning of 1999. The ACPI4Linux project is a kernel driver project
  aimed at implementing full ACPI support for Linux, including fan
  control, dock/undock detection and a WindowMaker dockable temperature
  meter. You may reach it at http://phobos.fachschaften.tu-
  muenchen.de/acpi/ <http://phobos.fachschaften.tu-muenchen.de/acpi/> .

  2.2.  Power Saving Techniques

  Linux halts the CPU in the idle cycle to further reduce power
  consumption. Early reports of OS/2, Win3.1/95, NT, and Linux showed
  Linux to use far less power than DOS-based O/S's that spun in the idle
  loop and consumed power -- this may have changed hence it would need
  research to validate.

  Most Linux-users tend to leave their computer on for years whenever
  possible. However, several modern BIOS's support an unattended
  powerup, and with cron you can even do an unattended shutdown. No need
  to leave the computer on night after night.

  1. hdparm
     <ftp://tsx-11.mit.edu/pub/linux/sources/sbin/hdparm-3.0.tar.gz>
     hdparm is a Linux IDE disk utility that lets you set spin-down
     timeouts and other disk parameters. It works also for some SCSI
     features.

  2. Mobile Update Daemon
     <http://www.complang.tuwien.ac.at/ulrich/linux/tips.html> This is a
     drop-in replacement for the standard update daemon, mobile-update
     minimizes disk spin ups and reduces disk uptime. It flushes buffers
     only when other disk activity is present. To ensure a consistent
     file system call sync manually. Otherwise files may be lost on
     power failure. mobile-update does not use APM. So it works also on
     older systems.

  3. Toshiba Linux Utilities
     <http://www2.prestel.co.uk/hex/toshiba.html> This is a set of Linux
     utilities for controlling the fan, supervisor passwords, and hot
     key functions of Toshiba Pentium notebooks. There is a KDE package
     Klibreta, too.

  4. LCDproc <http://lcdproc.omnipotent.net/> . "LCDproc is a small
     piece of software that will enable your Linux box to display live
     system information on a 20x4 line backlit LCD display. AFAIK it
     connects only to the external Matrix-Orbital 20x4 LCD display
     Matrix-Orbital <http://www.matrix-orbital.com/>, which is a LCD
     display connected to a serial port.

  5. Dial Daemon <http://www.loonie.net/~eschenk/diald.html> . The Diald
     daemon provides on demand Internet connectivity using the SLIP or
     PPP protocols. Diald can automatically dial in to a remote host
     when needed or bring down dial-up connections that are inactive.

  2.3.  Turn Monitor off, use Keyboard LEDs

  There are some tools which allow to get information from your computer
  without using the monitor:

    bl : Blink Keyboard LEDs

    blinkd : "Blinks keyboard LEDs for an answering machine or fax
     machine. Blinkd is a client/server pair, that lets the keyboard
     LEDs blink, indicating things like the number of incoming voice
     calls in the voice box or incoming faxes in the spool."
    mailleds : Shows new mails with the keyboard LEDs, mailleds is a
     quiet, unobtrusive way to signify that you have  new mail: a user
     daemon to blink LEDs when there is new mail.

    tleds : Blinks keyboard LEDs indicating TX and RX network packets.
     They blink Scroll-Lock LED when a network packet leaves the
     machine, and Num-Lock LED when one is received.

  2.4.  Screensavers

  Do they only prevent the screen from being burned in or do they save
  power, too?

  Some recommendations from Wade W. Hampton:

  Screensavers usually display graphics, look for ETI, or perform other
  tasks.  When using your screensaver in this manner, you may actually
  consume MORE power. For example a computer using XSETI as a
  screensaver might get far warmer (hence use more power) than when it
  was being used to edit a document or perform a compile.

  To really save power, and if your X server plus monitor supports it,
  use the dpms option of xset (see the manual page for xset). For
  example, to enable the DPMS (Energy Star) features of you X server:
  xset +dpms

  You may also manually change the mode of your X display:

  ______________________________________________________________________
  xset dpms force standby
  xset dpms force suspend
  xset dpms force off
  ______________________________________________________________________

  Some screen saver programs:

    The purpose of xscreensaver is to display pretty pictures on your
     screen  when it is not in use, in keeping with the philosophy that
     unattended monitors should always be doing something interesting,
     just like they do in the movies. The benefit that this program has
     over the combination of the xlock and  xautolock programs is the
     ease with which new graphics hacks can be  installed: you don't
     need to recompile this program to add a new display mode, you just
     change some resource settings. Any program which can be  invoked in
     such a way that it draws on the root window of the screen can now
     be used as a screensaver without modification.  The programs that
     are being run as screensavers don't need to have any special
     knowledge about what it means to be a screensaver.

    LockVC is a console-locking-program combined with a starfield
     screensaver. Executing LOCKVC on a virtual console brings up a
     starfield that starts to rotate around all three axes.

  3.  Alternative Power Supplies - Sun, Wind, Water

  See a survey of links at Eklektix <http://www.eklektix.com/solar> .

  4.  Noise Reduction

  Most of the noise emitted by a computer is produced by the fan, the
  harddisk and the speakers.

  4.1.  Fan

    libsensors0 Library to read temperature/voltage/fan sensors

    lm-sensors "Kernel drivers to read temperature/voltage/fan sensors.
     This is a module for reading the temperature/voltage/fan sensors in
     Linux via the LM78/79 chip and possibly sensors on the SMBus
     (System Management Bus, usually found in P6 and P-II systems). The
     LM80 and a LM78-clone called W83781D are also supported."
     http://www.lm-sensors.nu/ <http://www.lm-sensors.nu/>

    ACPI, see APM chapter

  4.2.  Harddisk

  See man hdparm .

  4.3.  Speakers

  Has to be written. PCMCIA-HOWTO, "Speakerrektomie"

  5.  Saving Consumables (Paper, Ink, etc.)

  5.1.  Printing of Drafts / Multiple Pages on One Sheet of Paper

  Use psutils package to put more than one page on one sheet of paper.
  This collection of utilities is for manipulating PostScript documents.
  Page selection and rearrangement are supported, including arrangement
  into signatures for booklet printing, and page merging for n-up
  printing.

  Often HTML pages are not optimised for printing. You may use html2ps,
  a HTML to PostScript converter, to print HTML pages. "This program
  converts HTML directly to PostScript. The HTML code can be retrieved
  from one or more URLs or local files, specified as parameters on the
  command line. A comprehensive level of HTML is supported, including
  inline images, CSS1, and some features of HTML 4.0."

  Or you may use mpage to print 2 up or 4 up (PS documents or ASCII
  text). This may be used to save up to 50 percent or more of your
  paper.

  5.2.  Reading From the Monitor Instead From Paper

  Or use less/xless/gless as a viewer instead of printing. You can view
  postscript documments with gs and view PDF documents with either xpdf
  or acroread (from Adobe <http://www.adobe.com>). Ask yourself, do you
  --really-- need a hardcopy each time you decide to print something
  out.

  What are the reasons why people don't read from the monitor:

    Reading is slower up to 30 percent, see N.N.
     <http://www.useit.com/alertbox/9602.html>. The speed can be
     improved by better hardware (e.g. TFT display, greater screen,
     though this is against the other below to take smaller CRTs) and
     better display software (type-1, t1lib, truetype, freetype).

    Paper seems better organizable and more secure to some people. I
     suppose this can be treated by better software (e.g. Linux) and
     hardware, too.

  5.3.  Other Techniques

  Another means of saving paper is through the use of comments and
  redline/strikeout markings when exchanging a document with a co-
  worker/colaborator. For example, a draft could be written using
  WordPerfect, then E-MAILed to a co-worker. They could update the draft
  and send it back to you.  You can use WordPerfect's redline/strikeout
  features to see the changes. The document need not be printed until it
  is "final" or in "final draft" status.

  Question: Can you use the back side of paper in a laser printer? I
  have not had much luck. You can use the paper that has been in a laser
  printer in an inkjet printer by using the other side.

  You should purchase smaller computers and monitors when possible. This
  will save packaging material translating into less solid waste. For
  example the box for a 15" CRT monitor is 2-3 times the size of the box
  for a 15" LCD monitor. Linux works well with 15" LCD monitors on
  smaller computers like the Netwinder or E3000
  <http://www.thinworks.com/campaign/try_e3000.html> .

  Some have expressed the concern that LCD displays may use more toxic
  materials and manufacturing processes than CRT displays, hence their
  usage actually may be worse on the environment. The original
  information above concerned the solid waste issue, which is fairly
  tangable and hence more controllable.

  Does anyone know of studies or additional research to help clarify and
  resolve this issue?

  Recycle your used paper, ink, and packing materials.

  You may use refillable printer cartridges. In Germany the are marked
  with the "Blauer Engel" lable.

  Laser printer cartridges can often be used much more longer if you
  shake them when the message "toner low" appears at the message panel.

  Wade W. Hampton provided the biggest part of this chapter.

  6.  Extending the Life Cycle of your Hardware

  6.1.  Recycling of Hardware

  The commercial computer market is largely driven by vendors seeking to
  sell new hardware and software. There is no commercial marketing
  benefit in promoting reuse.

  Hence Linux doesn't require big hardware, it's very useful if you like
  or need to use old and small hardware.

  6.1.1.  Supported CPU Families

  Linux runs on Intel-compatible processors, including Intel's 386, 486,
  Pentium, Pentium Pro and Pentium II, and compatible processors by AMD,
  Cyrix and others.

  Linux doesn't support the 286 CPU family yet. But there are some
  efforts at ELKS http://www.linux.org.uk/ELKS-Home/index.html
  <http://www.linux.org.uk/ELKS-Home/index.html> or
  http://www.elks.ecs.soton.ac.uk/ <http://www.elks.ecs.soton.ac.uk/>.

  If you like, you may use Minix <http://www.cs.vu.nl/~ast/minix.html>
  one of the predecessors of Linux. Minix supports 8088 to 286 with as
  little as 640K memory.

  Of coarse there are also ports to other systems, such as ALPHA,
  PowerPC, etc. For details about systems which are supported by the
  Linux Kernel, see the Linux FAQ
  <http://www.cl.cam.ac.uk/users/iwj10/linux-faq/> .

  The ARM is a fast AND low-power alternative. For example, the
  Corel/Rebel Netwinder is based on the ARM processor see Rebel
  <http://www.rebel.com> and Strong-ARM
  <http://developer.intel.com/design/strong/>.

  6.1.2.  Dealing with Limited Resources or Tuning the System

  This chapter is taken from my Laptop-HOWTO.

  6.1.2.1.  Related HOWTOs

  1. LBX-HOWTO

  2. Small-Memory-HOWTO

  6.1.2.2.  Introduction

  To deal with limited space, memory, CPU speed and battery power, I
  have written this chapter.

  6.1.2.3.  Small Space

  6.1.2.3.1.  Introduction

  There are different types of techniques to gain more disk space, such
  as sharing of space, freeing unused or redundant space, filesystem
  tuning and compression. Note: some of these techniques use memory
  instead of space. As you will see, there are many small steps
  necessary to free some space.

  6.1.2.3.2.  Techniques

  1. Stripping: Though many distributions come with stripped binaries
     today it is useful to check this. For details see man strip. To
     find every unstripped file you can use the file command or more
     convenient the tool findstrip. Attention: don't strip libraries,
     sometimes the wrong symbols are removed due to a bad programming
     technique.

  2. Perforation: zum(1)reads a file list on stdin and attempts to
     perforate these files. Perforation means, that series of null bytes
     are replaced by lseek, thus giving the file system a chance of not
     allocating real disk space for those bytes. Example: find . -type f
     | xargs zum

  3. Remove Odd Files and Duplicates: Check your system for core files,
     emacs recovery files <#FILE#> vi recovery files <FILE>.swp, RPM
     recovery files <FILE>.rpmorig and patch recovery files. Find
     duplicates, you may try finddup. Choose a system to name your
     backup, temporary and test files, e.g. with a signature at the end.

  4. Clean Temporary Files: , e.g. /tmp, there is even a tool tmpwatch.

  5. Shorten the Log Files: usually the files in /var/log. There are
     some nice helpers for this task around, e.g. savelog .

  6. Remove Files: Remove files which are not "necessary" under all
     circumstances such as man pages, documentation /usr/doc and sources
     e.g. /usr/src .

  7. Unnecessary Libraries: You may use the binstats package to find
     unused libraries (Thanks to Tom Ed White).

  8. Filesystem: Choose a filesystem which treats disk space
     economically e.g. rsfs aka Reiser Filesystem. Tune your filesystem
     e.g. tune2fs. Choose an appropriate partition and block size.

  9. Reduce Kernel Size: Either by using only the necessary kernel
     features and/or making a compressed kernel image bzImage.

  10.
     Compression: I didn't check this but AFAIK you may compress your
     filesystem with gzip and decompress it on the fly. Alternatively
     you may choose to compress only certain files. You can even execute
     compressed files with zexec

  11.
     Compressed Filesystems:

     - For e2fs filesystems there is a compression version available
     e2compr , see http://debs.fuller.edu/e2compr/
     <http://debs.fuller.edu/e2compr/> .

     - DMSDOS which enables your machine to access Windows95 compressed
     drives (drivespace, doublestacker). If you don't need DOS/Windows95
     compatibility, i.e. if you want to compress Linux-only data, this
     is really discouraged by the author of the program. See
     http://fb9nt-ln.uni-duisburg.de/mitarbeiter/gockel/software/dmsdos/
     <http://fb9nt-ln.uni-
     duisburg.de/mitarbeiter/gockel/software/dmsdos/> .

  12.
     Partition Sharing: You may share swap-space (see Swap-Space-HOWTO)
     or data partitions between different OS (see mount). For mounting
     MS-DOS Windows95 compressed drives (doublespace, drivespace) you
     may use dmsdos
     http://metalab.unc.edu/pub/Linux/system/filesystems/dosfs/
     <http://metalab.unc.edu/pub/Linux/system/filesystems/dosfs/>.

  13.
     Libraries: Take another (older) library, for instance libc5 , this
     library seems to be smaller than libc6 aka glibc2 .
  14.
     Kernel: If your needs are fitted with an older kernel version, you
     can save some space.

  15.
     GUI: Avoid as much Graphical User Interface (GUI) as possible.

  16.
     Tiny Distributions: There are some distributions available which
     fit from one 3.5" floppy to 10MB disk space and fit for small
     memories, too. See Laptop-HOWTO
     http://www.snafu.de/~wehe/index_li.html
     <http://www.snafu.de/~wehe/index_li.html>

  6.1.2.4.  Harddisk Speed

  Use the tool hdparm to set up better harddisk performance. Though I
  have seen laptop disk enabled with striping, I can't see a reason to
  do so, because IMHO aka RAID0 striping needs at least to different
  disks to increase performance.

  6.1.2.5.  Small Memory

  6.1.2.5.1.  Related HOWTOs

  1. Small-Memory-mini-HOWTO by Todd Burgess <tburgess@uoguelph.ca >
     http://eddie.cis.uoguelph.ca/~tburgess
     <http://eddie.cis.uoguelph.ca/~tburgess>

  2. Modules-mini-HOWTO

  3. Kerneld-mini-HOWTO

  6.1.2.5.2.  Techniques

  Check the memory usage with free and top.

  Mergemem Project  <http://www.complang.tuwien.ac.at/ulrich/mergemem/>.
  Many programs contain memory areas of the same content that remain
  undetected by the operating system. Typically, these areas contain
  data that have been generated on startup and remain unchanged for
  longer periods. With mergemem such areas are detected and shared. The
  sharing is performed on the operating system level and is invisible to
  the user level programs. mergemem is particularily useful if you run
  many instances of interpreters and emulators (like Java or Prolog)
  that keep their code in private data areas. But also other programs
  can take advantage albeit to a lesser degree.

  You may also reduce the kernel size as much as possible by removing
  any feature which is not necessary for your needs and by modularizing
  the kernel as much as possible.

  Also you may shutdown every service or daemon which is not needed,
  e.g. lpd, mountd, nfsd and close some virtual consoles. Please see
  Small-Memory-mini-HOWTO for details.

  And of coarse use swap space, when possible.

  If possible you may use the resources of another machine, for instance
  with X, VNC or even telnet. For more information on Virtual Network
  Computing (VNC), see http://http://www.uk.research.att.com/vnc/
  <http://www.uk.research.att.com/vnc> .

  6.1.2.6.  Low CPU Speed

  You may want to overdrive the CPU speed but this can damage your
  hardware and I don't have experience with it. For some examples look
  at Adorable Toshiba Libretto - Overclocking
  http://www.cerfnet.com/~adorable/libretto.html
  <http://www.cerfnet.com/~adorable/libretto.html>.

  6.1.2.7.  Tiny Applications and Distributions

  A small collection yet, but I'm looking for more information.

  1. BOA - "Lightweight and High Performance WebServer. boa is a single-
     tasking HTTP server. That means that unlike traditional web
     servers, it does not fork for each incoming connection, nor does it
     fork many copies of itself to handle multiple connections. It
     internally multiplexes all of the ongoing HTTP connections, and
     forks only for CGI programs (which must be separate processes.)
     Preliminary tests show boa is capable of handling several hundred
     hits per second on a 100 MHz Pentium."

  2. MGR - a graphical windows system, which uses much less resources
     than X.

  3. Low Bandwidth X - Alan Cox in LINUX REDUX February 1998 " .. there
     are two that handle normal applications very nicely. LBX (Low
     Bandwidth X) is the official application of the X Consortium (now
     OpenGroup www.opengroup.org). Dxpc
     http://ccwf.cc.utexas.edu/~zvonler/dxpc
     <http://ccwf.cc.utexas.edu/~zvonler/dxpc> is the alternative most
     people prefer. These systems act as proxy X11 servers and compress
     datastreams by well over 50 percent for normal requests, often
     reaching a reduction to 25 percent of the original bandwidth usage.
     With dxpc, X windows applications are quite usable over a 28.8
     modem link or across the Internet."

  4. blackbox - "This is a window manager for X. It is similar in many
     respects to such popular packages as Window Maker, Enlightenment,
     and FVWM2. You might be interested in this package if you are tired
     of window managers that are a heavy drain on your system resources,
     but you still want an attractive and modern-looking interface."

  5. linux-lite - distribution based on a 1.x.x kernel for systems with
     only 2MB memory and 10MB harddisk. URL see above.

  6. smallLinux -  http://smalllinux.netpedia.net/
     <http://smalllinux.netpedia.net/> . Three disk micro-distribution
     of Linux and utilities. Based on kernel 1.2.11. Root disk is ext2
     format and has fdisk and mkfs.ext2 so that a harddisk install can
     be done. Useful to boot up on old machines with less than 4MB of
     RAM.

  7. cLIeNUX - client-use-oriented Linux distribution.

  8. minix - not a Linux but a UNIX useful for very small systems, such
     as 286 CPU and 640K RAM http://www.cs.vu.nl/~ast/minix.html
     <http://www.cs.vu.nl/~ast/minix.html> . There is even X support
     named mini-x by David I. Bell
     ftp://ftp.linux.org.uk/pub/linux/alan/
     <ftp://ftp.linux.org.uk/pub/linux/alan/> .
  9. screen - tiny but powerful console manager. John M. Fisk
     <fiskjm@ctrvax.vanderbilt.edu> in LINUX GAZETTE July 1, 1996 :"It's
     a GUI, GUI, GUI, GUI world! " - or so the major OS manufacturers
     would have you belief. Truth is, that while this is increasingly
     the case, there are times when the command line interface (CLI) is
     still a very good choice for getting things done. It's fast,
     generally efficient, and is a good choice on memory or CPU
     constrained machines. And don't forget that there are still a lot
     of very nifty things that can be done at the console." "screen is a
     full-screen window manager that multiplexes a physical terminal
     between several processes, typically interactive shells. Each
     virtual terminal provides the functions of the DEC VT100 terminal
     and, in addition, several control functions from the ANSI X3.64
     (ISO 6429) and ISO 2022 standards (e.g., insert/delete line and
     support for multiple character sets). Real multiuser support, split
     screen support, hardstatus emulation support, configurable window
     seperator and hardstatus strings, permanent window seperator, many
     new escapes, logfile timestamps and flush timeout, optional builtin
     telnet, optional Braille support, support for history compaction."

  10.
     tinyirc - "A tiny, stripped down IRC Client. Doesn't have most of
     the more advance commands in the ircII family of IRC Clients, nor
     does it have any color, but it works, and it's tiny."

  11.
     tinyproxy - "Tinyproxy is a lightweight HTTP proxy designed to do
     the job with a minimum of system resource use. It's ideal for small
     networks where a larger HTTP proxy such as squid might be overkill
     or a security risk. This simplicity also makes tinyproxy an ideal
     candidate for customization - it takes very little time to read and
     understand the tinyproxy source, and thus you can start adding your
     own desired features on short order."

  6.2.  Other Techniques

  NiCad batteries need to be discharged periodically to prevent the
  memory effect and prolong their lifespan.

  Batteries such as NiCad, Lead Acid, and NiMH contain TOXIC chemicals.
  Techniques should be taken to prolong their lifespan, and when you do
  discard them, they should be recycled, not thrown in the trash.

  One technology to watch is the "Iron" battery mentioned in the article
  at N.N. <http://news.excite.com/news/r/990815/01/science-battery-iron>
  . Such a battery could reduce some of the toxic waste problems
  associated with used batteries, however such a battery is probably a
  few years away.

  Some remarks about backlights in laptops, monitors (screensavers),
  harddisks (hdparm), etc. have to be written.

  6.3.  Other Operating Systems

  Courtesy of George White <gwhite@bodnext.bio.dfo.ca>:

  Or you can buy an older computer (SGI, Sun, NeXT) that comes with unix
  and is capable of running a wide range of open source software. In
  some cases (SGI Indigo2) you can still run current OS versions, in
  others you may do better with an open source OS such as Linux, but in
  either case you have access to lots of good software and tools to
  write your own.

  The lower power consumption of older computers means you get more
  reserve time from an UPS or can use a small alternative power source
  if you don't have access to "mains" power.

  7.  X10

  "X-10 modules are devices that plug into an electrical outlet and
  allow you to remotely control the power to a lamp or an appliance that
  is plugged into them. There are also X-10 modules that install in
  place of wall switches to control lights, and there's one that can be
  used to set back a thermostat."

  These X10 <http://www.x10.com> folks make a really cool dongle called
  the Firecracker. These allow for the control of X10 devices via a
  serial-port of your PC. Programs like bottlerocket and gtk-x10 allow
  Linux programs to control X10 devices using the Firecracker device.
  You may be able to get the Firecracker, a remote control,a receiver,
  and a lamp module for as little as $5.95 U.S. (special promotion).

  Turn that light off when not in use!

  8.  Uninterruptable Power Supply - UPS

  You should use a UPS if you have many thunderstorms in the area. That
  will save hardware, software, your time, and money, and help prevent
  you from throwing out that old monitor, CPU, or modem when it gets
  trashed by lightening. For details consult the UPS-HOWTO
  <http://metalab.unc.edu/LDP>.

  UPSs do save hardware, save work, etc. In areas prone to lightening,
  they could save hours of work each week, potentially translating into
  power savings. They do save hardware in areas prone to power outages.
  There is some concern over their additional usage of AC power. If
  anyone has any studies or research on this issue, could they please
  forward it to us? That would be an interesting question to post to
  APC, BEST, etc.

  9.  Games

  Personally I'm not much a player of computer games but probably they
  can be used for environmental education. In a first investigation I
  found lincity and Real Life, please check their usefulness by
  yourself.

  Overview at Linux Games Survey <http://www.pcisys.net/~futant138/> .

    lincity build & maintain a city/country. You are required to build
     and maintain a city. You must feed, house, provide jobs and goods
     for your residents. You can build a sustainable economy with the
     help of renewable energy and recycling, or you can go for broke and
     build rockets to escape from a pollution ridden and resource
     starved planet, it's up to you. Due to the finite resources
     available in any one place, this is not a game that you can leave
     for long periods of time. This game is similar to the commercial
     simulation game with a similar name. This package provides files
     common to both the X and SVGALIB versions of the game.

    Real Life <http://www.sunysb.edu/philosophy/RealLife.html> - "In
     Conway's Game of Life every cell is either fully alive (has the
     value of 1) or completely dead (has the value 0). In Real Life this
     restriction to bivalence is lifted to countenance -real-valued-
     degrees of life and death. Real Life contains Conway's Game of Life
     as a special case; however, Real Life, in contrast to Conway's Game
     of Life, exhibits sensitive dependence on initial conditions which
     is characteristic of chaotic systems."

  10.  Ecology Software (Simulation, Datacollection, Statistics, etc.)

  Though I know there is some MS-Windows based software which is used in
  ecological science (there is even a branch environmental informatic),
  I know only Ecolab available for Linux yet. But I guess Linux software
  (for instance databases or statistics programs) may easily adopted.
  Also it might be possible to use a Linux cluster to solve ecological
  simulations.

  10.1.  Ecolab

  Ecolab is both the name of a software package and a research project
  that is looking at the dynamics of evolution.
  http://parallel.acsu.unsw.edu.au/rks/ecolab.html
  <http://parallel.acsu.unsw.edu.au/rks/ecolab.html> EcoLab is a system
  that implements an abstract ecology model. It is written as a set of
  Tcl/Tk commands so that the model parameters can easily be changed on
  the fly by means of editing a script. The model itself is written in
  C++.

  10.2.  OpenClassroom

  "OpenClassroom - distribution for Education. Pre-alpha. homepage:
  OpenClassroom <http://www.openclassroom.org/> is integrating a package
  of software that allows educational and community organizations to
  create communities of knowledge by connecting their existing PCs (old
  or new) into a network, both local and worldwide, such as the
  Internet. A central focus of this initiative is to allow such
  organizations to extend the usable life of their equipment by bringing
  them state-of-the-art software that runs on their existing PCs. Our
  toolset allows organizations and citizens to own and operate their own
  digital printing press."

  10.3.  Tierra

  Tierra <http://www.hip.atr.co.jp/~ray/tierra/tierra.html> is a tool
  for studying digital evolution and ecology that runs on Linux and
  other OSes.

  10.4.  Linux in Environmental Research

  Courtesy of Wade W. Hampton: Linux is ideally suited for use as a
  research tool for environmental experiments. There are small embedded
  Linux solutions that can be used for remote monitoring or telemetry.
  There are VERY small Linux implementations from PC-104 systems to
  embedded systems like the uCsimm <http://www.uclinux.com>.  Linux even
  flew on the shuttle controlling biological experiments....  Linux has
  been used for weather research on NOAA's Hurricane Hunter aircraft.

  Linux is also an ideal platform for researching ecological and
  environmental information via the Internet using standard WWW-based
  tools like Netscape.

  Linux may even be used to model complex biological and environmental
  processes.  A (beowulf cluster <http://www.beowulf.org> could be used
  to run complex simulations of environmental processes, for example
  Earthdome <http://www.methaz.com/earthdome.htm>.
  11.  Related Projects, Mailing Lists and Newsgroups

    Though I searched the WWW, I couldn't find neither a dedicated
     newsgroup nor a mailing list yet. So I decided to create the Eco-
     Com mailing list. You can subscribe to this list via email. Write
     to eco_com-subscribe@listbot.com, and you will be sent a
     verification message.

    Repair FAQ <http://itp1.physik.tu-berlin.de/~schwarz/> .

    Obsolete Computer Helpline
     <http://www.ncsc.dni.us/fun/user/tcc/cmuseum/helpline/helpline.htm>
     .

    386 World <http://come.to/386> by Gaute Hvoslef Kvalnes
     <386@altavista.net> . He provides one of the greatest recources
     available on 386 computers and software. Though his work is mainly
     related to MS-Windows, he also supports Linux.

    "The Electronic Green Journal <http://www.lib.uidaho.edu>,
     published by the University of Idaho Library, is a professional,
     refereed publication devoted to disseminating information
     concerning sources on international environmental topics including:
     assessment, conservation, development, disposal, education,
     hazards, pollution, resources, technology, and treatment. We are
     academically sponsored; our focus, however, is to publish articles,
     bibliographies, reviews, and announcements for the educated
     generalist as well as the specialist. We welcome original
     contributions from authors on any of the above topics." . You may
     also find a survey about Environmental Resources on the World Wide
     Web there.

  12.  Credits

  Thanks to:

    Verena Lorenz-Meyer <lome@cs.tu-berlin.de>

    George White <gwhite@bodnext.bio.dfo.ca>

    Wade W. Hampton <whampton@staffnet.com>

    Daniel Pirone <cocteau@wact.net>

    Knut Suebert <ksueber@gwdg.de>

    Ben De Rydt <ben.de.rydt@pandora.be>

    Hanno Mueller <kontakt@hanno.de>

    Bernhard Reiter <bernhard@uwm.edu>

    Yan Wong <yan.wong@linacre.ox.ac.uk>

  13.  Revision History

    v0.1, 18 June 1999, first draft

    v0.2, 10 September 1999, changed <htmlurl ... > tag to <url ...>,
     another motto, added appendix B about MP3 player, created and added
     eco_com mailing list, added chapter about alternative power
     supplies, added recommendations for buying a new computer, improved
     screensaver section, added UPS chapter, added chapter about
     hardware design, minor changes

    v0.3, 17 September 1999, added information about Tierra, added
     information about wasting of resources during computer production,
     added some comments about UPS, minor changes

  14.  Copyright and Disclaimer

  Copyright  1999 by Werner Heuser. This document may be distributed
  under the terms set forth in the LDP license at COPYRIGHT
  <http://metalab.unc.edu/LDP/COPYRIGHT.html>.

  The information in this document is correct to the best of my
  knowledge, but there's a always a chance I've made some mistakes, so
  don't follow everything too blindly, especially if it seems wrong.
  Nothing here should have a detrimental effect on your computer, but
  just in case I take no responsibility for any damages incurred from
  the use of the information contained herein. All trademarks belong to
  their owners.

  15.  Appendix A - Linux with Laptops

  15.1.  Battery

  Has to be written. See LDP - Battery-HOWTO
  <http://metalab.unc.edu/LDP> by Hanno Mueller, too.

   apmd-rhcn-2.4phil-1 by RedHat ftp://rhcn.redhat.com/pub/rhcn/
  <ftp://rhcn.redhat.com/pub/rhcn/> contains an unofficial patch for
  shutting down the PCMCIA sockets before a suspend and patches for
  multiple batteries.

  15.2.  PCMCIA Card Services and Advanced Power Management

  Quoted from the LDP - PCMCIA-HOWTO  <http://metalab.unc.edu/LDP>:
  "Card Services can be compiled with support for APM (Advanced Power
  Management) if you've configured your kernel with APM support. ...
  The PCMCIA modules will automatically be configured for APM if a
  compatible version is detected on your system. Whether or not APM is
  configured, you can use cardctl suspend before suspending your laptop,
  and cardctl resume after resuming, to cleanly shut down and restart
  your PCMCIA cards. This will not work with a modem that is in use,
  because the serial driver isn't able to save and restore the modem
  operating parameters. APM seems to be unstable on some systems. If you
  experience trouble with APM and PCMCIA on your system, try to narrow
  down the problem to one package or the other before reporting a bug.
  Some drivers, notably the PCMCIA SCSI drivers, cannot recover from a
  suspend/resume cycle.  When using a PCMCIA SCSI card, always use
  cardctl eject prior to suspending the system."

  You should use the internal modem in a laptop instead of a PCMCIA
  modem, if possible (it may be a WinModem).

  15.3.  Power Saving Techniques

  1. If you don't need infrared support, disable it in the BIOS or
     shutdown the IrDA device driver. There are also some IrDA features
     of the kernel which are useful for saving power.
     In the specifications of my HP OmniBook 800 it is recommended to
     turn off the IR port, if it is not in use, because it may consume
     up to 10 percent of the battery time.

     If necessary, you may also try to disable the Fast RRs feature in
     the IrDA section of the kernel. This option will give you much
     better latencies but will consume more power.

  2. PCMCIA services consume much power, so shut them down if you don't
     need them.

  3. I'm not sure to which extend the backlight consumes power. WARNING:
     AFAIK this device can only bear a limited number of uptime circles.
     So avoid using screensavers AFAIK this device can only bear a
     limited number of uptime circles. So avoid using screensavers too
     much.

  4. For some examples to build batteries with increased uptime up to 8
     hours look at Adorable Toshiba Libretto
     http://www.cerfnet.com/~adorable/libretto.html
     <http://www.cerfnet.com/~adorable/libretto.html>.

  5. For information about APM look at the APM chapter above.

  6. A hacked rclock  <http://www-leland.stanford.edu/~bbense/toys/>.
     Booker C. Bense has hacked the rclock program to include a simple
     battery power meter on the clock face.

  7. xbatstat <http://www.jaist.ac.jp/~daisuke/Linux/xbatstat.html>. A
     battery level status checker for Linux and X.

  8. KDE http://www.kde.org <http://www.kde.org> provides KAPM, Kbatmon
     and Kcmlaptop. Written by Paul Campbell kcmlaptop is a set of KDE
     control panels that implements laptop computer support functions,
     it includes a dockable battery status monitor for laptops - in
     short a little icon in the KDE status bar that shows how much
     battery time you have left. It also will warn you when power is
     getting low and allows you to configure power saving options.

     Similar packages you may find at the GNOME project
     http://www.gnome.org/ <http://www.gnome.org/> . See the software
     maps at both sites.

  9. Please see Battery Powered Linux Mini-HOWTO by Hanno Mueller,
     hanno@lava.de http://www.lava.de/~hanno/
     <http://www.lava.de/~hanno/> for more information.

  10.
     toshiba-fan Turn the fan on a Toshiba Pentium laptop on or off.
     This is a command line utility to turn the fan of a Toshiba laptop
     on or off, or view its current state. It should work on all Toshiba
     Pentium laptops that have fans.

  16.  Appendix B - MP3-Hardware-Decoder at Parallel Port

  In the German computer magazine CT <http://www.heise.de/ct/> issue
  9/1999 p. 200 and 10/1999 p. 260 I found an article about turning an
  old PC (from 286 upward) into a MP3 player, by using a MP3-Hardware-
  Decoder at the parallel port. Authors Homepag <http://www.ieee.rwth-
  aachen.de/mp3/> .

  Also mentioned there, is a software by Klaus Peichl <http://cip8.e-
  technik.uni-erlangen.de:8080/hyplan/kspeichl/mpegcd.htm>, which
  doesn't need a hardware decoder.

  Though both programs are DOS based, I mention them here. I hadn't time
  to look for an according Linux solution.

  17.  Appendix C - Bibliography

    Ellringmann, H. /Hrsg.): Softwarefuehrer Umweltschutz. Anbieter -
     Produkte - Maerkte; 1999ff.

    Koellner, W. / Fichtler, W.: Recycling von Elektro- und
     Elektronikschrott; 1996

    Rohwedder, W.J. "Rocky" / Alm, Andy: Using Computers in
     Environmental Education; 1994

    Schloegl, M.:Recycling von Elektro- und Elektronikschrott; 1995

    Tiltmann, K.O. (Hrsg.): Recyclingpraxis Elektronik; 1994

    Andreas Grote: (be): Gruene Rechnung - Das Produkt Computer in der
     Oekobilanz - Report, Oekologie, Rohstoffverbrauch, Energieverbrauch
     und Schadstoff-Emissionen bei Herstellung, Betrieb und Entsorgung,
     EPA, Energy Star, Green-PC (c't 12/1994, Seite 92) CT
     <http://www.heise.de/ct/> .

  18.  Appendix D - Recommendations for Buying a New Computer

  Courtesy of Wade W. Hampton: Purchase a low-power computer such as a
  laptop or network computer. These typically don't use as much power as
  desktop systems. For example, someone on the WWW had a Corel/Rebel
  Netwinder powered by solar cells. I find it funny that an "Energy
  Star" desktop still has a 300W power supply and uses far more power
  than a computer like the Netwinder which uses something like 10 Watts
  of power. Maybe there should be a new class of computers called
  "Energy Miser" (or similar) that use nearly an order of magnitude less
  power than Energy Star systems?

  To save power for the display, one could purchase a LCD monitor
  instead of a CRT. LCD monitors consume 30-40 Watts of power versus the
  100's of Watts used by most monitors.  The price of an LCD is still
  2-3 times that of a similar monitor, but as LCDs become more widely
  used, the price will come down.

  Make sure that any new computer purchase includes APM-compliant
  hardware and low-radiation. Use TCO, DPMS or Energy Star compliant
  monitors.

  19.  Appendix E - Recommendations for a New Environmentally Friendly
  Hardware Design

  Courtesy of Wade W. Hampton and Knut Suebert: New hardware designs
  that plan to use Linux should take advantage of environmentally
  friendly technologies such as low-power CPUs e.g., the ARM from: Intel
  <http://developer.intel.com/design/strong/>, environmentally friendly
  battery design, low-power displays (e.g., non-backlit LCDs), smaller
  packaging, etc.  Linux supports a WIDE variety of hardware and
  technologies. These could be leveraged into powerful, flexible,
  environmentally friendly Linux-based solutions.

  An "Environmental Rating" could be created for new Linux-based
  hardware and even some Linux-based software such as bottlerocket
  (X10). Devices such as the Netwinder or the uCsimm would receive high
  ratings for their size, power consumption, capabilities, etc.
  At Telepolis
  <http://www.telepolis.de/tp/deutsch/inhalt/te/1367/1.html> you might
  find an article about wasted resources during computer manufacturing.

  Generally speaking PPC CPUs consume less power than x86 CPUs.

  20.  Appendix F - Computer Related Eco Labels

  Currently I have only this small list: TCO, DPMS or Energy Star
  "Blauer Engel" (Germany).

