Linux Weather Display Manual

From Weather-Watch Wiki

Weather Display Linux Installation & Setup Guide

How to get Weather Display Linux :

How to install Weather Display Linux:

  • Extract the setup file (WeatherD.tar.gz) to your installation location (most likely the /home/user directory).
  • The extraction will create a wdisplay directory.
  • Open the executable file (WeatherDLinux.zip) and extract the WeatherD executable into the wdisplay directory.

How to configure Weather Display Linux for the first run (see the end of the page for platform specific information):

  • Check the permissions on your comport. This can be accomplished by starting up a command line prompt. Then
   ls -l /dev/ttyS0
  • Where ttyS0 is your comport. ttyS0 is comport 1, ttyS1 is comport 2, etc....
  • If the permissions are not 777(crwxrwxrwx) then you must
   su
   chmod 777 /dev/ttyS0 
  • Now you must check the permissions of the WeatherD. This time
   cd /home/user/wdisplay
   ls -l  WeatherD
  • If the permissions are not 777(crwxrwxrwx) then you must
   su
   chmod 777 WeatherD
  • NOTE: If you are running OpenSUSE, or any other Linux distro which utilizes "udev" (udev is included in almost every 2.6 kernel based Linux distribution), then in order to permanently change permissions of your ttyS0 port (or any ttyS* port), you must edit the "/etc/udev/rules.d/50-udev-default.rules" file. Here are the changes you must make in order for the permissions to stick after rebooting your computer (you must be root to make the changes):
  • Open the "/etc/udev/rules.d/50-udev-default.rules" file in your favorite text editor (as root). Find the line in the file that begins with KERNEL=="tty[A-Z]". That's the line you will need to edit. Notice the default settings will look something like this:
  • KERNEL=="tty[A-Z]*", NAME="%k", GROUP="uucp"
  • Add [, MODE="777"] to the end of the above line in your 50-udev-default.rules file (without the brackets but don't forget to add the preceding coma). It should look something like this:
  • KERNEL=="tty[A-Z]*", NAME="%k", GROUP="uucp", MODE="777"
  • After changing this file and saving, reboot your computer. The ttyS* ports will grant rwx permission to any user.

For Ubuntu - edit with su rights /etc/udev/rules.d/40-permissions.rules

Add this line: KERNEL=="ttyS[0-9]", GROUP="dialout", MODE="0777"

Then restart udev: sudo /etc/init.d/udev restart

  • Important: If you have a udev enabled Linux distribution and you do not make the above noted changes to your 50-udev-default.rules file, then every time you reboot your computer, the permissions on the ttyS* ports will revert back to root only access. This is because udev dynamically updates the /dev directory upon booting. All permissions granted during your previous session will be lost and Weather Display will not function properly. This solution is known to work properly with OpenSUSE 10.2.

How to start and use Weather Display Linux for the first time:

  • Once again open a terminal open in your wdisplay directory (if you aren't still there from the above step ;-D) and enter
   ./GoWeather.sh
  • Now a window will open and load Weather Display Linux and ask you for your language.
  • Now select from the top menu, setup, control panel. This will cause another window to appear.
  • Now select comport setup, and select the correct comport for your station and select ok when done.
  • Now in the control panel window select units/other settings and choose your units you wish to use. Select ok when done.
  • Now in the control panel window select weather station type and choose your particular station. Select ok when done.

Congratulations!! You are now ready to run normally. Just as in the windows version there are many options, and they operate in the same way. For more help visit the Weather Display Manual

System Requirements

The following are known requirements and a variety of Linux distributions that Weather Display Linux is known to run on. However, this doesn't mean that it won't work on any untested systems(OpenBSD, FreeBSD, NetBSD, Solaris, etc...)

  • X windows running
  • Supported Weather Station(all supported in the windows version http://www.weather-display.com/supported.php except Dallas One Wire should work.)
  • at least 30 mb of RAM
  • 50 mb of hardrive space for system files, more for log files(about 150mb for every year of data).
  • Log files, datafiles, and webfiles from the windows version can be copied and pasted into the Weather Display Linux and used as normal.
  • Known (tried!) Working Distributions: Debian, Fedora, Mandriva, Slackware, Suse


Platform Specific Information


Debian Lenny

Running as user rather than root in Debian Lenny:

Debian Lenny uses UDEV for USB devices. You need to modify two files in /etc/udev/rules.d in order to run as a user rather than root.

/etc/udev/rules.d/50-udev.rules

Change:

# usbfs-like devices
 SUBSYSTEM=="usb_device", ACTION=="add|change", \
 	PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", ACTION=="add|change", \
 				NAME="$result"
 SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device",	NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}"

To:

 # usbfs-like devices
  SUBSYSTEM=="usb_device", ACTION=="add|change", \
  	PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", ACTION=="add|change", \
  				NAME="$result", MODE="0666"
  SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device",	NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", MODE="0666"

/etc/udev/rules.d/91-permissions.rules

Change:

# usbfs-like devices
 SUBSYSTEM=="usb_device",	MODE="0664"
 SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", \
 				MODE="0664"

To:

# usbfs-like devices
 SUBSYSTEM=="usb_device",	MODE="0666"
 SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", \
 				MODE="0666"