Installing and Configuring Software under Slackware Linux

Table of Contents

Introduction

Some tips for installing and configuring various software packages on a Slackware 8 or 9 machine... This is intended to be more useful to newer users of Linux than my article on installing Slackware. It's written as a combination software review and instructions for installation and configuration.

Most programmes I download are source tarballs (tar.gz format). They aren't actually much harder to handle than binary packages and the nice thing about a source package is that if you have some knowledge of programming you can tweak the package to run on your system if there's a compile error. I have had to do this with a few packages.

To install a typical source tarball, follow the following steps:

  1. download
  2. md5sum filename (use md5sum to check downloaded files against the given md5 checksums, the output from md5sum should match the given set of numbers and letters)
  3. tar zxvf filename.tar.gz (may be referred to as untarring or unpacking)
  4. change to the new directory
  5. ./configure (may be optional)
  6. make (or make all)
  7. sudo make install (or su -c make install if you haven't set up sudo)
    Note that sometimes you need to use make global_install to install for all users in a multi-user system.

If a package has different install requirements they will be detailed in the README or INSTALL files. Slackware packages (distributed as *.tgz files) can of course be installed using installpkg. To install a non slackware package so that it can be removed or manipulated using the package tools try checkinstall (available in the slackware extras directory). Using checkinstall is easier than it sounds. Simply type checkinstall make install (or whatever the install command is) instead of just make install.

Binary packages are generally installed one of two ways: either by simply unpacking the archive wherever you want it, or by unpacking and running an install script. In addition to the official binaries from the Slackware mirrors, you can also find Slackware packages at Linux Packages.net.

Software Packages

Antiword

Website: http://www.winfield.demon.nl/

When I first switched to Linux full time I was in the middle of an academic term and stuck with a useless Windows installation using up 1.2 Gig of my 2 Gig harddrive. With such limited space I couldn't install any of the more impressive Linux word processors (like OpenOffice or Abiword) so I had nothing that would read Microsoft Word or Word Perfect files. Two programmes came to the rescue. One was Antiword; the other a DOS based viewer which I run under Dosemu.

Antiword is a simple command line tool for converting an MS Word document to text or postscript format. Very useful for stripping the junk out of a document or converting it to a format usable on Unix based machines.

Installs like a normal tarball, but use make global_install to install for all users. If you do a global install, make sure to make a symbolic link in all users' home directories to /usr/share/antiword (ie ln -s /usr/share/antiword/ .antiword/). If installing for a single user the .antiword directory will be created automatically.

Cdplay

Website: http://www.x-paste.de/projects/index.php?cont=cdplay

  1. follow the first 3 steps for installing an ordinary source tarball
  2. type make
  3. copy the file called cdplay to /usr/local/bin

To install using checkinstall, stop after the make and add the following line to the Makefile: install: ; -cp -fp cdplay /usr/local/bin; chown root.root /usr/local/bin/cdplay Then type checkinstall make install.

This is a nice programme as it can be run in the background.

Centericq

Website: http://konst.org.ua/centericq/

Multi protocol Instant Messaging client with an ncurses interface and no annoying dependencies on Gnome or KDE libraries; thus it runs nicely on the stripped down install of Slackware 9.0 on my laptop. Requires ncurses; openssl or gnutls are optional.

This package takes a while to compile on slow machines (200 MHz Pentium), but installation follows the standard for source tarballs and I have never had compile problems.

Initial setup is done when you first run the programme. Type 'centericq' at the command line and fill in the appropriate information. To end use the cursor keys to switch from change to done. To exit the programme type 'q'. The 'Esc'ape key will return you to the contact list screen.

Your existing server side contact lists for ICQ, Yahoo, MSN and AIM should be automatically picked up. New contacts can be synchronised within the account setup page. To upgrade I've always simply installed over the older version so my settings are retained in my .centericq/ directory. Comes with conversion utilities for importing contact lists from some of the other Linux/Unix based instant messaging programmes.

Dosemu

Website: http://www.dosemu.org/

A DOS emulator which runs the included stripped down copy of freedos; works under X or at the console.

This package is meant to be installed for a single user, but I've modified things so it runs for all users. To keep the DOS and Windows programmes together, I've installed Dosemu into the "C:" (/c) drive of my WINE installation. To install change to /c and then simply untar the two dosemu files.

To make Dosemu usable for multiple users it's necessary to do some setup work. In a single user installation this is done by the Dosemu programme when it is first run.

Create a .dosemu directory in your home directory. Then create a file called bindist_path in .dosemu. This file should contain one line: the full path to your dosemu installation, for example /c/dosemu. Everything else should be created when you first run dosemu, which should initially be done from your dosemu directory (ie /c/dosemu). [Note: when running dosemu at the command line, you may need to hit return and then type "fg" to bring the dos emulator into the foreground so it can be used.]

This directory needs to be readable and writable for all users who will be running dosemu. Create a group for this using groupadd (groupadd dosemu), add users to this group using usermod (usermod -G [full list of groups including dosemu] userid), and give this group the appropriate permissions using chown (chown -R root.dosemu *) and chmod (chmod -R 770 *).

I installed a bunch of old dos games to run with dosemu (including 3-demon a 3-D packman like game) and some dos based utilities like pkzip and view (an excellent shareware dos based viewer for word processor files).

Editpad

Website: http://www.editpadlite.com/linux.html

This is a port (still in beta) of my favourite Windows based text editor and one of the only programmes I missed when I switched to Linux. I had been working to get this running under WINE with some difficulty, but this port works beautifully and you would hardly think it's still beta software (apart from some clipboard issues). Editpad is a graphical text editor with all the ease of use of notepad/nedit and some part of the power of VI. One of its best features is the ability to search and replace across all open files.

Editpad is distributed as a binary package and requires a special version of QT. See the website for more details. The programme does not yet have an installer, it's simply a matter of untarring it wherever you want and running the editpad script to use it. I altered this a bit and copied the editpad programme and script into /usr/local/bin and then moved the QT libraries to /usr/local/lib. Then I edited the editpad script to look for the libraries in /usr/local/lib, which was just a matter of changing the library path in the script to /usr/local/lib.

Efax

Website: http://www.cce.com/efax/

  1. download and unzip the efax programme
  2. switch to the efax directory and read the README file
  3. type make to compile the programme
  4. edit the file "fax" as needed

    Usually you need to edit, at minimum, the FROM line and the NAME line. You may also need to set the correct device name if you're using something other than /dev/modem and the full path to ghostscript if you want to fax postscript files. The fax script assumes you have xloadimage installed, if not you need to install it or change the value of VIEWCMD (eg: display -).

  5. make install

Now that efax is installed you should be able to send faxes using the command "fax send xxx-xxxx document" where xxx-xxxx is the number of the receiving fax. Problems with this may be due to inadequate permissions; the modem device must be usable by ordinary users. Try adding the users to the uucp group using usermod (ie usermod -G uucp userid, note that if the user belongs to any other groups you need to list those as well: usermod -G cdrom,audio,uucp userid).

Setting up Efax as a fax printer in OpenOffice...

  1. Run /usr/local/OpenOffice/spadmin as root.
  2. Select add new printer
  3. Select fax printer
  4. Set command to: fax send (PHONE) (TMP)
  5. Save and exit.

Now when you want to fax you can select your new fax printer from the list of available printers in OpenOffice. A dialogue will pop up asking you for the phone number. The only problem with this approach is that you don't get any feedback about errors. You can try "fax send -v (PHONE) (TMP)" in that case.

An alternate method involves setting Efax up to run through the lpd daemon. See the efax enhanced page for more information.

Freesweep

Website: http://www.upl.cs.wisc.edu/~hartmann/sweep/

freesweep is a console based minesweeper game. Installation follows the standard for source tarballs. If you're not interested in debug information, use ./configure --disable-debug-log instead of just ./configure.

gShield

Website: http://muse.linuxmafia.org/gshield.html

gShield is an iptables firewall configuration script which is heavily commented and easy to setup. To install simply untar into /etc/firewall. Then, create a symbolic link in /etc/rc.d to gShield.rc (ie: ln -s /etc/firewall/gShield.rc /etc/rc.d/rc.firewall) so the firewall will be started on the next boot. To start the firewall manually type /etc/firewall/gShield.rc --start.

Edit gShield.conf. Set FW_ROOT to "/etc/firewall". If you have a home network set MULTI to yes and edit the value of eth1 as required if you have more than one network card. If you use DHCP (cable, etc) you'll need to add your DHCP server's address to DHCP_SERVERS and set ALLOW_DHCP_LEASES to yes. Read gShield.conf for more information.

Httrack

Website: http://www.httrack.com/

Httrack is a website mirroring programme. It runs at the command line or via a GUI. It has more features than wget or curl. Installs like a standard tarball. The simplest way to run this programme is to type httrack and the url you want to mirror at the command line. This will retrieve that page and other pages or images linked to it which are on the same server.

Mp3blaster

Website: http://www.stack.nl/~brama/mp3blaster.html

Mp3blaster is an ncurses based music player with all the features of the fancy graphical players.

Installation follows the standard for source tarballs.

A file explaining the commands available in mp3blaster can be found at /usr/local/share/mp3blaster/commands.txt. The sample.mp3blasterrc file can be copied to your home directory as .mp3blasterrc if you want to change any of the commands used by the programme, for example, to stop conflicts with function keys under X.

OpenOffice

Website: http://www.openoffice.org/

OpenOffice is a complete office suite including a word processor, spreadsheet, presentation software, drawing programme, calculator and addressbook. This means that it is resource intensive and large for an open source application. OpenOffice requires 250 MB of disk space and 64 MB of RAM. However, it also provides excellent support for Microsoft Word, Excel and Powerpoint files. It can be run on older machines--I am running it on a 5 and a half year old laptop, 200 MHz pentium with 96 MB of RAM. On this machine it is slow, but fully functional. On newer, faster machines it is considerably faster.

There are two install modes: graphical and command line. I tend to use the command line installer on my laptop as the graphical installer is rather slow. Untarring OpenOffice creates an install directory. Change to this directory and type ./setup (or ./install if you prefer not to use the graphical installer).

For printer setup, see the printing section of Setting up Slackware Linux. See setting up Efax as a fax printer in OpenOffice for more information on faxing directly from OpenOffice to a faxmodem.

Template files for OpenOffice can be found in the documentation section of the OpenOffice.org site.

Word Perfect documents and OpenOffice

Support for Word Perfect files can be added with libwpd which is a Word Perfect document filter library for wordprocessors. This library comes with tools which can be used at the command line to convert a Word Perfect document to other formats. To convert to OpenOffice format also download the file called wpd2sxw. There is also a filter which can be added to OpenOffice so Word Perfect files can be opened within the programme.

Install libwpd like an ordinary source tarball. Run ldconfig to update the library paths if necessary. Install wpd2sxw like an ordinary source tarball, if ./configure complains about not being able to find libwpd-1 add the following to the PKG_CONFIG_PATH: /usr/local/lib/pkgconfig (ie export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig).

The Word Perfect filter for OpenOffice would not compile properly from source so I grabbed the static binary. Untar this and follow the instructions in the README file for installation. If an OpenOffice version is specified use the instructions for OpenOffice 1.0.1. The filter is not perfect, it has a tendency to fail to open files unless you specifically select "Word Perfect 6/7/8/9/10" from the file types menu, but it does open Word Perfect files in OpenOffice without the need to run a separate conversion programme first.

Samba

Website: http://www.samba.org/

Samba allows Unix/Linux computers to share files and printers using the SMB protocol. A Samba package comes with Slackware and can be downloaded from any of the Slackware mirrors and installed using installpkg.

Like WINE and dosemu, Samba requires some setup before it can be used. The first step is to make sure that your windows machine(s) are setup for file and printer sharing. (Note: this section assumes that you already have a working network.)

  1. Setup Windows for file and printer sharing

    Once Windows is setup for file and printer sharing you may also want to edit the lmhosts file so you can type in computer names into windows instead of IP addresses. This file is at C:\windows\system32\drivers\etc\lmhosts on Windows 2000. The file consists of two columns, the first containing IP addresses and the second computer names.

    xxx.xxx.xxx.xxx  computer1
    xxx.xxx.xxx.xxx  computer2
    xxx.xxx.xxx.xxx  computer3
    

  2. Now move to the Linux machine and edit /etc/hosts.allow, /etc/hosts.deny and /etc/hosts.

    hosts.allow describes the hosts which are allowed to connect to your computer. The file contains information about what service you allow access to and IP addresses or ranges separated by a colon. For example, the following file allows localhost to access all services, gives full access to another machine and access to samba to a third machine.

    # allow localhost
    ALL : 127.0.0.1
    
    # allow computer2 full access to services
    ALL : xxx.xxx.xxx.xxx
    
    # allow computer3 to access samba
    samba : xxx.xxx.xxx.xxx
    

    hosts.deny lists the computers which are not allowed to connect to your computer. Your hosts.deny should contain something like the following line to prevent access by anyone you haven't specifically allowed.

    ALL:ALL EXCEPT localhost:DENY
    

    The hosts file contains lists of IP addresses and associated names (the windows lmhosts file has the same format as this one).

  3. Now, the samba configuration files need to be edited. Create a symbolic link for lmhosts in /etc/samba pointing to /etc/hosts (ie ln -s /etc/hosts /etc/samba/lmhosts).

  4. Now edit the file smb.conf to fit your network. For example, the following smb.conf file provides access to a private network and localhost. All users can access the ftp directory and the printer(s). Users can also access their own user directory.
    [global]
    	netbios name = computer1
    	server string = "description of the computer"
    	workgroup = MY_WORKGROUP
    	security = share
    	log file = /var/log/samba.log
    	socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
    	encrypt passwords = yes
    	smb passwd file = /etc/samba/smbpasswd
    	hosts allow = xxx.xxx.xxx. 127.
    # only add as much of the number as necessary to identify the computers, localhost can be
    # identified using only 127. a private network may require the first three numbers in the IP
    # address.
    	hosts deny = ALL
    	invalid users = root
    	message command = /bin/sh -c 'xmessage "%f" "%m" %s; rm %s' &
    	interfaces = eth0
    
    [public]
    	path = /home/ftp
    	guest ok = yes
    	writeable = yes
    
    [printers]
    	comment = All Printers
    	path = /var/spool/samba
            printing = bsd
            browseable = yes
            read only = yes
            printable = yes
            guest ok = yes
    
    [homes]
    	comment = Home Directories
    	browseable = Yes
    	writeable = Yes
    

  5. Now create the smbpasswd file. The following command will copy your existing usernames and password information into the samba password file:

    cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd
    
    and the passwords can be modified by using smbpasswd -a userid. New users can be added using the useradd command. Ignore any initial errors about a missing password file since you are creating it.

  6. Start samba by running /etc/rc.d/rc.samba as root (or run smbd -D and nmbd -D as root).

To find out what shares are available on other hosts try smbclient -L //hostname -U username (if different from the one on your current computer). Samba will prompt you for the other computer's password. To connect use smbclient //hostname/share -U username or try connecting graphically in nautilus if you use gnome. It's a little unstable, but it does work. Note, if a file is listed as not being accessible, trying to select it anyway *will* cause nautilus to crash.

The following page http://hr.uoregon.edu/davidrl/samba/ contains information on setting up Samba including a list of diagnostics to follow if you are having problems with Samba setup. Note that firewalls can often be a source of problems when setting up Samba.

Samba with gShield and a peer to peer network

To make the linux machine accessible by the windows machines it was necessary to set NO_SMB to NO for other. When set to YES the other computers could access the linux machine but not "see" it in network neighbourhood because gShield blocks the netbios information for the SMB protocol. (If you're going to do this I highly recommend a good router with a hardware firewall so the netbios information is only leaked to the internal network.)

Printing with Samba

To print from a windows machine to a linux printer, simply go to the Add Printer wizard (Start -- Settings -- Printers) and add a network printer.

To print from a linux machine to a windows printer, use the smbspool command. Since the two printers I tested this with are both postscript printers it was necessary to convert files to postscript using a2ps before printing.

a2ps -o - filename | smbspool smb://userid:password@workgroup/computer/printer jobid user title copies options
(where jobid, copies and options can simply be set to 1, user to the username and title to the filename).

swaret

Website: http://freshmeat.net/projects/swaret/

Swaret is a package updater for slackware. It will access a Slackware mirror site (and try others if the first ones don't respond) and compare your system to the current version (or specified version) checking for updated packages. Simply untar and run the install script as root.

Note, with more recent slackware updates version 1.2.1 needs to have the check for i386 platform edited, some slack packages are coming out as i486, or upgrade to version 1.2.2 or higher.

See the section on upgrading slackware for tips on how to avoid upgrade problems.

Ted

Website: http://www.nllgg.nl/Ted/

Ted is an RTF writer which handles reading and writing of RTF files. Ted writes RTF0 files, but can read and parse most RTF1 files as well. Ted also comes with scripts to convert RTF files to PDF or PS. It has minimal system requirements and no annoying dependencies on KDE or GNOME. To compile from source you need the openmotif or lesstif libraries installed.

Compiling from source generates errors on Slackware and the install script has never worked properly for me so I download the precompiled binaries and follow the manual install instructions included on the website. If installing manually, Ted assumes that it is being unpacked into /usr/local. Simply move the tarball to /usr/local/ and untar it. Follow the same step to install additional dictionary files.

UnixTree

Website: http://www.unixtree.org/

"Don't leave $HOME without it!" (UnixTree's motto)

An Xtree clone for Unix (screen oriented file manager) formerly known as Xtree for Unix systems. I've tried some of the classic Unix file managers and often been unimpressed. XFM is a big improvement over Midnight Commander, but still not my favourite tool. In contrast, Xtree was always a favourite of mine and I continued to use it well after Windows/DOS came out with its own filemanager and then explorer. In terms of file management and ease of use, Konqueror might just be better, but I'm not sure I like the combination of a web browser and a file manager. (In the current computing world with viruses, trojans and hackers trying to crack a computer it seems like a bad idea to make the web seem like a simple extension of ones personal files.)

UnixTree was another binary install. I unzipped it into /usr/local/xt and added this to the path then copied the man file to /usr/local/man/man1. UnixTree comes with integrated help which needs to be in the same directory as the programme itself.

Unrtf

Website: http://www.gnu.org/software/unrtf/unrtf.html

Unrtf is a command line RTF to text or html converter.

Follow the first 3 steps for a standard source tarball then type make all to compile and make install to install.

WINE

Website: http://www.winehq.com/

WINE is an implementation of the Windows environment for Linux/Unix based machines. It installs from a source tarball in standard fashion, but requires some setup before it can be used. (Note: if WINE complains about missing libraries run ldconfig to 'register' the libraries.)

Many people with a dual boot system use WINE to access their existing Windows setup. My laptop is a pure linux machine so a slightly different setup was required. At minimum (and this is an absolute minimum), you need a "C:" drive, a windows directory and a system directory beneath that (eg: /c, /c/windows, /c/windows/system). If a programme complains about a missing directory or file, create it and try again. You will probably want a "Program Files" directory as well as a "My Documents" directory since many windows programmes try to install to Program Files and write their documents to My Documents by default. (Note: the following script wine-base.sh will do this setup, plus some additional useful steps. Wine-base sets up useful directories and creates links to the WINE versions of standard windows programmes such as notepad.)

The WINE config file (/etc/wine.conf or $HOME/.wine/config) now needs to be edited to point to the "C:" drive and other drives/directories you want WINE to be able to use (eg: setting the cdrom path to /dev/cdrom). If you add additional drives or directories you may need to edit the WINE path as well.

Since WINE requires that the "C:" drive be readable/writable by all, I created a wine group and gave it read/write access to this and other drives. I also made sure my audio and device permissions allowed group read/write access to the audio devices and the cdrom and other peripherals. The winecheck script complained about /dev/mixer1, but I solved this for the moment by turning this into a symbolic link to /dev/mixer. Currently midi support is still missing from my setup.

Using this setup I can run Solitaire, Minesweeper, Notepad, Sim City Classic (Sim City 2000 won't install), Sim Farm and other Windows programmes. I was also able to get wineconsole to run a few DOS programmes (like view) by using the --backend=user parameter (eg: wineconsole -- --backend=user /c/programme.exe).

WindowMaker Dockapps

Dockapps are programmes that sit in the WindowMaker dock. Common examples include clocks, calculators, and programme launchers. Unless otherwise specified, these dockapps require WindowMaker.

mount.app

Website: http://mountapp.sourceforge.net/

Eliminates the need to type "mount /dev/whatever" whenever you want to access one of your drives. The mount applet sits in the WindowMaker dockapp (can be run under other window managers as well as a small floating window) and allows single click mounting and unmounting of drives.

wmCalClock

Website: http://nis-www.lanl.gov/~mgh/WindowMaker/DockApps.shtml

wmCalClock is a clock applet which provides the date (in digital format) and the time. For some reason most clock applets default to analog settings whereas I prefer digital display.

Change to the Src directory then do a make and make install as usual. Type wmCalClock --help to find out how to change the background/foreground colours, switch from 24 to 12 hour mode, etc.

wmdrawer

Website: http://people.easter-eggs.org/~valos/wmdrawer/

Nice drawer applet which provides the ability to add more programmes to an overcrowded dock without making the crowding much worse.

Follow the usual steps for installing from a source tarball. Copy the file wmdrawerrc.sample to your home directory as .wmdrawerrc (ie cp wmdrawerrc.sample ~/.wmdrawerrc) and edit this file to suit your system.

wmnd

Website: http://www.yuv.info/wmnd/

Applet for monitoring activity across an interface, for example your ethernet card. Provides various graphical representations of traffic to and from your computer. Follow the usual steps for a source tarball.

wmpower

Website: http://wmpower.sourceforge.net/

A graphical interface to apm which shows the amount of charge left in the laptop's battery. Follow the usual steps for installing a source tarball.

wmShutdown

Website: http://grad.icmc.usp.br/~rva/wmShutdown.html

wmShutdown is a simple applet for making shutdown and reboot under Window Maker a point and click endeavour. As distributed it is a bit insecure as it relies on setting shutdown and reboot to allow anyone to run them as root. If you have a strong firewall and a single user system this is probably not a big deal. But, with a few modifications, you can make the programme use sudo instead. (Note that this requires that you have sudo set up to allow users of the system to run shutdown without a password.)

Unpack the archive, change to the wmShutdown directory and open the file shutdown.c. Where you find the command "/sbin/shutdown" change this to "sudo /sbin/shutdown". Save these changes and close. Now open the Makefile. Remove the following two lines:

chmod +s /sbin/shutdown
chmod +s /usr/local/bin/Shutdown
then save and close.

To compile, type make dock && make shutdown then do a make install as usual. To run type wmShutdown & at the command line and then drag the icon over the the WindowMaker dock. Now the system can be shutdown or rebooted with two mouse clicks. (This is very convenient on a system which boots directly into the window manager. On a system that doesn't, it's just as easy to create a 'shutdown' alias.)

yawmppp

Website: http://freshmeat.net/projects/yawmppp/

This package provides a graphical interface to PPP and effortlessly handles multiple ISPs, however, it was a bear to compile with gcc 2.9.5. I highly recommend compiling with gcc 3.2.2 and using yawmppp 2.0.2 or higher as this combination worked without errors.

Run yawmppp and drag it to the dock. To configure, right click on the yawmppp applet to add an ISP. To view the connection log left click. Though this application is designed for Window Maker it will run under other window managers/desktop environments (try typing yawmppp.thin instead if you're not using Window Maker, this version of yawmppp is a bar rather than a square).


[Viewable With Any Browser] [Lynx Friendly!]


Author: Margaret Kipp

Changelog:
30 May 2003 - created
08 June 2003 - dockapps, libwpd
12 July 2003 - word perfect filters for openoffice, samba, swaret

[Return to Table of Contents] [Setting up Slackware Linux] [HOME]