---
name: "slrn"
section: "1"
platform: "linux"
package: "slrn"
version: "1.0.3+dfsg-8"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/slrn"
---

# slrn(1)

An easy to use NNTP / spool based newsreader.

## NAME

slrn - An easy to use NNTP / spool based newsreader.

## SYNOPSIS

**slrn** \[-aCdknmw\] \[-C-\] \[-D*name*\] \[-f *newsrc-file*\] \[-i *config-file*\] \[-k0\] \[--create\] \[--debug *file*\] \[--help\] \[--inews\] \[--kill-log *file*\] \[--nntp \[-h *server*\] \[-p *port*\]\] \[--show-config\] \[--spool\] \[--version\]

## DESCRIPTION

*slrn* is an easy to use but powerful NNTP / spool based newsreader.

It is highly customizable, supports scoring, free key bindings and can be extended using the embedded S-Lang interpreter.

To use slrn, you either need to set the *NNTPSERVER* environment variable to the server you want to read news from or specify a server on the command line. A *newsrc* file is needed, too.  In case you do not yet have one, you can create it using \`\`slrn -f ~/.jnewsrc --create''.

Inside slrn, online help is available via the '?' key.

## OPTIONS

The following options can be used when calling slrn from the command line. They override both environment variables and settings in private and global configuration files.

- \-a

  Read active file when checking for new news.

- \-C

  Use colors without checking if the terminal supports it.

- \-C-

  Don't use colors, even if the terminal supports it.

- \-d

  Get group descriptions (taglines) from the news server.  Please note that this may cause a download of several hundred kilobytes and thus can take a long time.  The output is saved to a local file, so you only need to do this once.  May not be specified in combination with *--create*.

- \-D*name*

  Add name to the list of predefined preprocessing tokens, which can be used in your slrnrc file to have conditionally interpreted lines.  See the slrn reference manual for details.

- \-f *newsrc-file*

  Use file as the newsrc file for this session.  This is permanently set via the *server* configuration command.

- \-h *host\[:port\]*

  Connect to the NNTP server on *host*, overriding the *$NNTPSERVER* environment variable.  If no *port* is given, the default NNTP port (119) will be used.  This option is only accepted after *--nntp* or when NNTP is the default mode.

- \-i *config-file*

  Read file as the initialization (slrnrc) file.  The default is to use .slrnrc (or slrn.rc on VMS, OS/2 and Windows) in your home directory.

- \-k

  Don't read the *score file*.

- \-k0

  Read the score file, but inhibit *expensive* scoring. A scoring rule is *expensive* if it contains header lines that are not included in the server's overview files.  This makes applying them slow.

- \-m

  Force mouse support (without checking if it works on the current terminal).

- \-n

  Do not check for new groups (usually resulting in a faster startup).

- \-p *N*

  Use port N to connect to the NNTP server.

- \-w

  Wait for a key before switching to full screen mode, allowing the user to read startup messages.

- \--create

  Read the active file (the list of all groups) from the news server to create an initial newsrc file.

- \--debug *file*

  Write debugging output to *file*.

- \--help

  Show help for command line switches.

- \--inews

  Use an external *inews program* to post articles.

- \--kill-log *file*

  Keep a log of all articles that were killed by the scorefile in *file*.

- \--nntp

  Use builtin NNTP support for reading and posting (an external program is used to post if slrn was compiled with --enable-force-inews).

- \--pull

  Spool outgoing articles locally for slrnpull to send.

- \--show-config

  Print detailed information about slrn configuration.

- \--spool

  Read directly from spool.

- \--version

  Print version and some compile time settings.

## ENVIRONMENT

*slrn* uses the following list of environment variables.  Note: environment variables can be overridden by configuration files or command line switches.

- **COLORTERM**

  If this variable is set, slrn will assume that your terminal supports *ANSI color sequences*. It also enables a workaround for a problem with the *mouse reporting* when running slrn inside of an rxvt.

- **DISPLAY**

  If set, slrn assumes that X11 is running.

- **EDITOR**

  See *$SLRN\_EDITOR*.

- **HOME**

  See *$SLRNHOME*.

- **HOSTNAME**

  If no *hostname* is given, the value of this environment variable is used.

- **LOGNAME**

  See *$USER*.

- **NAME**

  Set it to your realname, if slrn can't determine it otherwise.

- **NNTPSERVER**

  You can use this variable to tell slrn which NNTP server to connect to.  It can be overridden by the command line option -h.

- **ORGANIZATION**

  The name of your organization.

- **PRINTER**

  On unix systems, slrn pipes the current article to \`\`lpr -P *$PRINTER*'' to print it.

- **PWD**

  This variable is only used on unix systems that don't support [getcwd(3)](/getcwd/3.md).  In these cases, it should be set to the current directory at the time slrn is invoked.  This is usually done by the shell and nothing the user has to worry about.

- **REPLYTO**

  The value of this variable is used as the default if you do not set *replyto* in your slrnrc file.

- **SLANG\_EDITOR**

  See *$SLRN\_EDITOR*.

- **SLRNHELP**

  You can set this variable to a file slrn should read its online help from.  This is only needed when the default key bindings have been changed and you want the help function to reflect this. If unset, slrn looks for help.txt in the configuration directory.

- **SLRNHOME**

  When interpreting filenames as relative to your home directory, slrn uses this variable to find out what your home directory is. If *$SLRNHOME* is unset, *$HOME* is used instead.

- **SLRN\_EDITOR**

  The editor to start for editing articles. If this variable is unset, slrn subsequently looks at *$SLANG\_EDITOR*, *$EDITOR* and *$VISUAL*.

- **SLRN\_SLANG\_DIR**

  If set, slrn will search for slang macros here. If not set slrn will search in the default path, which is defined at compile time (usually share\_dir/slang).

- **TMP**

  Indicates the directory in which slrn should save temporary files.

- **TMPDIR**

  See *$TMP*.

- **USER**

  Your username, if slrn can't get it from the system by other means.

- **VISUAL**

  See *$SLRN\_EDITOR*.

## FILES

- $HOME/.slrnrc

  User-specific configuration file.

- config\_dir/slrn.rc

  System-wide configuration file. config\_dir is set at compile time (/usr/local/etc by default).

- $HOME/.jnewsrc

  default newsrc file for  *slrn.*

- $HOME/.jnewsrc.dsc

  Per user newsgroups descriptions.

- share\_dir/newsgroups.dsc

  Global newsgroup descriptions. share\_dir is set at compile time (/usr/local/share/slrn by default).

## SEE ALSO

The documentation that comes with *slrn*, especially FIRST\_STEPS, manual.txt, FAQ and score.txt.  If you consider writing S-Lang macros, also look at README.macros and slrnfuns.txt.

Recent versions of the slrn manual and the FAQ as well as additional information can also be found on slrn's official home page: http://slrn.sourceforge.net/

Questions about *slrn* that are not covered by existing documentation may be posted to the newsgroup *news.software.readers* where they will be answered by knowledgeable users or the author of the program.  In addition, announcements of new versions of *slrn* are posted there.

Links to the latest version of *slrn* may be found at http://www.jedsoft.org/slrn/

## AUTHOR

John E. Davis \<jed@jedsoft.org\>
