Read news with Newsboat
Focus on what’s important in the world and cut out all those cat meme distractions with Neil Mohr and a terminal-based text-only news reader.
Focus on what’s important and cut out the distractions with boring Neil Mohr and a terminal-based, text-only RSS reader that can funnel your favourite sites to one place.
What sort of world have we created? An open internet was supposed to be a bastion of human knowledge, where we could all share our thoughts, contribute to the advancement of all human knowledge and have an occasional game of Quake. What did we get instead? Facebook and a web of endless adverts and faux top-ten buying guides.
One of the standards that grew out of the early(ish) web was RSS (Really Simple Syndication) that was originally built into Nescape Navigator in 1999. It gave websites a way to announce updated content in a minimal way. Its popularity has come and gone, but RSS has stuck around even after Google Reader was killed off and the competing ATOM standard was launched.
An RSS feed offers a distraction-free way to obtain updates from your favourite website (although not
www.linuxformat.com because that’s just too advanced for us). If you combine this with the terminal then it means the latest news can be delivered directly to your favourite place to work.
We’re going to take a look at NewsBoat. It’s certainly not the only option, but it’s currently actively developed, it’s in most repos, there’s a Snap (you lot stop moaning – Ed), it offers built-in HTML rendering, advanced filters, basic podcast support and loads more.
To install Newsboat on Ubuntu and Debian, type
$ sudo apt install newsboat
It’s in both distro’s repos, if you don’t mind Snaps although it would be overkill for a terminal tool, then:
$ sudo snap install newsboat
If you want the latest bleeding-edge version then you can clone the Git, ensure you have all the build tools and dependencies, and then compile it from the source. Full details on how to do all that are in the online manual at
https://bit.ly/lxf280newsboat.
Don’t try and run it yet. There are no default RSS feeds and it’ll kick out an error saying as much. We’ll need to create a config file using:
$ nano ~/.newsboat/urls
At this point you’ll want a few RSS feeds to add in. Perhaps we can help out with a few suggestions if you can’t think of any offhand.
https://www.reddit.com/r/linux/.rss https://lkml.org/rss.php https://omgubuntu.co.uk/feed https://www.raspberrypi.org/blog/feed/ https://www.anandtech.com/rss
If you have a subscription RSS feed that requires a username and password to access the information, then the format looks like this:
https://username:password@hostname.domain.tld/ feed.rss
If you’re going to store passwords within the Newsboat configuration file it’s best to ensure it can only be read by yourself with: $ chmod u=rw,g=r,o= ~/.newsboat/ urls
With a few feeds now configured start it with newsboat -r . Adding the -r forces Newsboat to refresh all the feeds. Why wouldn’t you want this all the time? If you have a lot of feeds it’s just wasting time and if you start Newsboat without the -r then once it’s running you can individually refresh a feed by pressing r or refresh all feeds with R.
Basic navigation
Once you’re in Newsboat and have actual articles to read, navigation is pretty obvious and quick:
up/down arrow keys – move the selection up and down by a single line
Enter – read the currently selected article q – exit the current article/feed and then Newsboat
n – jumps you to the next unread article when pressed while inside an article
Home/End – jumps you to the start/end of either a list or an article itself
Pg up/Pg down – jumps you a single page up/down
? – lists all keyboard shortcuts
/ – opens the keyword search
Because the point of RSS feeds is simply to give you an outline of the article, if you want to read the full thing on the actual web site press o to open it in your default browser.
Adding tags
If you get really into RSS feeds then you can end up with a long list of them. To keep things organised it’s recommended that you group feeds using one or more tags. So, for example, you could lump all the news sites into a “news” tag. It’s no more complex than going back into the URL configuration file, leaving a space after the URL and adding the required tag name. If you want a longer tag that has spaces just enclose the tag name in “double quotes”. You’re able to use as many tags on a feed as you like – just separate them with a space.
When you now start Newsboat press the t key to view feeds organised by tags and use q to “quit” back to the normal feed view.
This simple tag system extends to renaming the feed name that’s scrapped from the publisher. Again, after the URL give it any name that you’d like, starting with a ~ to show Newsboat that’s the new name. Again, use double quotes if the name has spaces. If you want to hide a feed for some reason then use an ! after the URL – though it still appears in the tag view. You can also replace the ~ symbol with the ! as part of the name and it’ll have the same effect.
RSS feeds are funny things. They certainly seemed to fall out of fashion at one point, but they’re still around and can certainly help your scan and organise a heap of news and current events into a single, easy-to-access location. Newsboat is not the only option out there, but it’s a quick and easy terminal option that’s a worth a closer look.