Reading Usenet Newsgroups from Your UNIX Account with Trn


Table of contents
Introduction
The Web
E-mail
Usenet news IRC
File transfer
A newsreader program lets you read and participate in Usenet newsgroups, a system of tens of thousands of online discussion groups. Trn is our favorite newsreader for UNIX shell accounts.

Because all newsreading programs do pretty much the same thing (they let you read news --- what did you expect?), most of them work in more or less the same way, give or take some differences in the appearance of the screen and a few command letters. All news programs are written to be more or less full screen, although, as you will see, some of them take advantage of the screen better than others do. They're all designed to enable you to flip though news as quickly as possible (because there's so much of it), so they all use single-letter commands, which are a pain to remember, of course, until you get used to them.

In nearly all newsreading programs, you don't have to press Enter after typing single-letter commands. Some commands, however, require that you type a line of text after the letter, such as a filename or a newsgroup name. In that case, you do press Enter to tell the program that you're finished with the line of text.

This section describes trn, which is probably the most widely distributed newsreader. There are others, but trn is as good a program to start with as any, for the usual reasons: It works, and it's free. If your system doesn't have trn, it may well have rn, an older, less powerful newsreader.

Running Trn the First Time

Start the newsreading program by typing trn (or, if that doesn't work, rn). You should soon see something like this:

Trying to set up a .newsrc file
running newsetup...
Creating .newsrc in /usr/johnl to be used by news programs.
Done. If you have never used the news system before, you may find the articles in news.announce.newusers to be helpful. There is also a manual entry for rn. To get rid of newsgroups you aren't interested in, use the "u" command. Type h for help at any time while running rn.
Unread news in general 14 articles
(Revising soft pointers: be patient.)
Unread news in ne.food 47 articles
Unread news in ne.forsale 1177 articles
Unread news in ne.general 268 articles
Unread news in ne.housing 248 articles
etc.
******** 14 unread articles in general -- read now? [+ynq]

If the program complains that it cannot find either trn or rn, you have to ask for help to find out what the local newsreader of choice is. Even if you're using a different news program, it's worth your while to look through the rest of this file because what you do with news is the same even if the exact keys you type are different.

Assuming that you manage to start trn or rn, it tells you that it sees that you've never used news, so it's creating a file called .newsrc (yes, it starts with a dot, and you really don't want to know why), which it uses to keep track of which articles you've already seen. Then, in a fit of wild optimism, it guesses that you want to subscribe to every single newsgroup available on your system. Naturally, the list of newsgroups it shows depends on what's available on your system.

First things first: When you're tired of reading news, you leave it by pressing q (for quit). Depending on where you are, you may have to press it two or three times, but you can always q your way out.

Assuming that you're not ready to give up yet, trn or rn then goes through all the newsgroups. For each group, you have basically three choices: Look at its articles now, choose not to look now but maybe come back later, or unsubscribe so that you never see that newsgroup again unless you specifically resubscribe. Press y to say yes, you want to read the newsgroup; n to skip it for now; or u to unsubscribe and never see the group again. (Of course, there's also q to quit trn or rn.)

Reading the Articles in a Newsgroup

If you press y, trn displays the first screen of the first unread article in the newsgroup general, which is the group for articles that are theoretically of interest only to users of your machine. (In practice, the newsgroup general tends to fill up with junk.) The screen looks something like this:

general #6281
From: fred@glooble.net (Fred) [1]
[1] swell new net book
Organization: Glooble Net Global Access
Date: Sat Aug 7 06:48:03 1996
+
Hey, I just read the new edition of Internet for Dummies. I wouldn't have believed that they could make the book even better, but they did. It's incredibly fantastic, better than food or sex.

I've ordered 4000 copies to mail to all of our subscribers, but you might want to pick up a few extras, just in case.
--
Fred Glooble, system manager
End of article 6281 (of 6281) -- what next? [npq]

While you're looking at an article, you again have a bunch of choices. If the article is more than one screenful, pressing the spacebar advances to the next screen, much like the more and pg commands. If you're done looking at the article, press n to go on to the next article or q to leave the newsgroup and go on to the next newsgroup. If you find an article to be totally uninteresting, you can skip both the rest of that article and any other articles in the newsgroup that have the same boring title, by pressing k (for kill). You can arrange to have articles with known boring titles killed every time you enter a newsgroup.

UNIX is in the habit of spewing forth at lightning speed much more information than is humanly cognizable. To slow it down, learn to use the more command, the less command (less is more), or the pg command so that your information is displayed page by page and you get to decide when you see the next page. They all do pretty much the same thing: They show you a file a page at a time and stop after each page until you press the spacebar or Enter.

After you get the hang of it, you mostly press the spacebar to go to the next article or newsgroup, n to skip to the next article or newsgroup, and k to skip a group of articles. Until you prune down to something reasonable in the set of newsgroups you've subscribed to, you probably will press u frequently to get rid of the majority of groups you don't want to read.

Where Do Newsgroups Come From? Where Do They Go?

There are two things you need to know that are related to getting rid of newsgroups. The first is that new newsgroups appear every day because Usenet is still growing like crazy. Every time you run rn or trn, you have the opportunity to subscribe to any new newsgroups that have appeared. The trn or rn program asks a question like this:

Checking active list for new newsgroups...
Newsgroup alt.comp.hardware.homebuilt not in .newsrc, subscribe? [ynYN]

You can answer y if you do or n if you do not want to subscribe. You can also press (capital) Y to subscribe to all the new groups or, more likely, (capital) N to subscribe to none of them and go on to some actual newsreading.

If you press y, it asks you where in the list of newsgroups you want to see this group appear:

Put newsgroup where? [$^L]

The most likely answers to this question are $ (to put it at the end) or + followed by the name of an existing group (to put it after that group).

Eventually, you may also regret having unsubscribed to a newsgroup, in which case you want to turn it back on. If so, press g followed by the name of the group you want to see. If you have never subscribed to the group, rn or trn may ask you where in the list you want to put it and offer you the same choices ($ or +). You can also press g to go directly to a particular newsgroup to read its new articles.

Arrgh! It's a Kill File

In most newsgroups, a bunch of running discussions go on, and some of those discussions are much more interesting than others. You can arrange to permanently ignore the uninteresting ones by using a kill file. When you're reading along and encounter a hopelessly uninteresting article, press K (capital K, for KILL!) to kill all current articles with the same title and to put the title in the kill file for the current newsgroup. In the future, whenever you enter that newsgroup, rn or trn checks for any new articles with titles in the kill file and automatically kills them so that you never see any of them.

Using kill files can save a great deal of time and lets you concentrate on discussions that are actually interesting. You can edit kill files to remove entries for discussions that have died down or to add other kinds of article-killing commands. If you press Ctrl-K while you're reading a newsgroup, it starts the text editor (usually vi or emacs on UNIX machines) on the group's kill file. Kill files look like this:

THRU 4765
/boring topic/j
/was Sir Paul McCartney in another band before Wings?/j

The first line notes how many articles have been scanned for killable topics (to save time by not rescanning the entire group each time). Subsequent lines are topics you don't want to read. You remove a topic by deleting its line in the kill file. After you're finished, save the file and leave the editor, and you're back where you were, reading news.

Sometimes you may also find that certain people write articles you never want to read. You can arrange to kill all the articles they write! Press Ctrl-K to edit the newsgroup's kill file, and at the end add a line like this:

/Aaron Burr/h:j

Between the slashes, type the author's name as it appears in the From: line at the beginning of his articles. You don't have to type the entire contents of the From: line -- just enough of it to uniquely identify the person. At the end of the line, after the second slash, place the magic incantation h:j. Then save the kill file and exit the editor, and you're set. Sayonara, pal.

Ignoring Articles Faster with Trn

If you're using trn rather than rn, you have a better way to choose which articles you want to see and which ones you don't. The important difference between trn and rn is that trn supports threads (that's what the t stands for), which are groups of related articles. You can choose or ignore a thread at a time rather than an article at a time. If you press the spacebar or + to enter a newsgroup, you see a table of contents screen like the following, which shows the titles of the unread messages in the group:

general 14 articles
a 0000-uucp(0000) 3 New mail paths
b 0000-Admin(0000) 10 backup
c Chet Arthur 1 System down to clean hampster cages

Select threads -- All [Z>]

Again, this newsgroup is called "general", the group that exists on every machine for local messages that don't belong anywhere else. This example has 14 unread articles. To make it easier to choose what to read, trn groups together related articles based mostly on the titles. In this case, 3 articles are called New mail paths, 10 are called backup, and 1 is about hamsters. The letters in the left column are key letters you press to choose articles to read. You press c, for example, to see the article about the hamsters.

After you finish choosing interesting-looking articles, you have a few choices. You can press the spacebar to go on to the next page of the table of contents, if any, and begin reading selected articles if you've seen all the titles. Or you can press D (uppercase) to read the selected articles and kill any unselected articles on the screen (d is for delete). Or you can press Z (uppercase) to read any selected articles and not kill the unselected ones.

Binary files and groups of files

Sometimes an article contains a binary file (most often a program or a picture or a group of files). The binary files are disguised as text by uuencoding them, which makes the message look like this:
section 1/1 file zarkon.gif [ Wincode v2.6.1 ]
begin 644 zarkon.gif
M1&\@&5O&QE(&%C='5A;&QY('1Y&4@:6X@=&AEV4@97AA;7!L97,@=&\@
:V5E('=H870@=&AE2!D96-O9&4@=&\_#0H_
`
end
sum -r/size 15557/71

Trn knows all about uuencoded files. Press e and Enter to decode them. The decoded file is stored in your News directory on the UNIX system. Some uuencoded files are sent in several parts; use e in turn on each of them to reconstruct the original.

These files are packed up as shell archive, or shar, files. When these UNIX shell (command language) scripts are executed, they re-create the desired files. Shar files usually start something like this:

--cut here--

You can also extract shar files with the trn or rn e command, just as you do with uuencoded messages. (It's smart enough to figure out which kind of message it is.)

Be aware that shar files are a horrendous trojan horse loophole (a way for a bad guy to run his program but make it act as though you had done it) because a shar file can contain any command you can type from the terminal. In the worst case, it can delete all your files, send obscene e-mail with your signature, and so on. In the past, prank shar files haven't been much of a problem, but it's worth it to be a little skeptical. For the acutely apprehensive, shar-sanitizing programs are available (your system administrator should have one handy that comes with the news system software) that can scan a shar article and look for suspicious commands.

Just a Few Notes for Our Files

Now and then an article is so interesting that you want to save it for posterity. You save it with the s (for save) command. To save an article, press s followed by the name of the file in which you want to save it. If the file doesn't already exist, rn or trn asks you whether it should format the file as a plain file or as a folder (a special kind of file that usually contains mail messages). Usually, you should make the save file a folder. If you save several articles in the same file and make it a folder, you can later use mail programs to review and change the contents of the folder. Saved files (or folders) are put in your News directory, unless you give a different directory to the s command.

You can also save an article and pass it to a program. To do so, press | (vertical bar) rather than s and follow it with the command you want to execute. This choice is most often useful for printing a message by making the command lpr or lp or whatever your local print command is. UNIX pipelines, which pass the results of one program as input to the next, are also permitted, as in

|pr -h "An important message" | lpr

Warning!
Don't Say We Didn't Warn You

You may occasionally find an article that is just plain gibberish, neither uuencoded nor a shar file. These types of articles use the infamous a cipher. Rot13 is a simple-minded scheme that replaces each letter of the alphabet with the letter that is 13 places ahead of or behind it. For example, A turns into N and vice versa, B turns into O, and so on. This isn't a very secure code (we believe that it was cracked about 2,000 years ago by the Carthaginians), but it's not supposed to be. The point of rot13 is to warn you that a message contains rude words or something else gross and offensive, so you shouldn't read it if you think that you may be offended. If you want to read it anyway, press X (uppercase) to get rn or trn to unscramble it. Don't expect much sympathy if you complain about an offensive rot13 message. After all, you didn't have to read it.

Taking a Turn with trn

When you're ready, you can send e-mail by pressing r or R. In either case, rn or trn pops you into a text editor, where you can compose your message. The file you're given to edit contains header lines for the e-mail message, notably Subject: and To:, which you can edit if you want. The difference between r and R is that the uppercase R command also puts a copy of the text of the article into the message so that you can quote parts of it. Edit out irrelevant parts of the quoted article, and keep in mind that the author already knows what she said.

When you leave the editor, rn or trn asks whether it should send the message (s), edit it again (e), or abandon it (a). Press s, e, or a as appropriate. (Some versions of trn give you additional, less useful, options you can ignore.)

All New News

To post an all-new article to a newsgroup, you use the Pnews command. You can either run Pnews directly from the UNIX command line or press period and then F when trn asks you something like 1 unread article in rec.food.restaurants -- read now? [+ynq]. When you run Pnews, it asks you a few questions. The first, if you ran it directly rather than from inside trn, is the name of the newsgroup or newsgroups. (You can post a single article to several groups at a time if it's appropriate.) Type the name of the group or groups (separate them with commas). It asks for the subject of the message and then for the distribution with a suggested default you can use if you haven't yet figured out distributions. Then it asks once more whether you're absolutely, positively certain that you want to post an article, and if you say yes, it puts you in the text editor. From then on, it's just like when you're sending a follow-up article (as discussed earlier).
Return to previous section
Continue to next section

Internet Gurus Home Search This Site Our Books
Internet Gurus Central
webmaster@gurus.org
"...For Dummies" is a registered trademark of Wiley Publishing, Inc.
© Copyright 1998-2011 I.E.C.C. Last update August 5, 2009.