Linux Ecology HOWTO <author> Werner Heuser, <htmlurl url="mailto:wehe@snafu.de" name="< wehe@snafu.de >"> Wade W. Hampton <htmlurl url="mailto:whampton@staffnet.com" name="<whampton@staffnet.com>"> </author> <date>v0.3, 17 September 1999 <abstract> 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 ecological processes. </abstract> <toc> <p> <sect>Introduction <p> Life is the first gift, love is the second, and understanding is the third. -- <url url="http://www.capecod.net/˜tmpiercy/" name="Marge Piercy"> <p> 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: <itemize> <item> Reduction in power consumption. <item> Reduction in consumables like paper and inks. <item> Reduction in waste by reusing older components or keeping them in service longer. <item> Reduction in toxic waste such as used batteries. <item> Use of Linux in environmental education and research. </itemize> <p> If I didn't provide an URL for a package, you may get the package from <url url="http://www.debian.org" name="Debian"> or as a RPM package, from your favorite RPM server, for instance <url url="http://rufus.w3.org/linux/RPM/ByName.html" name="Rufus">. <p> Some parts are modified chapters from my Laptop-HOWTO and my IR-HOWTO <url url="http://www.snafu.de/˜wehe/index_li.html" name="http://www.snafu.de/˜wehe/index_li.html">. <p> The document is intended to be included in the <url url="http://metalab.unc.edu/LDP" name="LINUX DOCUMENTATION PROJECT">. 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. <p> The latest version of this document is available at <url url="http://www.snafu.de/˜wehe/index_li.html" name="LiLAC"> . 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. <p> Werner Heuser <htmlurl url ="mailto:wehe@snafu.de" name="<wehe@snafu.de>"> <sect>Reduction of Power Consumption <p> 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. <sect1>Advanced Power Managment (APM/ACPI) <p> <sect2>Linux Compatibility Check <p> From the Battery-Powered-mini-HOWTO &dquot; .. 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.&dquot; You may get information about the APM version with the <tt>dmesg</tt> command and in the <file>/proc/apm</file> file. <sect2>Introduction <p> 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. <p> APM support consists of two parts: <it>kernel</it> support and <it>user-land</it> support. <p> For <it>kernel</it> support, enable the parameters in the corresponding kernel section. AFAIK not all features work with laptops. AFAIK the feature <tt>CONFIG_APM_POWER_OFF</tt> works with most laptops. <p> The utilities for <it>userland</it> support may be found at <url url="http://worldvisions.ca/˜apenwarr/apmd/" name="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 <it>hibernate</it> 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 <tt>apmd</tt>, and I still don't like it, because: <itemize> <item> Only supports one command to run at suspend time. <item> Doesn't distinguish between user and system suspends. <item>doesn't provide a way to disable policy (the <tt>sync()</tt>; <tt>sleep(0) </tt>; <tt>sync()</tt>; <tt>sleep(1)</tt>; sequence) <item> Does not document extra features. <item> 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. </itemize> Though this topic was discussed controversly Richard Gooch has put together a package <tt>suspendd</tt> at <url url="http://www.atnf.csiro.au/˜rgooch/linux/" name="http://www.atnf.csiro.au/˜rgooch/linux/"> . Also, have a look at <tt>apmcd</tt> (<tt>apm</tt> based crontab) at <url url="ftp.binary9.net/pub/linux/apmcd-1.15.tar.gz" name=" ftp.binary9.net/pub/linux/apmcd-1.15.tar.gz"> . A tool made by Nicolas J. Leon <nicholas@binary9.net> <url url="http://mrnick.binary9.net/" name=" http://mrnick.binary9.net/">. Note: I didn't check wether this features are merged into one package (<tt>apmd</tt> eventually) already. <sect2>Caveats <p> If you have another operating system preinstalled or use another operating system at the same disk, make sure there is no &dquot;hibernation&dquot; or &dquot;suspend&dquot; tool installed, which could severely interfere with Linux, e.g. it might use disk space which is occupied by Linux or vice versa. <sect2>Troubleshooting <p> 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 : &dquot;The default changed in 2.2. Search in the init-scripts for <tt>halt</tt> and change it to <tt>halt -p</tt> or <tt>poweroff</tt>. See <tt>man halt</tt> , if you don't have this option you need a newer version of <tt>halt</tt>.&dquot; You may find it in the <tt>SysVinit</tt> package. <p> 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 <tt>apm -s</tt>. Folks with this affliction might want switch to the console virtual terminal then suspend <tt>chvt 1; apm -s</tt> as root, or, more appropiately.<tt>sudo chvt 1; sudo apm -s</tt>. I have these commands in a script, say, <tt>my-suspend</tt> and then do <tt>xapmload --click-command my-suspend</tt> . <p> On some new machines (for instance HP Omnibook 4150 - 366 MHz model) when accessing <file>/proc/apm</file>, you may get a kernel fault <tt>general protection fault: f000</tt>. Stephen Rothwell <Stephen.Rothwell@canb.auug.org.au> <url url="http://www.canb.auug.org.au/˜sfr/" name="http://www.canb.auug.org.au/˜sfr/"> explaines: &dquot;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.&dquot; <sect2>ACPI <p> 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 <url url="http://phobos.fachschaften.tu-muenchen.de/acpi/" name="http://phobos.fachschaften.tu-muenchen.de/acpi/"> . <sect1>Power Saving Techniques <p> 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. <p> Most Linux-users tend to leave their computer on for years whenever possible. However, several modern BIOS's support an unattended powerup, and with <tt>cron</tt> you can even do an unattended <tt>shutdown</tt>. No need to leave the computer on night after night. <enum> <item> <url url="ftp://tsx-11.mit.edu/pub/linux/sources/sbin/hdparm-3.0.tar.gz" name="hdparm"> <it>hdparm</it> is a Linux IDE disk utility that lets you set spin-down timeouts and other disk parameters. It works also for some SCSI features. <item> <url url="http://www.complang.tuwien.ac.at/ulrich/linux/tips.html" name="Mobile Update Daemon "> This is a drop-in replacement for the standard <tt>update</tt> daemon, <tt>mobile-update</tt> 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 <tt>sync</tt> manually. Otherwise files may be lost on power failure. <tt>mobile-update</tt> does not use APM. So it works also on older systems. <item> <url url="http://www2.prestel.co.uk/hex/toshiba.html" name="Toshiba Linux Utilities "> 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 <it>Klibreta</it>, too. <item> <url url="http://lcdproc.omnipotent.net/" name="LCDproc"> . &dquot;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 <url url="http://www.matrix-orbital.com/" name="Matrix-Orbital">, which is a LCD display connected to a serial port. <item> <url url="http://www.loonie.net/˜eschenk/diald.html" name="Dial Daemon"> . 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. </enum> <sect1>Turn Monitor off, use Keyboard LEDs <p> There are some tools which allow to get information from your computer without using the monitor: <itemize> <item> <tt>bl</tt> : Blink Keyboard LEDs <item> <tt>blinkd</tt> : &dquot;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.&dquot; <item> <tt>mailleds</tt> : Shows new mails with the keyboard LEDs, <tt>mailleds</tt> is a quiet, unobtrusive way to signify that you have new mail: a user daemon to blink LEDs when there is new mail. <item> <tt>tleds</tt> : 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. </itemize> <sect1>Screensavers <p> Do they only prevent the screen from being burned in or do they save power, too? <p> Some recommendations from Wade W. Hampton: <p> 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 <tt>dpms</tt> option of <tt>xset</tt> (see the manual page for <tt>xset</tt>). For example, to enable the DPMS (Energy Star) features of you X server: <tt>xset +dpms</tt> You may also manually change the mode of your X display: <code> xset dpms force standby xset dpms force suspend xset dpms force off </code> <p> Some screen saver programs: <itemize> <item> The purpose of <tt>xscreensaver</tt> 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 <tt>xlock</tt> and <tt>xautolock</tt> 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. <item> <tt>LockVC</tt> 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. </itemize> <sect>Alternative Power Supplies - Sun, Wind, Water <p> See a survey of links at <url url="http://www.eklektix.com/solar" name="Eklektix"> . <sect>Noise Reduction <p> Most of the noise emitted by a computer is produced by the fan, the harddisk and the speakers. <sect1>Fan <p> <itemize> <item> <tt>libsensors0</tt> Library to read temperature/voltage/fan sensors <item> <tt>lm-sensors</tt> &dquot;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.&dquot; <url url="http://www.lm-sensors.nu/" name="http://www.lm-sensors.nu/"> <item> ACPI, see APM chapter </itemize> <sect1>Harddisk <p> See <tt>man hdparm</tt> . <sect1>Speakers <p> Has to be written. PCMCIA-HOWTO, &dquot;Speakerrektomie&dquot; <sect>Saving Consumables (Paper, Ink, etc.) <p> <sect1>Printing of Drafts / Multiple Pages on One Sheet of Paper <p> Use <tt>psutils</tt> 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. <p> Often HTML pages are not optimised for printing. You may use <tt>html2ps</tt>, a HTML to PostScript converter, to print HTML pages. &dquot;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.&dquot; <p> Or you may use <tt>mpage</tt> 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. <sect1>Reading From the Monitor Instead From Paper <p> Or use <tt>less</tt>/<tt>xless</tt>/<tt>gless</tt> as a viewer instead of printing. You can view postscript documments with <tt>gs</tt> and view PDF documents with either <tt>xpdf</tt> or <tt>acroread</tt> (from <url url="http://www.adobe.com" name="Adobe">). Ask yourself, do you --really-- need a hardcopy each time you decide to print something out. <p> What are the reasons why people don't read from the monitor: <itemize> <item> Reading is slower up to 30 percent, see <url url="http://www.useit.com/alertbox/9602.html" name="N.N.">. 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). <item> 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. </itemize> <sect1>Other Techniques <p> 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 &dquot;final&dquot; or in &dquot;final draft&dquot; status. <p> 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. <p> 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&dquot; CRT monitor is 2-3 times the size of the box for a 15&dquot; LCD monitor. Linux works well with 15&dquot; LCD monitors on smaller computers like the Netwinder or <url url="http://www.thinworks.com/campaign/try_e3000.html" name="E3000"> . <p> 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. <p> Does anyone know of studies or additional research to help clarify and resolve this issue? <p> Recycle your used paper, ink, and packing materials. <p> You may use refillable printer cartridges. In Germany the are marked with the "Blauer Engel" lable. <p> Laser printer cartridges can often be used much more longer if you shake them when the message "toner low" appears at the message panel. <p> Wade W. Hampton provided the biggest part of this chapter. <sect>Extending the Life Cycle of your Hardware <p> <sect1>Recycling of Hardware <p> 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. <p> Hence Linux doesn't require big hardware, it's very useful if you like or need to use old and small hardware. <sect2>Supported CPU Families <p> 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 <url url="http://www.linux.org.uk/ELKS-Home/index.html" name="http://www.linux.org.uk/ELKS-Home/index.html"> or <url url="http://www.elks.ecs.soton.ac.uk/" name="http://www.elks.ecs.soton.ac.uk/">. If you like, you may use <url url="http://www.cs.vu.nl/˜ast/minix.html" name="Minix"> 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 <url url="http://www.cl.cam.ac.uk/users/iwj10/linux-faq/" name="Linux FAQ"> . The ARM is a fast AND low-power alternative. For example, the Corel/Rebel Netwinder is based on the ARM processor see <url url="http://www.rebel.com" name="Rebel"> and <url url="http://developer.intel.com/design/strong/" name="Strong-ARM">. <sect2>Dealing with Limited Resources or Tuning the System <p> This chapter is taken from my Laptop-HOWTO. <sect3>Related HOWTOs <p> <enum> <item> LBX-HOWTO <item> Small-Memory-HOWTO </enum> <sect3>Introduction <p> To deal with limited space, memory, CPU speed and battery power, I have written this chapter. <sect3>Small Space <p> <sect4>Introduction <p> 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. <sect4>Techniques <p> <enum> <item> Stripping: Though many distributions come with stripped binaries today it is useful to check this. For details see <tt>man strip</tt>. To find every unstripped file you can use the <tt>file</tt> command or more convenient the tool <tt>findstrip</tt>. Attention: don't strip libraries, sometimes the wrong symbols are removed due to a bad programming technique.</item> <item> Perforation: <tt>zum(1)</tt>reads a file list on stdin and attempts to perforate these files. Perforation means, that series of null bytes are replaced by <tt>lseek</tt>, thus giving the file system a chance of not allocating real disk space for those bytes. Example: <tt>find . -type f | xargs zum</tt> </item> <item> 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 <tt>patch</tt> recovery files. Find duplicates, you may try <tt>finddup</tt>. Choose a system to name your backup, temporary and test files, e.g. with a signature at the end. <item>Clean Temporary Files: , e.g. <file>/tmp</file>, there is even a tool <tt>tmpwatch</tt>. <item>Shorten the Log Files: usually the files in <file>/var/log</file>. There are some nice helpers for this task around, e.g. <tt>savelog</tt> . <item> Remove Files: Remove files which are not &dquot;necessary&dquot; under all circumstances such as man pages, documentation <file>/usr/doc</file> and sources e.g. <file>/usr/src</file> . <item> Unnecessary Libraries: You may use the <tt>binstats</tt> package to find unused libraries (Thanks to Tom Ed White). <item> Filesystem: Choose a filesystem which treats disk space economically e.g. <tt>rsfs</tt> aka Reiser Filesystem. Tune your filesystem e.g. <tt>tune2fs</tt>. Choose an appropriate partition and block size. </item> <item> Reduce Kernel Size: Either by using only the necessary kernel features and/or making a compressed kernel image <tt>bzImage</tt>. </item> <item> Compression: I didn't check this but AFAIK you may compress your filesystem with <tt>gzip</tt> and decompress it on the fly. Alternatively you may choose to compress only certain files. You can even execute compressed files with <tt>zexec</tt></item> <item> Compressed Filesystems: <p> - For e2fs filesystems there is a compression version available <tt>e2compr</tt> , see <url url="http://debs.fuller.edu/e2compr/" name="http://debs.fuller.edu/e2compr/"> . <p> - 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 <url url="http://fb9nt-ln.uni-duisburg.de/mitarbeiter/gockel/software/dmsdos/" name="http://fb9nt-ln.uni-duisburg.de/mitarbeiter/gockel/software/dmsdos/"> .</item> <item> Partition Sharing: You may share swap-space (see Swap-Space-HOWTO) or data partitions between different OS (see <tt>mount</tt>). For mounting MS-DOS Windows95 compressed drives (doublespace, drivespace) you may use <tt>dmsdos</tt> <url url="http://metalab.unc.edu/pub/Linux/system/filesystems/dosfs/" name=" http://metalab.unc.edu/pub/Linux/system/filesystems/dosfs/">.</item> <item> Libraries: Take another (older) library, for instance <tt>libc5</tt> , this library seems to be smaller than <tt>libc6</tt> aka <tt>glibc2</tt> . <item> Kernel: If your needs are fitted with an older kernel version, you can save some space. <item> GUI: Avoid as much Graphical User Interface (GUI) as possible. <item>Tiny Distributions: There are some distributions available which fit from one 3.5&dquot; floppy to 10MB disk space and fit for small memories, too. See Laptop-HOWTO <url url="http://www.snafu.de/˜wehe/index_li.html" name="http://www.snafu.de/˜wehe/index_li.html"> </enum> <sect3>Harddisk Speed <p> Use the tool <tt>hdparm</tt> to set up better harddisk performance. Though I have seen laptop disk enabled with <it>striping</it>, I can't see a reason to do so, because IMHO aka RAID0 striping needs at least to different disks to increase performance. <sect3>Small Memory <p> <sect4>Related HOWTOs <p> <enum> <item> Small-Memory-mini-HOWTO by Todd Burgess <tburgess@uoguelph.ca > <url url="http://eddie.cis.uoguelph.ca/˜tburgess" name=" http://eddie.cis.uoguelph.ca/˜tburgess"> <item> Modules-mini-HOWTO <item> Kerneld-mini-HOWTO </enum> <sect4>Techniques <p> Check the memory usage with <tt>free</tt> and <tt>top</tt>. <url url="http://www.complang.tuwien.ac.at/ulrich/mergemem/" name="Mergemem Project ">. Many programs contain <it>memory areas of the same content</it> 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 <tt>mergemem</tt> such areas are detected and shared. The sharing is performed on the operating system level and is invisible to the user level programs. <tt>mergemem</tt> 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 <it>kernel size</it> 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 <it>daemon</it> which is not needed, e.g. <tt>lpd</tt>, <tt>mountd</tt>, <tt>nfsd</tt> and close some <it>virtual consoles</it>. Please see Small-Memory-mini-HOWTO for details. And of coarse use <it>swap space</it>, when possible. If possible you may use the resources of another machine, for instance with X, VNC or even <tt>telnet</tt>. For more information on Virtual Network Computing (VNC), see <url url="http://www.uk.research.att.com/vnc" name="http://http://www.uk.research.att.com/vnc/"> . <sect3>Low CPU Speed <p> 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 <url url="http://www.cerfnet.com/˜adorable/libretto.html" name="http://www.cerfnet.com/˜adorable/libretto.html">. <sect3>Tiny Applications and Distributions <p> A small collection yet, but I'm looking for more information. <enum> <item> BOA - &dquot;Lightweight and High Performance WebServer. <tt>boa</tt> 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.&dquot; <item> MGR - a graphical windows system, which uses much less resources than X. <item> Low Bandwidth X - Alan Cox in LINUX REDUX February 1998 &dquot; .. there are two that handle <it>normal</it> applications very nicely. LBX (Low Bandwidth X) is the <it>official</it> application of the X Consortium (now OpenGroup www.opengroup.org). Dxpc <url url="http://ccwf.cc.utexas.edu/˜zvonler/dxpc" name="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.&dquot; <item> blackbox - &dquot;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.&dquot; <item> linux-lite - distribution based on a 1.x.x kernel for systems with only 2MB memory and 10MB harddisk. URL see above. <item> smallLinux - <url url ="http://smalllinux.netpedia.net/" name=" 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 <tt>fdisk</tt> and <tt>mkfs.ext2</tt> so that a harddisk install can be done. Useful to boot up on old machines with less than 4MB of RAM. <item> cLIeNUX - client-use-oriented Linux distribution. <item> minix - not a Linux but a UNIX useful for very small systems, such as 286 CPU and 640K RAM <url url="http://www.cs.vu.nl/˜ast/minix.html" name="http://www.cs.vu.nl/˜ast/minix.html"> . There is even X support named mini-x by David I. Bell <url url="ftp://ftp.linux.org.uk/pub/linux/alan/" name="ftp://ftp.linux.org.uk/pub/linux/alan/"> . <item> <tt>screen</tt> - tiny but powerful console manager. John M. Fisk <fiskjm@ctrvax.vanderbilt.edu> in LINUX GAZETTE July 1, 1996 :&dquot;It's a GUI, GUI, GUI, GUI world! &dquot; - 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 <it>at the console</it>.&dquot; &dquot;<tt>screen</tt> 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.&dquot; <item> tinyirc - &dquot;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.&dquot; <item> tinyproxy - &dquot;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.&dquot; </enum> <sect1>Other Techniques <p> 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 &dquot;Iron&dquot; battery mentioned in the article at <url url="http://news.excite.com/news/r/990815/01/science-battery-iron" name="N.N."> . 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. <sect1>Other Operating Systems <p> 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 &dquot;mains&dquot; power. <sect>X10 <p> &dquot;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.&dquot; These <url url="http://www.x10.com" name="X10"> 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 <tt>bottlerocket</tt> and <tt>gtk-x10</tt> 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! <sect>Uninterruptable Power Supply - UPS <p> 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 <url url="http://metalab.unc.edu/LDP" name="UPS-HOWTO">. <p> 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. <sect>Games <p> 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 <tt>lincity</tt> and <tt>Real Life</tt>, please check their usefulness by yourself. Overview at <url url="http://www.pcisys.net/˜futant138/" name="Linux Games Survey"> . <itemize> <item> <tt>lincity</tt> 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. <item> <url url="http://www.sunysb.edu/philosophy/RealLife.html" name="Real Life"> - &dquot;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.&dquot; </itemize> <sect>Ecology Software (Simulation, Datacollection, Statistics, etc.) <p> 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 <it>Ecolab</it> 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. <sect1>Ecolab <p> Ecolab is both the name of a software package and a research project that is looking at the dynamics of evolution. <url url="http://parallel.acsu.unsw.edu.au/rks/ecolab.html" name="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++. <sect1>OpenClassroom <p> &dquot;OpenClassroom - distribution for Education. Pre-alpha. homepage: <url url="http://www.openclassroom.org/" name="OpenClassroom"> 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.&dquot; <sect1>Tierra <p> <url url="http://www.hip.atr.co.jp/˜ray/tierra/tierra.html" name="Tierra"> is a tool for studying digital evolution and ecology that runs on Linux and other OSes. <sect1>Linux in Environmental Research <p> 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 <url url="http://www.uclinux.com" name="uCsimm">. 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 (<url url="http://www.beowulf.org" name="beowulf cluster"> could be used to run complex simulations of environmental processes, for example <url url="http://www.methaz.com/earthdome.htm" name="Earthdome">. <sect>Related Projects, Mailing Lists and Newsgroups <p> <itemize> <item> 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. <item> <url url="http://itp1.physik.tu-berlin.de/˜schwarz/" name="Repair FAQ"> . <item> <url url="http://www.ncsc.dni.us/fun/user/tcc/cmuseum/helpline/helpline.htm" name="Obsolete Computer Helpline"> . <item> <url url="http://come.to/386" name="386 World"> 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. <item> &dquot;The <url url="http://www.lib.uidaho.edu" name="Electronic Green Journal">, 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.&dquot; . You may also find a survey about Environmental Resources on the World Wide Web there. </itemize> <sect>Credits <p> Thanks to: <itemize> <item>Verena Lorenz-Meyer <lome@cs.tu-berlin.de> <item>George White <gwhite@bodnext.bio.dfo.ca> <item>Wade W. Hampton <whampton@staffnet.com> <item>Daniel Pirone <cocteau@wact.net> <item>Knut Suebert <ksueber@gwdg.de> <item>Ben De Rydt <ben.de.rydt@pandora.be> <item>Hanno Mueller <kontakt@hanno.de> <item>Bernhard Reiter <bernhard@uwm.edu> <item>Yan Wong <yan.wong@linacre.ox.ac.uk> </itemize> <sect>Revision History <p> <itemize> <item>v0.1, 18 June 1999, first draft <item>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 <item>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 </itemize> <sect>Copyright and Disclaimer <p> Copyright © 1999 by Werner Heuser. This document may be distributed under the terms set forth in the LDP license at <url url="http://metalab.unc.edu/LDP/COPYRIGHT.html" name="COPYRIGHT">. <p> 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. <sect>Appendix A - Linux with Laptops <p> <sect1>Battery <p> Has to be written. See <url url="http://metalab.unc.edu/LDP" name="LDP - Battery-HOWTO"> by Hanno Mueller, too. <p> <tt> apmd-rhcn-2.4phil-1</tt> by RedHat <url url="ftp://rhcn.redhat.com/pub/rhcn/" name="ftp://rhcn.redhat.com/pub/rhcn/"> contains an unofficial patch for shutting down the PCMCIA sockets before a suspend and patches for multiple batteries. <sect1>PCMCIA Card Services and Advanced Power Management <p> Quoted from the <url url="http://metalab.unc.edu/LDP" name="LDP - PCMCIA-HOWTO ">: "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 <tt>cardctl suspend</tt> before suspending your laptop, and <tt>cardctl resume</tt> 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 <tt>cardctl eject</tt> prior to suspending the system." <p> You should use the internal modem in a laptop instead of a PCMCIA modem, if possible (it may be a WinModem). <sect1>Power Saving Techniques <p> <enum> <item> 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 <tt>Fast RRs</tt> feature in the IrDA section of the kernel. This option will give you much better latencies but will consume more power. <item> PCMCIA services consume much power, so shut them down if you don't need them. <item> I'm not sure to which extend the <it>backlight</it> 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. <item> For some examples to build batteries with increased uptime up to 8 hours look at Adorable Toshiba Libretto <url url="http://www.cerfnet.com/˜adorable/libretto.html" name="http://www.cerfnet.com/˜adorable/libretto.html">. <item> For information about APM look at the APM chapter above. <item> <url url="http://www-leland.stanford.edu/˜bbense/toys/" name="A hacked rclock ">. Booker C. Bense has hacked the <it>rclock</it> program to include a simple battery power meter on the clock face. <item> <url url="http://www.jaist.ac.jp/˜daisuke/Linux/xbatstat.html" name="xbatstat">. A battery level status checker for Linux and X. <item> KDE <url url="http://www.kde.org" name="http://www.kde.org"> provides <it>KAPM</it>, <it>Kbatmon</it> and <it>Kcmlaptop</it>. Written by Paul Campbell <it>kcmlaptop</it> 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 <url url="http://www.gnome.org/" name=" http://www.gnome.org/"> . See the software maps at both sites. <item> Please see Battery Powered Linux Mini-HOWTO by Hanno Mueller, hanno@lava.de <url url="http://www.lava.de/˜hanno/" name="http://www.lava.de/˜hanno/"> for more information. <item> <tt>toshiba-fan</tt> 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. </enum> <sect>Appendix B - MP3-Hardware-Decoder at Parallel Port <p> In the German computer magazine <url url="http://www.heise.de/ct/" name="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. <url url="http://www.ieee.rwth-aachen.de/mp3/" name="Authors Homepag"> . <p> Also mentioned there, is a software by <url url="http://cip8.e-technik.uni-erlangen.de:8080/hyplan/kspeichl/mpegcd.htm" name="Klaus Peichl">, which doesn't need a hardware decoder. <p> Though both programs are DOS based, I mention them here. I hadn't time to look for an according Linux solution. <sect>Appendix C - Bibliography <p> <itemize> <item>Ellringmann, H. /Hrsg.): Softwarefuehrer Umweltschutz. Anbieter - Produkte - Maerkte; 1999ff. <item>Koellner, W. / Fichtler, W.: Recycling von Elektro- und Elektronikschrott; 1996 <item>Rohwedder, W.J. &dquot;Rocky&dquot; / Alm, Andy: Using Computers in Environmental Education; 1994 <item>Schloegl, M.:Recycling von Elektro- und Elektronikschrott; 1995 <item>Tiltmann, K.O. (Hrsg.): Recyclingpraxis Elektronik; 1994 <item>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) <url url="http://www.heise.de/ct/" name="CT"> . </itemize> <sect>Appendix D - Recommendations for Buying a New Computer <p> 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 &dquot;Energy Star&dquot; 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 &dquot;Energy Miser&dquot; (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. <sect>Appendix E - Recommendations for a New Environmentally Friendly Hardware Design <p> 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: <url url="http://developer.intel.com/design/strong/" name="Intel">, 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 &dquot;Environmental Rating&dquot; could be created for new Linux-based hardware and even some Linux-based software such as <tt>bottlerocket</tt> (X10). Devices such as the Netwinder or the uCsimm would receive high ratings for their size, power consumption, capabilities, etc. At <url url="http://www.telepolis.de/tp/deutsch/inhalt/te/1367/1.html" name="Telepolis"> you might find an article about wasted resources during computer manufacturing. Generally speaking PPC CPUs consume less power than x86 CPUs. <sect>Appendix F - Computer Related Eco Labels <p> Currently I have only this small list: TCO, DPMS or Energy Star "Blauer Engel" (Germany). </article>