Difference between revisions of "Newsboat"

From ArchWiki
Jump to navigation Jump to search
(change category to News aggregators)
(Configuration: Dead link)
Line 95: Line 95:
users to use external information from the system within the configuration.
users to use external information from the system within the configuration.
See [https://gist.github.com/anonymous/42d2f5956e7bc8ee1ebc], [http://moparx.com/configs/newsbeuter/] and [https://github.com/akrennmair/newsbeuter/blob/master/test/config-example] for example configurations.
See [https://gist.github.com/anonymous/42d2f5956e7bc8ee1ebc] and [http://moparx.com/configs/newsbeuter/] for example configurations.
{{Note|To see a complete list of configuration command, consult the man page}}
{{Note|To see a complete list of configuration command, consult the man page}}

Revision as of 02:53, 4 October 2017

From the project web page:

Newsbeuter is an open-source RSS/Atom feed reader for text terminals. It runs on Linux, FreeBSD, Mac OS X and other Unix-like operating systems. Newsbeuter's great configurability and vast number of features make it a perfect choice for people that need a slick and fast feed reader that can be completely controlled via keyboard.


Install the newsbeuter package. For the development version, install the newsbeuter-gitAUR package.


Newsbeuter can't start without any configured feeds. Feeds can be configured in ~/.newsbeuter/urls.

Newsbeuter can be started from the command line with


Press the ? key to see a list of all keybindings. Keybindings can be rebound, see #Configuration.

Note: If you only have a single feed newsbeuter won't cache fetched items (this bug is fixed in the development version).

Managing feeds

Adding, removing, and tagging feeds is done by editing the urls file. By default that is ~/.newsbeuter/urls.

Adding/Removing feeds

To add URLs, open ~/.newsbeuter/urls 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 ~/.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 ~/.newsbeuter/urls file:


To remove a feed, simply delete the line from your urls file

Tagging feeds

Every feed can be assigned 0 or more tags. This makes it easy to categorize your feeds as well as the ability to easily apply commands to multiple feeds at once.

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 may look like this:

http://blog.fefe.de/rss.xml?html interesting conspiracy news "cool stuff"                                       
http://rss.orf.at/news.xml news orf                                                                             
http://www.heise.de/newsticker/heise.rdf 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 http://blog.fefe.de/rss.xml?html RSS feed. Pressing Ctrl-T clears the current tag, and again shows all RSS feeds, regardless of their assigned tags.

Note: If the tag name contains spaces, the tag must be bounded by "

Special tags

Custom feed names

The name of a feed can be defined with a special tag in your urls file. Simply prefix the tag name with the ~ character and the tag name will become the feed name.

For example:

http://rss.cnn.com/rss/cnn_topstories.rss "~CNN Top stories"

will define the feed with feed-name "CNN Top stories"

Hidden feeds

A feed can be hidden from the regular list of feeds by prefixing the tag name with an !.

For example:

http://rss.orf.at/news.xml "!ORF News (hidden)"                                                                 

The content of a hidden feed can only be found through a query feed.


Several aspects of newsbeuter’s behaviour can be configured via a configuration file which is located, by default, in ~/.newsbeuter/config. This configuration file contains lines of 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.

See [1] and [2] for example configurations.

Note: To see a complete list of configuration command, consult the man page


Automatic feed reloads

You can use cron or systemd to automatically reload your feeds. Just add a line in your crontab, or create a systemd service/timer unit combo that issues the following command:

/usr/bin/newsbeuter -x reload

Alternatively, you can set Newsbeuter to automatically reload all of your feeds at startup with the following configuration:

auto-reload yes

With this setting, Newsbeuter also runs periodic auto-reloads -- by default, every 60 minutes. The number of minutes between automatic reloads can be configured like so:

reload-time <desired number of minutes>

Pass article URL to external command

A clever little hack allows you to pass the url of an article to an external command. The idea is to use a macro to set the browser that newsbeuter opens the article with to the path of some other command and then change it back afterwords.

For example, if you subscribe to a youtube channel and you would like to open the video with mpv, do the following:

macro y set browser "mpv %u" ; open-in-browser ; set browser "elinks %u"
Note: to use a macro, you must first press the , key, followed by the keybind. In the example above, you would type , + y


Newsbeuter won't start

Newsbeuter cannot start without any configured feeds! If you try to do this you will get the following error:

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

To add urls, see #Managing feeds

If that is not the problem, then you probably have another instance of newsbeuter running. Newsbeuter issues a lock on its database so that only one instance can access it at a time; thus, attempting to open a second instance will fail.

See Also