Curriculum vitae (PDF)
   Publication list
   TeX & LaTeX
   MultiMedia SPL
   My alumni ITS page
   Swiss Train Schedules
Created by XEmacs
Valid HTML 4.0!

Linux resources

This is a brief collection of some Linux resources and some of my experiences. I've put them on the web hoping that it will be useful to somebody. Any suggestions are welcome!

Note that I have not been able to maintain this page since March 2004, so its content might be outdated.

RedHat Linux 9 on the Dell Inspiron 8500

I recently upgraded my laptop to a Dell Inspiron 8500 and I have also made a page detailing the installation of Linux on this laptop, which you can find here.

Linux on the HP OmniBook 4150

I use Linux mostly on my laptop, an HP OmniBook 4150. I have made a recollection of my setup with this computer, which you can find here.

My Linux software

Some of my modest creations for Linux. Any feedback welcome.

iflinkmon v0.3
NOTE: I have abandoned this package since now there if the much superior ifplugd utility (see below for RPMs).
A simple daemon and helper scripts that periodically checks the link status of a LAN interface and automatically unconfigures/reconfigures the interface routes (it can easily be adjusted to take other actions). Useful for laptops to avoid blocked connections when the network cable is unplugged. I start iflinkmon in the /sbin/ifup-local script and stop it if the /sbin/ifdown-pre-local script. Get the source, RedHat 7.2 RPM or source RPM.
epsbboxfit v0.1
A perl script that sets the bounding box of an Encapsulated PostsScript file to tightly fit the drawing, with an optional margin. Can do in-place modification or output new files. Requires ghostscript.
Nautilus 2.2.x scripts
The nautilus file manager can use scripts to perform actions on the selected files, which can be very handy. Below are some of my scripts, use them as you like. Unpack any of the following set of scripts in your .gnome2/nautilus-scripts directory and they will appear in the context menu. You can find more scripts at http://g-scripts.sourceforge.net/.
  • PDF conversion: convert PS to PDF and optimize PDF.
  • Printing: send file to printer, prompts for printer in dialog, processes text files through enscript.
  • JPEG manipulation: allows to convert JPEG files (make progressive, rotate, etc.) and autorotate JPEG-EXIF files (autorotate requires patched libjpeg tools below).
  • Image manipulation: scale images (prompts for scale factor).
  • Miscellaneous: open terminal here, touch files, toggle "view hidden files".

Packaged / patched Linux software

I have made RPMs of some software which I find useful but is not included in RedHat's distribution and I have not found elsewhere, or to which I have added some patches. Note also that much software can be obtained in RPM form from sites such as http://freshrpms.net/ and http://dag.wieers.com/home-made/apt/.

libjpeg with EXIF support in tools
The jpegtran tool included with libjpeg is a very handy tool for doing simple manipulations of JPEG images, such as rotation by 90 degrees. However, the regular jpegtran does not correctly support the EXIF variety of JPEG files and somewhat corrupts the EXIF data that is included by many digital cameras. I have patched jpegtran to correctly support EXIF files (see man page) and added basic EXIF reporting to rdjpgcom (another tool of libjpeg). In particular, this support allows to use scripts to automatically rotate pictures according to EXIF data, as done in my JPEG nautilus scripts above. The patched RPMS are: Note that the library code is not modified, so there are no compatibility problems for programs using the library. The patches have been submitted to RedHat as bug 106060.
The ifplugd daemon will monitor the status of a network card and start or stop the interface (i.e., call ifup or ifdown) whenever the network cable is plugged or unplugged. This is extremely useful for laptops that have integrated network cards but are not always plugged to the network. It also works with wireless LAN cards, instead of relying on cable status it checks for an available access point. You will also require the libdaemon package. Note that the network interfaces that are to be managed by ifplugd (eth0 by default) need to be configured so that they do not automatically start when the computer is started (on RedHat Linux 9 uncheck the "Activate device when computer starts" option in the configuration dialog of the interface).
These are the extra gnome-pilot conduits: memo, mal (AvantGo), time, sendmail and expense. This package is not included in RedHat 8.0, so I made an RPM for it. Get the RedHat 8.0 RPM or source RPM.
autofs v4
This is the Linux automount daemon. Version 4 allows to do Sun style /net mounts and, more generally, multimounts. Unfortunately RedHat is still shipping version 3, so I have packaged the latest version of autofs v4 with the applicable RedHat autofs-3.1.7-28 patches, plus some patches of my own. Get the RedHat 7.2 RPM or source RPM.

If you would like to have autofs v4 included in RedHat add a comment to bugzilla entry #57022. Note however that I did experience some problems with autofs v4 (occasionally the actual mount occured too late and I was getting "no such file" error messages on the first attempt), so I'm now using the less performant am-utils (aka amd) package for /net style mounts, since I only use it for non-critical stuff.

XFree86 with XVideo on neomagic
XVideo support for neomagic chipsets has been added to XFree86 in version 4.3.0. I have backported this driver to XFree86 4.2.0 and it works very nicely. To use it, download the binary driver below to the XFree86 driver directory (usually /usr/X11R6/lib/modules/drivers/), uncompress it and rename it as neomagic_drv.o. It should work on any XFree86 4.x release, but backup the original driver just in case. Restart the X server and you have XVideo support. This is an updated version of the driver I made available before Oct-24-2002 that works correctly on external screens as well as the internal LCD.

Update 14-Jan-2003: I have received reports that this driver does not work with XFree86 4.1.x due to unresolved symbols. Apparently the ABI has changed between 4.1.x and 4.3.x.

One useful option (undocumented) to add in the "Device" section is "OverlayMem". It reserves memory for the video overlay. For example (where 829440 = 720x576x2):

Option "OverlayMem" "829440"
See these messages for more info: Reserve memory for Overlay and XVideo for NM2360. Note that memory reserved for the video overlay is unavailable for other 2D stuff.

Note:The XFree86 package in RedHat 8.0 has a Neomagic XVideo patch already included, so no special driver is required. However, that support is incomplete and XVideo does not show on the external monitor due to incorrect video timings. Use the above driver to solve the problem.

Other useful Linux/Unix software

  • Unison File Synchronizer: a very nice multiplatform bi-directional file synchronizer. I use it to keep my office HOME account and laptop file in sync.
  • Valgrind: an excellent C/C++ memory debugger for x86 Linux.
  • mkfontalias.py: A script, by Roman Sulzhyk, that makes font aliases for scalable (Type1 or TrueType) fonts to solve the "small font" problem of Netscape (and maybe other software). Note that in recent Linux distributions there is no need for this utility since the font support has improved termendously.

Linux resources

Last Modified: Wednesday, 06-Apr-2005 20:42:28 W. Europe Daylight Time

Diego Santa Cruz