spotify for linux
Into Tux Rock?

If you’re a Spotify Premium subscriber — get you, fancy pants — did you know you can stream music from the command line on Linux?

Like actual music from the actual Spotify library? We’re not talking ASCII renditions ;)

Well, you can! And it’s all thanks to an open source tool written in ncurses and Rust called ncspot.

Now, I know what you’re thinking: there is an official, sanctified, and (somewhat regularly) updated Spotify for Linux client. It’s even available as a Snap. Why should you use a command line app of all things?

And you’re right.

Well, half right.

Well, maybe not even half right because the official Spotify desktop app is a never ending garbage fire of lag and disappointment.

Don’t get me wrong, it works (sometimes) but it runs poorly. And while it might integrate with Linux DEs to the point I can hit a keyboard button to skip a track I have to say: that ability is only useful if the blasted thing loads for me to play music to skip in the first place!

Am I being mean? Perhaps. But it has just taken me 6 minutes to go from clicking the Spotify shortcut to it actually loading on my screen…

ncspot is a CLI Spotify Player

ncspot is a spotify cli client

Back to ncspot, source code for which you’ll find up on Github.

Keep in mind that ncspot is a geekishly —new word, learn it— cool tool and well designed for a terminal app, meaning it isn’t necessarily newbie-friendly (or to put it another way: this is not the “easiest” way to listen to Spotify on Linux).

That said, ncspot works well, which is all I really care about as I like to listen to music not stare at it!

Helpfully, the app even boasts support for MPRIS, i.e. media player controls available on most Linux desktop environments:

And it can be configured to use keybindings too, for extra sass.

I haven’t even mentioned how it’s super resource efficient yet, either:

AppPrivate MemoryShared MemoryTotal
ncspot22.1 MiB24.1 MiB46.2 MiB
Spotify407.3 MiB592.7 MiB1000.0 MiB

Now that’s what I call …a table.

But the best thing is that ncspot is easy to install. In fact, you can install it on virtually any Linux distro out there because it’s available as a Snap app!

To install ncspot on Ubuntu run:

sudo snap install ncspot

Boom — done!

The first time you run ncspot in a new terminal window you’ll be prompted to login with your Spotify Premium account. This is all “on screen” and easy to do. The app even saves your credentials after login so that you don’t have to login each time you want to use it.

And that’s pretty much all there is to it!

Be sure to take a few minutes out to glance over the litany of keyboard shortcuts needed to navigate the UI, manage tracks, queues and playlists, and so on.

Bad news: there are a lot of shortcuts to learn.

Good news: they are very logical and easy to remember.

Better yet, if you forget which key does what just press the ? key with nscpot running to call up a handy cheat sheet.

In summary, if you’re not put off by the idea of streaming music from a command line app and you happen to be a Spotify Premium subscriber there’s no better client out there than ncspot.

P.S., in case you missed the memo in the copy above, this client does not work with free Spotify accounts. I checked. So, for something similar, try Tizonia instead.

Try it out and let me know what you think of it in the comments — and if you fancy hand crafting a Yaru-themed colour scheme for it, do share it below!

Found a cool CLI app for a task? Let me know about it via the tip form

H/t Popey

command line spotify Spotify Apps terminal apps