newsbeuter (1) - Linux Manuals

newsbeuter: an RSS feed reader for text terminals


newsbeuter - an RSS feed reader for text terminals


newsbeuter [-r] [-e] [-i opmlfile] [-u urlfile] [-c cachefile] [-C configfile] [-X] [-o] [-x <command> ...] [-h]


newsbeuter is an RSS feed reader for text terminals. RSS is a number of widely-used XML formats to transmit, publish and syndicate articles, for example news or blog articles. Newsbeuter is designed to be used on text terminals on Unix or Unix-like systems such as Linux, BSD or Mac OS X.



Display help


Refresh feeds on start


Export feeds as OPML to stdout


Clean up cache thoroughly (i.e. reduce it in size if possible)

-v, -V

Get version information about newsbeuter and the libraries it uses

-i opmlfile

Import an OPML file

-u urlfile

Use an alternative URL file

-c cachefile

Use an alternative cache file

-C configfile

Use an alternative configuration file

-x command ...

Execute one or more commands to run newsbeuter unattended. Currently available commands are "reload" and "print-unread".


Active offline reading mode. When bloglines synchronization mode is configured, then the list of feeds will not be loaded from, but instead from the local cache. This makes it possible to read locally cached articles even without internet connection to connect to the bloglines server.

-l loglevel

Generate a loglevel with a certain loglevel. Valid loglevels are 1 to 6. An actual logfile will only be written when you provide a logfile name.

-d logfile

Use this logfile as output when logging debug messages. Please note that this only works when providing a loglevel.

-E file

Export a list of read articles (resp. their GUIDs). This can be used to transfer information about read articles between different computers.

-I file

Import a list of read articles and mark them as read if they are held in the cache. This is to be used in conjunction with the -E commandline parameter.


After you've installed newsbeuter, you can run it for the first time by typing "newsbeuter" on your command prompt. This will bring you the following message:

Error: no URLs configured. Please fill the file /home/ak/.newsbeuter/urls with RSS feed URLs or import an OPML file.

newsbeuter 2.3
usage: ./newsbeuter [-i <file>|-e] [-u <urlfile>] [-c <cachefile>] [-x <command> ...] [-h]
                -e              export OPML feed to stdout
                -r              refresh feeds on start
                -i <file>       import OPML file
                -u <urlfile>    read RSS feed URLs from <urlfile>
                -c <cachefile>  use <cachefile> as cache file
                -C <configfile> read configuration from <configfile>
                -X              clean up cache thoroughly
                -x <command>... execute list of commands
                -o              activate offline mode (only applies to bloglines synchronization mode)
                -v              get version information
                -l <loglevel>   write a log with a certain loglevel (valid values: 1 to 6)
                -d <logfile>    use <logfile> as output log file
                -E <file>       export list of read articles to <file>
                -I <file>       import list of read articles from <file>
                -h              this help
This means that newsbeuter can't start without any configured feeds. To add feeds to newsbeuter, you can either add URLs to the configuration file $HOME/.newsbeuter/urls or you can import an OPML file by running "newsbeuter -i blogroll.opml". To manually add URLs, open the file with your favorite text editor and add the URLs, one per line:
If you need to add URLs that have restricted access via username/password, simply provide the username/password in the following way:

In order to protect username and password, make sure that $HOME/.newsbeuter/urls has the appropriate permissions. Newsbeuter also makes sure that usernames and passwords within URLs aren't displayed in its user interface. In case there is a @ in the username, you need to write it as %40 instead so that it can be distinguished from the @ that separates the username/password part from the hostname part.

You can also configure local files as feeds, by prefixing the local path with "file://" and adding it to the $HOME/.newsbeuter/urls file:

Now you can run newsbeuter again, and it will present you with a controllable list of the URLs that you configured previously. You can now start downloading the feeds, either by pressing "R" to download all feeds, or by pressing "r" to download the currently selected feed. You can then select a feed you want to read, and by pressing "Enter", you can go to the article list for this feed. This works even while the downloading is still in progress. You can now see the list of available articles by their title. A "N" on the left indicates that an article wasn't read yet. Pressing Enter brings you to the content of the article. You can scroll through this text, and also run a browser (default: lynx) to view the complete article if the content is empty or just an abstract or a short description. Pressing "q" brings you back to the article list, and pressing "q" again brings you back to the feed list. Pressing "q" a third time then closes newsbeuter.

Newsbeuter caches the article that it downloads. This means that when you start newsbeuter again and reload a feed, the old articles can still be read even if they aren't in the current RSS feeds anymore. Optionally you can configure how many articles shall be preserved by feed so that the article backlog doesn't grow endlessly (see "max-items" below).

Newsbeuter also uses a number of measures to preserve the users' and feed providers' bandwidth, by trying to avoid unnecessary feed downloads through the use of conditional HTTP downloading. It saves every feed's "Last-Modified" and "ETag" response header values (if present) and advises the feed's HTTP server to only send data if the feed has been updated by modification date/time or "ETag" header. This doesn't only make feed downloads for RSS feeds with no new updates faster, it also reduces the amount of transferred data per request. Conditional HTTP downloading can be optionally disabled per feed by using the "always-download" configuration command.

Several aspects of newsbeuter's behaviour can be configured via a configuration file, by default $HOME/.newsbeuter/config. This configuration file contains lines in the form "<config-command> <arg1> ...". The configuration file can also contain comments, which start with the # character and go as far as the end of line. If you need to enter a configuration argument that contains spaces, use quotes (") around the whole argument. It's even possible to integrate the output of external commands into the configuration. The text between two backticks ("`") is evaluated as shell command, and its output is put on its place instead. This works like backtick evaluation in Bourne-compatible shells and allows users to use external information from the system within the configuration.

Searching for articles is possible in newsbeuter, too. Just press the "/" key, enter your search phrase, and the title and content of all articles are searched for it. When you do a search from the list of feeds, all articles of all feeds will be searched. When you do a search from the article list of a feed, only the articles of the currently viewed feed are searched. When opening an article from a search result dialog, the search phrase is highlighted.

The history of all your searches is saved to the filesystem, to ~/.newsbeuter/ By default, the last 100 search phrases are stored, but this limited can be influenced through the "history-limit" configuration variable. To disable search history saving, simply set the history-limit to 0.


always-display-description (parameters: [true/false]; default value: false)

If true, then the description will always displayed even if e.g. a content:encoded tag has been found. (example: always-display-description true)

always-download (parameters: <rssurl> [<rssurl>]; default value: n/a)

The parameters of this configuration command are one or more RSS URLs. These URLs will always get downloaded, regardless of their Last-Modified timestamp and ETag header. (example: always-download "")

article-sort-order (parameters: <sortfield>[-<direction>]; default value: date)

The sortfield specifies which article property shall be used for sorting (currently available: date, title, flags, author, link, guid). The optional direction specifies the sort direction ("asc" specifies ascending sorting, "desc" specifies descending sorting. for date, "desc" is default, for all others, "asc" is default). (example: article-sort-order author-desc)

articlelist-format (parameters: <format>; default value: "%4i %f %D %6L %?T?;%-17T; ?%t")

This variable defines the format of entries in the article list. See the respective section in the documentation for more information on format strings (note that the semicolon should actually be a vertical bar; this is a limitation in AsciiDoc). (example: articlelist-format "%4i %f %D %?T?;%-17T; ?%t")

auto-reload (parameters: [yes/no]; default value: no)

If enabled, all feeds will be automatically reloaded at start up and then continuously after a certain time has passed (see reload-time). (example: auto-reload yes)

bind-key (parameters: <key> <operation> [<dialog>]; default value: n/a)

Bind key <key> to <operation>. This means that whenever <key> is pressed, then <operation> is executed (if applicable in the current dialog). A list of available operations can be found below. Optionally, you can specify a dialog. If you specify one, the key binding will only be added to the specified dialog. Available dialogs are "all" (default if none is specified), "feedlist", "filebrowser", "help", "articlelist", "article", "tagselection", "filterselection", "urlview" and "podbeuter". (example: bind-key ^R reload-all)

bloglines-auth (parameters: <login>:<password>; default value: "")

Set the Bloglines username and password. This is necessary for the Bloglines synchronization mode. (example: bloglines-auth "username [at]")

bloglines-mark-read (parameters: [yes/no]; default value: no)

If set to yes, it will mark all articles that are downloaded from Bloglines as read. (example: bloglines-mark-read yes)

bookmark-cmd (parameters: <bookmark-command>; default value: "")

If set, then <bookmark-command> will be used as bookmarking plugin. See the documentation on bookmarking for further information. (example: bookmark-cmd "~/bin/")

bookmark-interactive (parameters: [yes/no]; default value: no)

If set to yes, then the configured bookmark command is an interactive program. (example: bookmark-interactive yes)

browser (parameters: <browser-command>; default value: lynx)

Set the browser command to use when opening an article in the browser. If <browser-command> contains %u, it will be used as complete commandline and %u will be replaced with the URL that shall be opened. (example: browser "w3m %u")

cache-file (parameters: <path>; default value: "~/.newsbeuter/cache.db")

This configuration option sets the cache file. This is especially useful if the filesystem of your home directory doesn't support proper locking (e.g. NFS). (example: cache-file "/tmp/testcache.db")

cleanup-on-quit (parameters: [yes/no]; default value: yes)

If yes, then the cache gets locked and superfluous feeds and items are removed, such as feeds that can't be found in the urls configuration file anymore. (example: cleanup-on-quit no)

color (parameters: <element> <fgcolor> <bgcolor> [<attr> ...]; default value: n/a)

Set the foreground color, background color and optional attributes for a certain element (example: color background white black)

confirm-exit (parameters: [yes/no]; default value: no)

If set to yes, then newsbeuter will ask for confirmation whether the user really wants to quit newsbeuter. (example: confirm-exit yes)

datetime-format (parameters: <date/time format>; default value: %b %d)

This format specifies the date/time format in the article list. For a detailed documentation on the allowed formats, consult the manpage of strftime(3). (example: datetime-format "%D, %R")

define-filter (parameters: <name> <filter>; default value: n/a)

With this command, you can predefine filters, which can you later select from a list, and which are then applied after selection. This is especially useful for filters that you need often and you don't want to enter them every time you need them. (example: define-filter "all feeds with fun tag" "tags # \\"fun\\"")

display-article-progress (parameters: [yes/no]; default value: yes)

If set to yes, then a read progress (in percent) is displayed in the article view. Otherwise, no read progress is displayed. (example: display-article-progress no)

download-retries (parameters: <number retries>; default value: 1)

How many times newsbeuter shall try to successfully download a feed before giving up. This is an option to improve the success of downloads on slow and shaky connections such as via a TOR proxy. (example: download-retries 4)

download-timeout (parameters: <seconds>; default value: 30)

The number of seconds newsbeuter shall wait when downloading a feed before giving up. This is an option to improve the success of downloads on slow and shaky connections such as via a TOR proxy. (example: download-timeout 60)

error-log (parameters: <path>; default value: "")

If set, then user errors (e.g. errors regarding defunct RSS feeds) will be logged to this file. (example: error-log "~/.newsbeuter/error.log")

feed-sort-order (parameters: <sortorder>; default value: none)

If set to "firsttag", the feeds in the feed list will be sorted by their first tag in the urls file. (example: feed-sort-order firsttag)

feedlist-format (parameters: <format>; default value: "%4i %n %11u %t")

This variable defines the format of entries in the feed list. See the respective section in the documentation for more information on format strings. (example: feedlist-format " %n %4i - %11u -%> %t")

googlereader-flag-share (parameters: <flag>; default value: "")

If this is set and Google Reader support is used, then all articles that are flagged with the specified flag are being "shared" in Google Reader so that people that follow you can see it. (example: googlereader-flag-share "a")

googlereader-flag-star (parameters: <flag>; default value: "")

If this is set and Google Reader support is used, then all articles that are flagged with the specified flag are being "starred" in Google Reader and appear in the list of "Starred items". (example: googlereader-flag-star "b")

googlereader-login (parameters: <login>; default value: "")

This variable sets your Google Reader login for the Google Reader support. (example: googlereader-login "your-login")

googlereader-password (parameters: <password>; default value: "")

This variable sets your Google Reader password for the Google Reader support. (example: google-password "your-password")

googlereader-show-special-feeds (parameters: [yes/no]; default value: yes)

If this is set, then "special feeds" like "People you follow" (articles shared by people you follow), "Starred items" (your starred articles), "Shared items" (your shared articles) and "Popular items" (articles considered to be popular by Google's magic algorithms) appear in your subscription list. (example: googlereader-show-special-feeds "no")

goto-first-unread (parameters: [yes/no]; default value: yes)

If set to yes (the default), then the first unread article will be selected whenever a feed is entered. (example: goto-first-unread no)

goto-next-feed (parameters: [yes/no]; default value: yes)

If set to yes, then the next-unread and prev-unread keys will search in other feeds for unread articles if all articles in the current feed are read. If set to no, then the next-unread and prev-unread keys will stop in the current feed. (example: goto-next-feed no)

highlight (parameters: <target> <regex> <fgcolor> [<bgcolor> [<attribute> ...]]; default value: n/a)

With this command, you can highlight text parts in the feed list, the article list and the article view. For a detailed documentation, see the chapter on highlighting. (example: highlight all "newsbeuter" red)

highlight-article (parameters: <filterexpr> <fgcolor> <bgcolor> [<attribute> ...]; default value: n/a)

With this command, you can highlight articles in the article list if they match a filter expression. For a detailed documentation, see the chapter on highlighting. (example: highlight-article "author =~ \\"Andreas Krennmair\\"" white red bold)

history-limit (parameters: <number>; default value: 100)

Defines the maximum number of entries of commandline resp. search history to be saved. To disable history saving, set history-limit to 0. (example: history-limit 0)

html-renderer (parameters: <path>; default value: internal)

If set to "internal", then the internal HTML renderer will be used. Otherwise, the specified command will be executed, the HTML to be rendered will be written to the command's stdin, and the program's output will be displayed. This makes it possible to use other, external programs, such as w3m, links or lynx, to render HTML. (example: html-renderer "w3m -dump -T text/html")

ignore-article (parameters: <feed> <filterexpr>; default value: n/a)

If a downloaded article from <feed> matches <filterexpr>, then it is ignored and not presented to the user. This command is further explained in the "kill file" section below. (example: ignore-article "*" "title =~ \\"Windows\\"")

ignore-mode (parameters: [download/display]; default value: download)

This configuration option defines in what way an article is ignored (see ignore-article). If set to "download", then it is ignored in the download/parsing phase (which is the default) and thus never written to the cache, if it set to "display", it is ignored when displaying articles but is kept in the cache. (example: ignore-mode "display")

include (parameters: <path>; default value: n/a)

With this command, you can include other files to be interpreted as configuration files. This is especially useful to separate your configuration into several files, e.g. key configuration, color configuration, ... (example: include "~/.newsbeuter/colors")

keep-articles-days (parameters: <days>; default value: 0)

If set the a number greater than 0, only articles that are were published within the last <n> days are kept, and older articles are deleted. If set to 0 (default value), this option is not active. (example: keep-articles-days 30)

macro (parameters: <macro key> <command list>; default value: n/a)

With this command, you can define a macro key and specify a list of commands that shall be executed when the macro prefix and the macro key are pressed. (example: macro k open ; reload ; quit)

mark-as-read-on-hover (parameters: [yes/no]; default value: no)

If set to yes, then all articles that get selected in the article list are marked as read. (example: mark-as-read-on-hover yes)

max-items (parameters: <number>; default value: 0)

Set the number of articles to maximally keep per feed. If the number is set to 0, then all articles are kept. (example: max-items 100)

notify-format (parameters: <string>; default value: "newsbeuter: finished reload, %f unread feeds (%n unread articles total)")

Format string that is used for formatting notifications. See the chapter on format strings for more information. (example: notify-format "%d new articles (%n unread articles, %f unread feeds)")

notify-program (parameters: <path>; default value: "")

If set, then the configured program will be executed if new articles arrived (through a reload) or if notify-always is true. The first parameter of the called program contains the notification message. (example: notify-program "~/bin/my-notifier")

notify-always (parameters: [yes/no]; default value: no)

If no, notifications will only be made when there are new feeds or articles. If yes, notifications will be made regardless. (example: notify-always yes)

notify-screen (parameters: [yes/no]; default value: no)

If yes, then a "privacy message" will be sent to the terminal, containing a notification message about new articles. This is especially useful if you use terminal emulations such as GNU screen which implement privacy messages. (example: notify-screen yes)

notify-xterm (parameters: [yes/no]; default value: no)

If yes, then the xterm window title will be set to a notification message about new articles. (example: notify-xterm yes)

notify-beep (parameters: [yes/no]; default value: no)

If yes, then the speaker beep on new articles. (example: notify-beep yes)

opml-url (parameters: <url> ...; default value: "")

If the OPML online subscription mode is enabled, then the list of feeds will be taken from the OPML file found on this location. Optionally, you can specify more than one URL. All the listed OPML URLs will then be taken into account when loading the feed list. (example: opml-url "http://host.domain.tld/blogroll.opml" "")

pager (parameters: [<path>/internal]; default value: internal)

If set to "internal", then the internal pager will be used. Otherwise, the article to be displayed will be rendered to be a temporary file and then displayed with the configured pager. If the pager path is set to an empty string, the content of the "PAGER" environment variable will be used. If the pager path contains a placeholder "%f", it will be replaced with the temporary filename. (example: less %f)

podcast-auto-enqueue (parameters: [yes/no]; default value: no)

If yes, then all podcast URLs that are found in articles are added to the podcast download queue. See the respective section in the documentation for more information on podcast support in newsbeuter. (example: podcast-auto-enqueue yes)

prepopulate-query-feeds (parameters: [yes/no]; default value: no)

If yes, then all query feeds are prepopulated with articles on startup. (example: prepopulate-query-feeds yes)

proxy (parameters: <server:port>; default value: n/a)

Set the proxy to use for downloading RSS feeds. (example: proxy localhost:3128)

proxy-auth (parameters: <auth>; default value: n/a)

Set the proxy authentication string. (example: proxy-auth user:password)

proxy-type (parameters: <type>; default value: http)

Set proxy type. Allowed values: http, socks4, socks4a, socks5. (example: proxy-type socks5)

refresh-on-startup (parameters: [yes/no]; default value: no)

If yes, then all feeds will be reloaded when newsbeuter starts up. This is equivalent to the -r commandline option. (example: refresh-on-startup yes)

reload-only-visible-feeds (parameters: [yes/no]; default value: no)

If yes, then manually reloading all feeds will only reload the currently visible feeds, e.g. if a filter or a tag is set. (example: reload-only-visible-feeds yes)

reload-time (parameters: <number>; default value: 60)

The number of minutes between automatic reloads. (example: reload-time 120)

reload-threads (parameters: <number>; default value: 1)

The number of parallel reload threads that shall be started when all feeds are reloaded. (example: reload-threads 3)

reset-unread-on-update (parameters: <url> ...; default value: n/a)

With this configuration command, you can provide a list of RSS feed URLs for whose articles the unread flag will be reset if an article has been updated, i.e. its content has been changed. This is especially useful for RSS feeds where single articles are updated after publication, and you want to be notified of the updates. (example: reset-unread-on-update "")

save-path (parameters: <path>; default value: ~/)

The default path where articles shall be saved to. If an invalid path is specified, the current directory is used. (example: save-path "~/Saved Articles")

search-highlight-colors (parameters: <fgcolor> <bgcolor> [<attribute> ...]; default value: black yellow bold)

This configuration command specifies the highlighting colors when searching for text from the article view. (example: search-highlight-colors white black bold)

show-keymap-hint (parameters: [yes/no]; default value: yes)

If no, then the keymap hints on the bottom of screen will not be displayed. (example: show-keymap-hint no)

show-read-feeds (parameters: [yes/no]; default value: yes)

If yes, then all feeds, including those without unread articles, are listed. If no, then only feeds with one or more unread articles are list. (example: show-read-feeds no)

show-read-articles (parameters: [yes/no]; default value: yes)

If yes, then all articles of a feed are listed in the article list. If no, then only unread articles are listed. (example: show-read-articles no)

suppress-first-reload (parameters: [yes/no]; default value: no)

If yes, then the first automatic reload will be suppressed if auto-reload is set to yes. (example: suppress-first-reload yes)

text-width (parameters: <number>; default value: 0)

If set to a number greater than 0, then all HTML will be rendered to this maximum line length. If set to 0, the terminal width will be used. (example: text-width 72)

unbind-key (parameters: <key> [<dialog>]; default value: n/a)

Unbind key <key>. This means that no operation is called when <key> is pressed. Optionally, you can specify a dialog (for a list of available dialogs, see "bind-key" above). If you specify one, the key binding will only be unbound for the specified dialog. (example: unbind-key R)

urls-source (parameters: <source>; default value: "local")

This configuration command sets the source where URLs shall be retrieved from. By default, this is ~/.newsbeuter/urls. Alternatively, you can set it to "bloglines", which enables newsbeuter's Bloglines synchronization mode, to "opml", which enables newsbeuter's OPML online subscription mode, or to "googlereader", which enables newsbeuter's Google Reader support. In order to make Google Reader support work correctly, you also need to set googlereader-login and googlereader-password. (example: urls-source "bloglines")

use-proxy (parameters: [yes/no]; default value: no)

If yes, then the configured proxy will be used for downloading the RSS feeds. (example: use-proxy yes)

user-agent (parameters: <user agent string>; default value: "")

If set to a non-zero-length string, this value will be used as HTTP User-Agent header for all HTTP requests. (example: user-agent "Lynx/2.8.5rel.1 libwww-FM/2.14")


open (default key: ENTER)

Open the currently selected feed or article.

quit (default key: q)

Quit the program or return to the previous dialog (depending on the context).

reload (default key: r)

Reload the currently selected feed.

reload-all (default key: R)

Reload all feeds.

mark-feed-read (default key: A)

Mark all articles in the currently selected feed read.

mark-all-feeds-read (default key: C)

Mark articles in all feeds read.

save (default key: s)

Save the currently selected article to a file.

next-unread (default key: n)

Jump to the next unread article.

prev-unread (default key: p)

Jump to the previous unread article.

random-unread (default key: ^K)

Jump to a random unred article.

open-in-browser (default key: o)

Opens the URL associated with the current article.

open-in-browser-and-mark-read (default key: O)

Opens the URL associated with the current article and marks the article as read.

help (default key: ?)

Runs the help screen.

toggle-source-view (default key: ^U)

Toggles between the HTML view and the source view in the article view.

toggle-article-read (default key: N)

Toggle the read flag for the currently selected article.

toggle-show-read-feeds (default key: l)

Toggle whether read feeds should be shown in the feed list.

show-urls (default key: u)

Show all URLs in the article in a list (similar to urlview).

clear-tag (default key: ^T)

Clear current tag.

set-tag (default key: t)

Select tag.

open-search (default key: /)

Opens the search dialog. When a search is done in the article list, then the search operation only applies to the articles of the current feed, otherwise to all articles.

goto-url (default key: #)

Open the URL dialog and then opens specified URL.

enqueue (default key: e)

Add the podcast download URL of the current article (if any is found) to the podcast download queue (see the respective section in the documentation for more information on podcast support).

edit-urls (default key: E)

Edit the list of subscribed URLs. newsbeuter will start the editor configured through the $VISUAL environment variable (if unset, $EDITOR is used; fallback: "vi"). When editing is finished, newsbeuter will reload the URLs file.

reload-urls (default key: ^R)

Reload the URLs configuration file.

redraw (default key: ^L)

Redraw the screen.

cmdline (default key: <colon>)

Open the command line.

set-filter (default key: F)

Set a filter.

select-filter (default key: f)

Select a predefined filter.

clear-filter (default key: ^F)

Clear currently set filter.

bookmark (default key: ^B)

Bookmark currently selected article or URL.

edit-flags (default key: ^E)

Edit the flags of the currently selected article.

next-unread-feed (default key: ^N)

Go to the next feed with unread articles. This only works from the article list.

prev-unread-feed (default key: ^P)

Go to the previous feed with unread articles. This only works from the article list.

delete-article (default key: D)

Delete the currently selected article.

purge-deleted (default key: $)

Purge all article that are marked as deleted from the article list.

view-dialogs (default key: v)

View list of open dialogs.

close-dialog (default key: ^X)

Close currently selected dialog.

next-dialog (default key: ^V)

Go to next dialog.

prev-dialog (default key: ^G)

Go to previous dialog.

pipe-to (default key: |)

Pipe article to command.

sort (default key: g)

Sort feeds/articles by interactively choosing the sort method.

revsort (default key: G)

Sort feeds/articles by interactively choosing the sort method (reversed).

up (default key: UP)

Goes up one item in the list.

down (default key: DOWN)

Goes down one item in the list.

pageup (default key: PPAGE)

Goes up one page in the list.

pagedown (default key: NPAGE)

Goes down one page in the list.


Newsbeuter comes with the possibility to categorize or "tag", as we call it, RSS feeds. Every RSS feed can be assigned 0 or more tags. Within newsbeuter, you can then select to only show RSS feeds that match a certain tag. That makes it easy to categorize your feeds in a flexible and powerful way.

Usually, the ~/.newsbeuter/urls file contains one RSS feed URL per line. To assign a tag to an RSS feed, simply attach it as a single word, separated by blanks such as space or tab. If the tag needs to contain spaces, you must use quotes (") around the tag (see example below). An example ~/.newsbeuter/urls file may look like this: interesting conspiracy news "cool stuff" news orf news interesting
When you now start newsbeuter with this configuration, you can press "t" to select a tag. When you select the tag "news", you will see all three RSS feeds. Pressing "t" again and e.g. selecting the "conspiracy" tag, you will only see the RSS feed. Pressing "^T" clears the current tag, and again shows all RSS feeds, regardless of their assigned tags.

A special type of tag are tags that start with the tilde character ("~"). When such a tag is found, the feed title is set to the tag name (excluding the ~ character). With this feature, you can give feeds any title you want in your feed list: "~ORF News"


From version 0.4 on, newsbeuter contains support for Snownews extensions. The RSS feed readers Snownews and Liferea share a common way of extending the readers with custom scripts. Two mechanisms, namely "execurl" and "filter" type scripts, are available and supported by newsbeuter.

An "execurl" script can be any program that gets executed and whose output is interpreted as RSS feed, while "filter" scripts are fed with the content of a configured URL and whose output is interpreted as RSS feed.

The configuration is simple and straight-forward. Just add to your ~/.newsbeuter/urls file configuration lines like the following ones:

The first line shows how to add an execurl script to your configuration: start the line with "exec:" and then immediately append the path of the script that shall be executed. If this script requires additional parameters, simply use quotes:

"exec:~/bin/execurl-script param1 param2"
The second line shows how to add a filter script to your configuration: start the line with "filter:", then immediately append the path of the script, then append a colon (":"), and then append the URL of the file that shall be fed to the script. Again, if the script requires any parameters, simply quote:

"filter:~/bin/filter-script param1 param2:http://url/foobar"
In both cases, the tagging feature as described above is still available:

exec:~/bin/execurl-script tag1 tag2 "quoted tag"
filter:~/bin/filter-script:http://some.test/url tag3 tag4 tag5
A collection of such extension scripts can be found on this website:

If you want to write your own extensions, refer to this website for further instructions:


Like other text-oriented software, newsbeuter contains an internal commandline to modify configuration variables ad hoc and to run own commands. It provides a flexible access to the functionality of newsbeuter which is especially useful for advanced users.

To start the commandline, type ":". You will see a ":" prompt at the bottom of the screen, similar to tools like vi(m) or mutt. You can now enter commands. Pressing the return key executes the command (possibly giving feedback to the user) and closes the commandline. You can cancel entering commands by pressing the ESC key. The history of all the commands that you enter will be saved to ~/.newsbeuter/history.cmdline. The backlog is limited to 100 entries by default, but can be influenced by setting the "history-limit" configuration variable. To disable history saving, set the history-limit to 0.

Starting with newsbeuter 2.0, the commandline provides you with some help if you can't remember the full names of commandline commands. By pressing the TAB key, newsbeuter will try to automatically complete your command. If there is more than one possible completion, you can subsequently press the TAB key to cycle through all results. If no match is found, no suggestion will be inserted into the commandline. For the "set" command, the completion also works for configuration variable names.

In additon, some common key combination such as Ctrl-G (to cancel input), Ctrl-K (to delete text from the cursor position to the end of line), Ctrl-U (to clear the whole line) and Ctrl-W (to delete the word before the current cursor position) were added.

Please be aware that the input history of both the command line and the search functions are saved to the filesystems, to the files ~/.newsbeuter/history.cmdline resp. ~/.newsbeuter/ By default, the last 100 entries are saved, but this can be configured (configuratin variable history-limit) and also totally disabled (by setting said variable to 0).

Currently, the following command line commands are available:


Quit newsbeuter

save <filename>

Save current article to <filename>

set <variable>[=<value>|&|!]

Set (or get) configuration variable value. Specifying a ! after the name of a boolean configuration variable toggles their values, a & directly after the name of a configuration variable of any type resets its value to the documented default value.

tag <tagname>

Select a certain tag

goto <case-insensitive substring>

Go to the next feed whose name contains the case-insensitive substring.

source <filename> [...]

Load the specified configuration files. This allows it to load alternative configuration files or reload already loaded configuration files on-the-fly from the filesystem.

dumpconfig <filename>

Save current internal state of configuration to file, so that it can be instantly reused as configuration file.


Jump to the <number>th entry in the current dialog





Andreas Krennmair <ak [at]>, for contributors see AUTHORS file.


ak [at]
mailto:ak [at]


podbeuter(1). The documentation that comes with newsbeuter is a good source about the general use and configuration of newsbeuter.