Since GNU/Linux doesn't have a functional sysctl(3) call, much of the data in refresh.c is obtained by reading files in the /proc and /sys directories. /proc is predictable to a point but what's to be found in the subdirectories and /sys is not. The -powerstate argument requires additional data in the form of: -powerstate_setting=pathTo/acOnLine,pathTo/batt^full,pathTo/batt^now beginning at /sys/class/power_supply/. Those files frequently have underscores in their names. Since the underscore is the strsep(3) token used in defining line options, carets must be used instead. These files may not contain valid information as some hardware manufactures use the TRUE=0, FALSE=1 convention and others use the reverse. Inverting the case of the B=pathTo/OnLine file argument by appending a - (dash) to the end of the acOnLine file name inverts the order. GNU/Linux will also hang when searching for a -remotehost argument if an inaccessable name server is listed in /etc/resolv.conf. Comment out any nameserver lines that are currently not accessible. To use audio signals, you must either define an alternate audio driver (-audiocmd) or chmod 666 /dev/dsp, /dev/dsp0 etc which will be reset at reboot. You could also add the line "/bin/chmod 666 /dev/whatever" to /etc/???/rc.local. To use shutdown and detach effectively requires changes to the ownership and mode of root executables as follows: FreeBSD and PCBSD work as installed: NetBSD and OpenBSD require: chown root:wheel /sbin/shutdown /sbin/mount /sbin/umount chmod 4555 /sbin/shutdown /sbin/mount /sbin/umount Slackware GNU/Linux requires: chmod 4555 /sbin/shutdown /usr/bin/pkill detach always returns "only root can do that" and 3.x kernel versions ignore shutdown except when run by root An alternate method is to start salmon as a remote execute server at boot. This server would have a real UID of zero so any child process would also. If the AC line is brought back up or salmon with -clickoff is clicked a second time before shutdown times out, shutdown will be pkill'ed. This applies to thermal shutdown also. The OpenBSD port has no share or buffer information so -line=share or -line=buffer will always display zero. When first started, all hosts that are resolved using the -line=remotehost option are also shown as responding. That will stabilize after ten packets are sent to a host that doesn't respond, which will then show resolved, not responding. Thereafter, the host will be pinged again every few minutes. The time required to reach a stable state can be shortened by setting time to wait to only slightly more than the longest time required for an ICMP_ECHOREPLY to return from the host being monitored, This is done by adding the wait time in seconds to the remote host name, -line=remotehost,TTW. This only sets wait time in the struct that keeps track of the packets that are sent. Setting TTL in the ICMP_ECHO packets must be done with sysctl(8). The first six included sound files, 001.au through 006.au, are simple beeps executed through whatever executable will make noise with them. The rest are made with flite, http://cmuflite.org and converted to ogg. The -audiocmd option allows resetting the command be used, -audiocmd "ogg123 -q", -audiodev changes the device. Once reset, the original six sound files will probably just make a racket. Sound files must be numbered from 001 to 999 and have .au as the extension. The files numbered 007.au through 034.au require a command line ogg vorbis reader such as ogg123. They are: 007.au "The power has gone off." 008.au "It's warm in here." 009.au "I'm shutting down." 010.au "A timer has expired." 011.au "Timer one has expired." to to 022.au "Timer twelve has exired." and 023.au "Alarm one has expired." to to 034.au "Alarm twelve has expired." The pixmaps used as alternate backgrounds are 320x320 pixel gzipped xpm files. They should be named b02.gz to b99.gz, and placed in $PREFIX/share/salmon. Option -pixmap 1 is for psuedo transparency and the file named b01.gz in salmon-back.tar.bz2 is the clip mask for moon phase graphics. When used in a Wharf, setting -pixmap 1 will use the *WharfPixmap as the background. The tiles are 64x64 pixels, are named t01.gz to t99.gz and are selected by using a negative number, -pixmap -1 etc. All notice, warning and error messages are written to ../salmon.log. If something doesn't seem to be working, check the log file. Use -logbeep for an audible message when any message is written. This may require resetting permissions on /dev/whatever. Check salmon.h for the default BEEPER.