News Readers

# 5 News Readers

Contents of this section

There is no "one true newsreader". As a result, there are many well-known newsreaders that port easily to Linux in particular. At this writing, "`tin`", "`trn`", and "`nn`" are in most of the commonly available distributions of Linux and in.

When picking a newsreader, you basically want to find something that is easy to use, very configurable by the user, with threading and kill files (to select interesting articles or make the non-interesting ones not appear at all).

You can set your paths to anything you like as long as all the newsreaders can find "`inews`" from your Cnews or INN installation and a "`mail`" program to send mail replies to posts.

This section will talk briefly about several of the most popular ones. Before you ask, I use "`nn`" for lots of reasons :-)

## 5.1 Tin

Tin is a threaded newsreader generally intended to be easy for new users. It supports kill files and NOV threading. If you're running INN, it will read NOV .overview files by default and not write index files.

To compile Tin under linux, basically just edit the makefile to set the locations of the software (especially the location of inews) and type "make linux". There are no patches required for tin under Linux.

For threading, you can basically just say "tin -u" to update the index files.

To enable the ability to read via NNTP, compile with "NNTP_ABLE" defined. This will result in a file called "tin" for local and one called "rtin" for NNTP reading. "tin -r" will also get the same behavior as "rtin".

Iain Lea recommends the following crontab entry and says that you need to do a "make daemon" to make tind.

            # thread the database
            35 * * * * /usenet/bin/tind -u

I've run `tin` over a SLIP link as a NNTP-based newsreader. If you're connecting to a system that has a full newsfeed, you will grow extremely old waiting for it to load up the "active" file.

## 5.2 Trn/Mthreads

trn is a threaded derivative of the "rn" newsreader. trn3.2 and newer has the nice ability to select either the "mthreads" (trn's threading package) or NOV (threader from INN) threading.

To compile it, just run Configure and take the calculated defaults. You might need to have lib4.4.1 and bash-1.13 (there is a beta now available on the various Linux archive sites) to successfully run Configure. You'll probably need both bash1.13 and libs4.4.1 to get the new Configure to run properly.

The newspak distribution on sunsite contains working config files for trn under Linux.

It's probably unwise to try to edit a trn config.sh by hand unless you're doing something *VERY* simple like changing the paths to fit your tastes. If you do so, you'll need to run "Configure -S" before you "make depend", "make", and "make install".

Although "Configure" fails generally under Linux with bash1.12, "Configure -S" work fine so if you take the newspak config.sh as a starting point, you'll be very close.

Compiling for NNTP reading is as simple as answering "yes" when Configure asks you if you want to do so (assuming Configure runs ok on your system). A future release of newspak will include a config.sh for NNTP reading as well as the existing one for local reading for those of us who are still "bash-impaired" :-)

I've run `trn` over a SLIP link as a NNTP-based newsreader. If you're connecting to a system that has a full newsfeed, you will grow extremely old waiting for it to load up the "active" file and to thread the articles.

There are dozens of command line switches for trn to get all kinds of behavior. Read the "trn" man page for details. I use a nice feature to set all the switches easily:

- make a file with all the settings in a file called ~/.trnrc
- export TRNINIT="~/.trnrc"

The current newspak has a copy of my .trnrc file as an example.

trn3.2 and above has support for NOV or mthreads threading that's user-selectable. Accordingly, I recommend building the software to allow both threading mechanisms (it's a question in Configure). To pick one at runtime, try "trn -Zo" for NOV and "trn -Zt" for mthreads.

To build the mthreads database, do something like the following in the "news" crontab:

            # thread the trn database
            35 * * * * /usenet/bin/mthreads all

## 5.3 NN

The newspak distribution on sunsite contains working config files for nn6.4.18 that you can drop into place and type "make" under Linux. They also work with the 6.5b3 beta of the coming nn6.5 update.

When you're done compiling, you need to do the following:

- - run the "inst" program to install things. (install everything)
- - initialize the database
- - fire up nnmaster

See the nn docs for details. Compiling, configuring, and running nn under Linux is no different than running nn on any other *nix with the exception that you may want to run nnmaster as a cron entry rather than as a daemon. If you run it as a daemon under linux, it may not tend to wake up properly (the net effect of running it from cron is the same anyway).

Support of "nn" is as simple as the following crontab entries:

            # run nnmaster to collect "nn" stuff
            25 * * * * /usenet/sw/nn/lib/nnmaster

            # expire the nn database
            0  4       * * * /usenet/sw/nn/bin/nnadmin =EYW

            # stash a copy of the active file for "nngoback" and keep last 7
            0 3 * * * /usenet/sw/nn/lib/back_act 7

I've experimented a little with running `nn` as a NNTP-based newsreader over a SLIP connection. In this case, you'll want to edit the `config.h` file slightly. See the comments in the file for details. When running as a NNTP-based reader, nn runs a local copy of `nnmaster` to keep the threads database on the local system so that article selection is very fast (although you of course wait for the arcticle text a little if you're running SLIP over a modem).

## 5.4 Other newsreaders

The following is a non-inclusive list of newsreaders said to install and run under Linux:

- tass
- xrn
- gnus

Next Chapter, Previous Chapter

Table of contents of this chapter, General table of contents

Top of the document, Beginning of this Chapter