Brief: Listening to music in Linux terminal? Why not? Nothing is impossible when it comes to Linux terminal.
There is no shortage of music players on Linux. Almost all of them offer a GUI (Graphical User Interface). Some of them look really nice and some not so much.
Considering that all of them are GUI-based applications. What about, us, terminal lovers? Do we not deserve a treat?
Well, today I am going to introduce cmus. If you are a music enthusiast with a collection of music and love the terminal too, you will have to look no further!
cmus: A Terminal-Based Music Player
The official site for cmus describes it perfectly:
cmus is a small, fast and powerful console music player for Unix-like operating systems.
It is written in C programming language. So the performance is good enough and it’s not resource-hungry at all. It is also extensible via external scripts.
The project exists and works but isn’t actively developed anymore. In other words, you may get minor fixes/patches. But, you should not expect any future releases with significant changes.
Considering that, let’s take a look at the features.
Every essential feature a music player needs is present in cmus. Some of the basic ones are:
- Supported Formats: Almost every audio formats are supported on cmus, including the most popular ones – mp3, flac, wav, aac etc.
- Music Library: cmus is capable of presenting your music collection in a well-organized library. And it is totally intuitive and easy to navigate through. You can search and filter through the tracks seamlessly. It supports Playlists and Play Queue. There is also an integrated file browser if you want to play tracks from outside your library.
- Gapless Playback: Keep on listening without any break. It can cycle through the whole music library.
- Keybindings: cmus comes with sensible keyboard shortcuts for performing various actions. And the great thing is — all of those are completely customizable.
- Themes & Customizability: You can select from pre-defined themes that come with cmus. Or you can create your own! Every little details are customizable in cmus.
- Speed: Even you have thousands of tracks in your library, it doesn’t affect the startup-time of cmus.
In short, if you love to use the terminal, there’s no way that you will be disappointed by cmus. That’s how cool cmus is.
Installation on Ubuntu
cmus is available via the official Ubuntu repository. So, installing is as easy as typing a single command:
sudo apt install cmus
However, if you want to compile it from source you can take a look at the README file.
Getting started with cmus
Being a console application, it takes a little while to get used to cmus. But once you do, it’s totally worth it. The first thing you will want to do after installation is run this command:
This will start the music player. And, it should look something like this:
Of course, you haven’t added any music yet. To do that, you need to navigate to the folder you have the collection by pressing 5, it should let you select a directory and then browse through:
Now, to add files or folders to your library/playlist, you need to press ‘A‘ and it will move you down the line so that you can add multiple files in a row, if that’s how you have it organized.
Next, you can go back to the main screen by pressing 1 or you can also press 2 to get a simple library view which may not look as good as the main library view.
Whenever you’re navigating for a music or file, simply press ENTER to play it.
For basic navigation, you can press C to pause/unpause and use the arrow button to seek by 10 seconds.
If you want to explore more about its usage — how to manage the queue, add a playlist, and customizations, you just have to type in:
This will show you a basic tutorial for using cmus. For further details, try:
You will also find some plugins to extend the functionalities. You can check for those by typing:
In either case, simply head on to its GitHub wiki page or the official website to learn more about it.
Additional tip: Music scrobbling with cmus
If you are used to scrobbling musics, it’s totally possible in cmus. As I’ve said before, cmus is extensible. There are multiple scripts for this purpose. You will find some of them listed here in cmus Wiki. I’ve tried many of them. And I will suggest you to use cmusfm without any doubt. It supports scrobbing to both Last.fm and Libre.fm.
If you don’t know what scrobbling is — it is a way of logging the musics you play, so that you can visit your history later.
Did you know about cmus or using it already? What do you think about it?