Setting up the newsreader slrn under Linux
slrn is the creation of John E. Davis (JED) and was first made available in 1994. It was written partly because of JED's dissatisfaction with the relatively sluggish performance of gnus/emacs as well as a general dissatisfaction with other newsreaders such as tin, nn, rn and others. JED also wanted to write software that would utilise his new screen management routines for the slang library and finally wanted to write a newsreader for his girlfriend to use on a VMS platform. From these various threads slrn was created. But what is slrn?
slrn ('s-lang read news') is a newsreader, i.e. a program that accesses a newsserver to read messages from the Internet News service (also known as 'Usenet'). It runs in console mode on various Unix-like systems (including Linux), 32-bit Windows, OS/2, BeOS and VMS. Beside the usual features of a newsreader slrn supports scoring rules to highlight, sort or kill articles based on information from their header. It is highly customizable, allows free key-bindings and can easily be extended using the sophisticated s-lang macro language. Offline reading is possible by using either slrnpull (shipped with slrn) or a local newsserver (like leafnode or INN).
This page describes one method of setting up this newsreader for Linux. It is deliberately not focused on any particular Linux distro and consequently may need some adjustment according to whether Debian, Ubuntu, Slackware etc is used. Please use the email link at the base of this page to pass your thoughts on to me. And remember: Have fun!
First Some Preparation ...
slrn is a newsreader that encourages some careful preparation before installation. At the very least this preparation should consist of ensuring that your system has an unique Fully Qualified Domain Name (FQDN) and that several Environmental Variables have been set:
Setting an Unique Fully Qualified Domain Name
I would advise a few moments of careful thought to ensuring that your system has an unique Fully Qualified Domain Name (FQDN). On most systems this can be seen by running hostname --fqdn. If this is not set correctly the Message-IDs (MIDs) that slrn generate may cause some comment and more importantly there is the possibility of newsgroup posts with the same Message-IDs colliding. There are three good choices here:
- If you legitimately own your own Domain Name use this in conjunction with a subdomain and the hostname of your computer.
- Use a service such as dyndns.org which will give you a domain name for free with the bonus of a Dynamic DNS service.
- Use the news service individual.net which will give you a FQDN with your €10 membership.
If slrn is to generate your Message-IDs (MIDs) the formula is a string consisting of "slrn", time, process id, user and hostname so it is advisable to set your FQDN accurately. The method of setting the FQDN will vary a little according to the Linux distro that is being used but it is a sound investment of time and effort and will leave your system the better for being properly configured.
Some Environmental Variables
There are a few Environmental Variables that should be set when using sln and a couple that will simply make your life with slrn a little easier. I have the following set in my own ~/.bashrc:
# -- Recommended slrn ~/.bashrc settings --- NNTPSERVER=newsserver && export NNTPSERVER ORGANIZATION='slrn Mafia' && export ORGANIZATION SLRNHOME=/home/username/news/ && export SLRNHOME EDITOR=/usr/bin/vim && export EDITOR
Of course you will need to put the name of your news server in the NNTPSERVER section, your username in the SLRNHOME section and decide on your EDITOR and the path to it. And of course you will have to qualify for membership to the slrn Mafia before placing the ORGANIZATION environmental variable! I will discuss these settings further as they come up in our installation of slrn.
Download, Compile & Install slrn
August 17th, 2008 saw the release of slrn 0.9.9 and it is strongly advised that you use this version. You will of course also need compiling tools and the development files for S-Lang that are appropriate for your distro. The following downloads the source code and compiles it, you will note my use of $SLRNHOME which will continue throughout this guide as use of this environmental variable ensures that all slrn material is assembled in one place.
$ cd $SLRNHOME $ wget ftp://space.mit.edu/pub/davis/slrn/slrn-0.9.9.tar.gz $ cd slrn-0.9.9 $ ./configure $ make $ su # make install
This will install a basic copy of slrn, and certainly this is as much as I do for my own use. But if you run ./configure --help you will see several other options that may interest you, such as the option of utilising slrnpull for offline reading, compiling in support for canlock to allow you to cancel your own posts, using ssl to encrypt your connection and a few other options.
Setup .slrnrc
Next step is to set the configuration file for slrn. There are several ways to go about this but the easiest is to copy the sample slrn configuration file that comes with the slrn source code into $SLRNHOME/.slrnrc. The exact location of the sample file will depend on your installation path of course,so it might perhaps be easier to copy the file from the svn source code:
$ cp $SLRNHOME/slrn-0.9.9/doc/slrn.rc $SLRNHOME/.slrnrc
Linux dot files can consume an immense time in research and testing so Gentle Reader I have taken the liberty of suggesting a few basic settings below. This brief listing is by no means comprehensive, it is simply intended to furnish a starting point.
%------------------------------------------ % Section 1: T