We review six RSS readers

Needle in a News Stack

© Lead Image Photo by Jenelle Ball on Unsplash

© Lead Image Photo by Jenelle Ball on Unsplash

Article from Issue 215/2018

RSS feed readers bring order and clarity to the jungle of new news.

In the face of ubiquitous ad trackers, a lack of transparency, and the abundance of spam in Facebook and Twitter news timelines, Wired magazine recently praised the virtues of Rich Site Summary (RSS) feeds [1] and even predicted that they will make a comeback.

RSS is an XML-based format used by blogs, news sites, and other web content providers to publish news posts in a machine-readable form. A client application, called a news aggregator or RSS reader, lets the user subscribe to various RSS sources and assemble the incoming stories into a single customized news stream.

RSS is still alive and well, although it has lost some attention recently with the arrival of modern-day social media platforms. If you want to define your own diverse news sources without depending on Facebook or another social media engine, the time is right for exploring the rich array of content choices available through RSS.

A well-designed RSS reader can manage thousands of messages and offer sophisticated search and filter functions. Several powerful RSS clients are available for Linux. In this article, I examine Akregator [2], Canto [3], FeedReader [4], Liferea [5], QuiteRSS [6], and Makagiga [7]. (See the "Not Considered" box for a summary of some other classic RSS readers for the Linux space.)

Not Considered

Linux has been home to several other RSS readers through the years, and some are no longer in development. PenguinTV [8], for instance, which specialized in multimedia content, was developed for Gnome 2.x. RSSOwl [9] is still quite well known today, although it was last updated in late 2013. BlogBridge [10], BottomFeeder [11], AmphetaDesk [12], and the terminal application Snownews have not received comprehensive maintenance for years.


Akregator [2] has been the standard application for many generations for displaying RSS feeds on the KDE desktop. As part of the Kontact suite, the software replays Atom and RSS feeds, either in a purely text-based approach or through the KHTML engine. It optionally displays content in an external browser. Thanks to a modern GUI with tabs, Akregator also allows several news sources to be opened simultaneously. The program copes with the common, but sometimes incompatible, RSS formats of versions 0.9, 1.0, and 2.0 [13]. The software user interface is largely self-explanatory and requires little training (Figure 1).

Figure 1: The Akregator program window is unspectacular.

Akregator lets you generate archives in folders that you create yourself to group important message sources. To do this, right-click at top left in the main window on the All Feeds root folder in the tree view with the message sources and then select New Folder in the context menu. Once you have entered a name and pressed OK to confirm, the new folder appears on the left side of the tree view. You also use this approach to create hierarchical structures by adding subfolders to newly created folders. The topical focus of the feeds is highly granular.

Depending on how regularly the feed providers update and the number of feeds to which you have subscribed, thousands of messages can quickly accumulate and clutter the overview. Akregator therefore offers a delete option under Settings | Set up Akregator | Archive, which limits the capacity of the individual folders to a size specified by the user. You globally determine how many messages each archive stores and how long the messages are kept.

You can have different archiving settings for the individual RSS feeds. To do this, right-click on the desired feed and select the Edit News Sources option. In the settings window that opens, select the Archive tab and define the desired value in the corresponding dialog (Figure 2).

Figure 2: Users can remove obsolete messages in Akregator by using appropriate defaults.

Akregator does not archive single messages separately but lets the user mark them as important with a context menu option. The software then uses an envelope with an exclamation mark to visually highlight these messages when the corresponding feed is called.

If so desired, you can bookmark the message URL permanently in an external web browser. To do this, select the Copy Link Address option in the message context menu to copy the URL to the clipboard. Then insert it into the web browser's Bookmarks menu. Alternatively, messages can be displayed in an external browser using the Open in External Browser option in the context menu. You call this option in the Article menu.

Akregator also has its own HTML rendering engine that displays the selected post in a separate tab with graphics and images. This built-in browser can be accessed via Articles | Open in tab.

Akregator offers two search functions with which users can search individual articles using keywords or sort messages on the basis of terms. You enter the corresponding search terms in an input line directly above the article list on the right side of the program window. While you are typing, Akregator scans the news items in the currently opened source for articles containing the search term. The message list therefore changes permanently while you are entering the search term.

When you press Enter, the software opens the first message in which the search term appears in a new tab. Users can enable more tabs by right-clicking the desired messages and then selecting the Open in new tab option from the context menu.

To search for a term in an open message, you need to use a somewhat hidden text search tool accessed by pressing Ctrl+F. Much like other KDE programs or Firefox, it draws a horizontal input and control bar at the bottom of the screen, in which you can enter a search term. By clicking Next and Back, the search tool jumps to the individual color-highlighted matches in the text. The Settings button also lets you perform a case-sensitive search.


Canto [3] is a feed reader written in Python without a graphical interface. The program is available from the software repositories of the larger Linux distributions, but the source code is also maintained on the project website.

Once you have successfully installed it, you can call the software with the canto command in a terminal. If, on the other hand, you go for the newest version that does not yet exist in most repositories, the command is canto-curses. Canto subscribes to RSS and Atom feeds, but it can also import OPML files [14] from other readers or export them to this standard format. Canto also supports feed subscriptions with authentication.

Canto's developers completely changed the user interface, except for navigating the feeds, when upgrading from version 0.7.x to the new 0.9.x. Users of older versions can no longer easily operate the new versions.

To work with Canto in the versions from the distribution repositories, you need to store a configuration file named conf.py in the ~/.canto/ directory. The easiest way to do this is to copy the existing conf.py sample file, for example, using

cp conf.py.example conf.py

then open the new configuration file and add one or more feed addresses (Figure 3). You can also add display filters here to hide messages that you have read. In the configuration file, you can also define third-party programs to play multimedia content embedded in feeds. Canto also imports OPML lists – if available – with feed addresses from other RSS readers. The canto -i <filename> command helps here.

Figure 3: Users can add Canto functions with just a few lines.

If you then call the software without further parameters, the latest headlines from the listed sources appear in the terminal. Canto has a special feature in this respect: The reader lists all messages below the respective feed, even if there are several subscribed sources. This means the user does not have to switch between feeds (Figure 4).

Figure 4: All messages appear below each other in Canto.

Canto displays the unformatted individual messages as a terminal-only reader. To display graphical elements, you need a web browser. The browser can be freely defined and entered in the configuration file. For example, if you want to use Firefox as an external browser, add the line:

link_handler("firefox \"%u\"")

When you press G, Canto sends the current message to Firefox.

The software also supports text-based browsers such as ELinks. If you want to customize the browser, add new feeds, and delete obsolete ones, you don't have to edit the configuration file in the terminal manually every time. It can be modified with command-line parameters. For a detailed list of parameters, refer to the software documentation in the man page [15].

The newsreader is operated with keyboard shortcuts. You then navigate between the feeds with the Up Arrow and Down Arrow keys. To open a message in the internal browser, press the Spacebar, which opens a window area with the message in a white font, while the rest of the program window still displays the individual headlines in a blue font.

If you want to update the feeds when you launch the program, add the -u parameter to the start command. Using the Left Arrow and Right Arrow keys and Shift+R and R, you can mark a message as read or unread.

The new versions of the 0.9.x branch let users edit the configuration directly from within the program, which means that previous command parameters for adding or deleting feeds, for example, are no longer required when calling the software. Instead, you start the application by typing canto-curses.

Commands are configured as in Vim by entering a colon in the program followed by the command. The command appears at the bottom of the window in the form of a command line. For example, add: <feed address> adds a new feed to the list.

You can delete a feed by moving to one of the feed's headlines and then typing :del. Canto will then tell you that it has deleted the feed. A detailed overview of the new commands and parameters is provided in the documentation [16].

Canto has a simple search function. It uses search terms to find messages; the search is limited to the headlines. If you press F in the message view, you can enter a search term at the bottom of the screen. Canto now displays all headings containing the search term in white.


The GNU GPLv3 program FeedReader [4] is a young project that only a few Linux distributions have in their portfolio thus far. It makes sense to install from the project's website, which offers numerous precompiled packages and their matching instructions. A Flatpak installation is also possible if the respective Linux distro supports this new installation option.

The software uses the Gtk+ toolkit and follows the Gnome desktop's conventions when it comes to the user interface. Operating the program turns out to be unusual, as does the interface: FeedReader has already implemented a large number of message feeds that the user can preselect. The Local RSS option lets you add your own content. The program window shows the individual feeds in subfolders on the left, the last message headers of the active feed in the middle, and the message on the right – correctly formatted (Figure 5).

Figure 5: The FeedReader interface looks fresher than that of other programs.

FeedReader displays news without advertising, if possible, but cannot open links automatically. The software only lets you copy links to the clipboard to call them up in a browser with a right-click. Images in the news are enlarged after clicking on them; they can also be copied to local storage.

The most important controls are integrated into the titlebar in the usual way of Gnome applications. FeedReader also offers an input field for text searches, which then searches and filters the message list for the terms you enter: Articles that contain the search term appear in the message list. If you then open one of the articles, FeedReader also highlights in yellow the matching search term in the article.

By clicking Tag article, you can also add a tag to individual messages that then appears as a new category on the tree view on the left side. The reader then groups all the articles that are tagged with the respective tag into this category, giving the user quick access to topically sorted articles (Figure 6).

Figure 6: FeedReader also has a sophisticated search function.

FeedReader has an archiving function, which you can set up from the gear symbol located top center in the titlebar and the Settings option. In the Database area, you can define deletion intervals from a selection menu, the longest interval being six months. You can also select the Never option to keep all messages indefinitely.

In the Sync area of the same Settings dialog, you can define the maximum number of posts to keep. To do this, enter an integer value in the corresponding input field. FeedReader creates the archives program-wide; they cannot be configured specifically for a group.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More