The observatory's servers and control computers run on the openSuse distribution of Linux-based software. New systems are built with the 64-bit version 13.1 with xfce4. We then add all the options for software development.
The following describes how to build OpenSuSE with a solid foundation of software for astronomy, particular for real-time control of telescopes and observatories, operating small servers, and processing astronomical data.
Select Xfce as default environment. Do not use Gnome or KDE.
Select almost all packages including PHP, MySQL, and Apache except those clearly not needed. Decline KDE and Gnome desktop but add development code.
Add locate Add nano Delete pk-update Turn off firewall Open port for SSH
From openSuSE using YAST:
Remove DVD from source
Optionally include the repository for nvidia but this creates a long term maintenance problem (Xorg version preferred)
Update Nvidia drivers from Nvidia repository (only for GPU development if needed)
If Nvidia is installed, eboot and configure display
Perform all updates based on default respositories as needed
Remove really annoying pk-update-icon if you forgot and let it stay in the installation
Optionally include the repository for education
Optionally include the repository for gnome applications
Optionally include the repository for vlc
Add findutils-locate if you forgot to include it originally
Edit /etc/sysconfig to set locate default search to root
Add apache if used as web server
Add php and packages if used as web server
Add gsl and gsl-devel
Add libavutil52 (for ffmpeg)
Add gnome-disk-utility (previously palimpsest)
Add gtkglext (for Celestia)
Add libatlas3 (optional required by astromatic software)
Add libatlas3-devel (optional required by astromatic software)
Add lua-development (version 5.1 required for Celestia)
Add pavucontrol (pulse audio control to work around problems with defaults)
Add plplot-devel (optionally other plplot packages as needed)
Add python-matplotlib and related packages
Add fftw3-devel, fftw3-threads, and fftw3-threads-devel
Add theora-devel (required for Celestia)
Add gphoto but not gphotofs
Add other motif libraries if they are not installed by default
Add virtualbox and virtualbox-qt interface (when Windows VM is needed)
Add fxload (used by SBIG cameras)
From source or binaries in /usr/local:
Install nedit from rpm
Use YAST to set sysconfig to start hal daemon
Use YAST to set NTP
Install grace (with local FFT modifications for normalization)
Install ImageJ (separately from AstroImageJ below)
Install pyephem (pip install pyephem)
Install pyfits (pip install pyfits)
Install pywcs (pip install pywcs)
Install scikit-image (pip install scikit-image)
Install psfex (in /usr/lib64 make a soft link ln -s libplplotd.so libplplotd.so.9 if required)
Install cinepaint if available or if it will build from sources
Build and install celestia with GTK bindings from source
Install moodle (depends on mysql, apache, and php) on educational servers
Install mediawiki on servers as needed
Install bbcp for multi-stream copy between servers if needed (requires port 5031 open).
From local software in /usr/local
Install xmtel (if needed)
Install xmccd (provides libcfitso and xpa if needed)
Comment out 127.0.0.2 in hosts if it exists
Add entries to /etc/rc.d/boot.local
Edit /etc/dnsmasq.conf as needed
Edit /etc/sysconfig/locate to run as root
Configure network as needed for additional cards defined for internal zone
Add masquerade to firewall settings if internal zone present (required for dnsmasq ip forwarding)
Run nvidia-settings to set display for a system with Nvidia hardware if the nvidia drivers are installed. The latest community nvidia support is adequate for most purposes without installing the proprietary Nvidia driver and kernel module. The system is more easily maintained if it runs using the community supported packages.
OpenGL with Nvidia
Users should be members of the video group to have access to opengl applications. If they are not, the application may run slowly (glxgears) or crash (celestia).
Flash and Hal
Using yast -i install libhal1-flash-0.2.0rc1-3.1.x86_64.rpm to enable DRM flash on Amazon.com under Firefox. If needed, rm -r .adobe to remove previous files.
The gphoto2 application runs Nikon DSLR cameras for real-time observing, scripted imaging, and called by cgi routines from a web server. To give the USB device the proper permissions without invoking unwanted software (the default for a Gnome installation in OpenSuse), we make sure that libgphoto2 is installed, but not the file system. In OpenSuse 12.2 there will not be a udev rules file installed by default.
As root user,
/usr/lib64/libgphoto2/print-camera-list udev-rules version 0.98 group video mode 0666 > 90-gphoto.rules
where the version given has to be high enough to work with udev and still be recognized by libgphoto2. This version works with OpenSuse 12.2's default installation. Try "175" if this does not work for a more recent installation of udev.
Add the video group to users who will be observers, and to the user wwwrun by editing /etc/group or by using YAST.
When a camera is connected or turned on, it will accessible by any user in the video group, including the cgi applications used for remote operations.
In OpenSuse 12.3 the virtualbox gtk interface installed by default is broken. Use the qt interface instead, starting it from the command line with "VirtualBox". The user who does the installation must belong to the virtualbox group.
Users must belong to the video group to have access to OpenGL when NVidia drivers are in use.
Skype audio requires the alsa-plugins-32bit package for Skype 4.2 (a 32-bit program). With skype running, and with pavucontrol open, make a test call. Look at the "Recording" window for the Skype application, and then select the input microphone (usually the USB microphone on the Logitech camera). This selection should associate the USB microphone with Skype permanently. Users should have "pulse" and "pulse-access" group memberships.
Laptops by default will have networkmanager running their hardware and wireless connections. Desktops will not. To enable desktop wireless with minimal need for configuration, use Yast, Network Settings, and Global Settings to select networkmanager rather than ifup. With that change, there will be a desktop icon in the system tray and the interface may be selected by the user.
Few USB network adapters work with the Linux kernel in OpenSuse 13.1 . Only one we have found readily available new is the Buffalo Nfinity Wireless-N compact USB 2.0 adapter. It is recognized immediately and requires no additional configuration, other than the selection of networkmanager, and the user's choice of connection.