CMUS (C* Music Player) – A Console Based Audio Player for Linux

CMus is an open source ncursed based lightweight, fast and powerful terminal audio player for Unix/Linux like operating systems. It was released and distributed under GNU General Public License (GPL) and runs exclusively through a terminal based user interface.

CMus was designed to run on a text-only user interface, that reduces the resources required to run the application on older computers as well as systems where X window system isn’t available.

CMus application was originally developed by Timo Hirvonen, but he discontinued development around in 2008. Later it was named “cmus-unofficial” and then taken over by SourceForge in November 2008. In February 2010, it was merge into the official project named “cmus“.

Cmus Features

  1. Added support for many audio formats including MP3, MPEG, WMA, ALAC, Ogg Vorbis, FLAC, WavPack, Musepack, Wav, TTA, SHN and MOD.
  2. Faster start-up with thousands of tracks.
  3. Continuous playback and ReplayGain support.
  4. Steaming of Ogg and MP3 tracks from Icecast and Shoutcast.
  5. Strong music library filters and live filtering.
  6. Play queue and excellent compilations handling.
  7. Easy to use directory browser and customizable colors with dynamic keybindings.
  8. Added Vi style search mode and command mode with tab completion.
  9. Easily controlled via cmus-remote command (UNIX socket or TCP/IP).
  10. Runs on Unix-like systems, including Linux, OS X, FreeBSD, NetBSD, OpenBSD and Cygwin.
  11. For more core features visit THIS PAGE.

Installing CMUS Audio Player on Ubuntu/Debian and Linux Mint

To install CMus music player, open a terminal window by hitting “Ctrl+Alt+T” from the Desktop and run the following command to install it.

$ sudo apt-get install cmus
Sample Output
[sudo] password for tecmint: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  java-wrappers libjs-cropper libjs-prototype libjs-scriptaculous libphp-phpmailer libphp-snoopy tinymce
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  cmus-plugin-ffmpeg libao-common libao4
Suggested packages:
  libesd0 libesd-alsa0
The following NEW packages will be installed:
  cmus cmus-plugin-ffmpeg libao-common libao4
0 upgraded, 4 newly installed, 0 to remove and 36 not upgraded.
Need to get 282 kB of archives.
After this operation, 822 kB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 raring/main libao-common all 1.1.0-2ubuntu1 [6,610 B]
Get:2 raring/main libao4 i386 1.1.0-2ubuntu1 [37.7 kB]
Get:3 raring/universe cmus i386 2.5.0-1 [228 kB]
Get:4 raring/universe cmus-plugin-ffmpeg i386 2.5.0-1 [9,094 B]
Fetched 282 kB in 18s (15.5 kB/s)                                                                                                                             
Selecting previously unselected package libao-common.
(Reading database ... 218196 files and directories currently installed.)
Unpacking libao-common (from .../libao-common_1.1.0-2ubuntu1_all.deb) ...
Selecting previously unselected package libao4:i386.
Unpacking libao4:i386 (from .../libao4_1.1.0-2ubuntu1_i386.deb) ...
Selecting previously unselected package cmus.
Unpacking cmus (from .../archives/cmus_2.5.0-1_i386.deb) ...
Selecting previously unselected package cmus-plugin-ffmpeg.
Unpacking cmus-plugin-ffmpeg (from .../cmus-plugin-ffmpeg_2.5.0-1_i386.deb) ...
Processing triggers for man-db ...
Setting up libao-common (1.1.0-2ubuntu1) ...
Setting up libao4:i386 (1.1.0-2ubuntu1) ...
Setting up cmus (2.5.0-1) ...
Setting up cmus-plugin-ffmpeg (2.5.0-1) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place

In case your package manager doesn’t provide an up to date version of cmus, you can get it from the adding following repository on your systems.

$ sudo add-apt-repository ppa:jmuc/cmus
$ sudo apt-get update
$ sudo apt-get install cmus

Installing CMUS Audio Player on RHEL/CentOS and Fedora

CMus audio player can be installed on Red Hat based system, using third party repository. So, let’s install and enable RPMForge repository on your systems. Once you’ve rpmforge enabled on your system, you can install using following ‘yum command‘.

# yum install cmus
Sample Output
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base:
 * rpmforge:
 * updates:
rpmforge                                                              | 1.9 kB     00:00     
rpmforge/primary_db                                                   | 2.7 MB     00:53     
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package cmus.i686 0:2.4.1-1.el6.rf will be installed
Dependencies Resolved

 Package                  Arch       Version                            Repository      Size
 cmus                     i686       2.4.1-1.el6.rf                     rpmforge       294 k

Transaction Summary
Install      1 Package(s)

Total download size: 1.0 M
Installed size: 2 M
Is this ok [y/N]: y
Downloading Packages:
(1/1): cmus-2.4.1-1.el6.rf.i686.rpm 					294 kB     	00:13  

Installing : cmus-2.4.1-1.el6.rf.i686                                   		23/23 
Verifying  : cmus-2.4.1-1.el6.rf.i686                                   		17/23 

  cmus.i686 0:2.4.1-1.el6.rf                                                                                                                                   


Starting CMus

To launch first time, just type `cmus` in a terminal and press ‘Enter‘. It will start and open an album/artist view, which looks something like this.

$ sudo cmus
Start CMUS Music Player
Start CMUS Music Player

Adding Music to CMus

Open file browser view by pressing “5” and add some music. The view should be something similar to like this.

Add Songs to CMus Music Player
Add Tracks to CMus Music Player

Use arrow keys to select the folder and hit ‘Enter‘ to navigate to the folder where you’ve stored all audio files. To add audio files to your library, use arrow keys to select a file or folder and press ‘a‘ key, will take you down to the next line (so it’s easy to add a lots of files/folders). So, start adding files or folders by pressing ‘a‘ on to your library. Once you’ve added music files, save them by typing “:save” on command prompt of cmus and press ‘Enter‘.

CMUS Library View
Adding Tracks to CMus Music Player

Playing Tracks From The CMus Library

To play track simply type ‘2‘ to get the library view. You will get something similar to like this.

Playing Songs in CMus Player
Playing Tracks in CMus Player

Use the ‘up‘ and ‘down‘ keys to choose a track, that you like to play and press ‘Enter‘.

Use the ‘up‘ and ‘down‘ arrow keys to select a track you’d like to hear, and press ‘Enter‘ to play it.

Some CMus keys to control Play
Press *c* to pause/unpause
Press right/left to seek by 10 seconds
Press *<*/*>* seek by one minute
Press "r" to repeat the track
Press "s" to random order to play all tracks.

Managing The Queue

Suppose your are listening to a song, and want to play next song of your choice, without interrupting the currently running track. Simply go to the track that you want to play next and type ‘e‘.

To view/edit queue, press ‘4‘ and your queue view should looks like a simple library view.

Add Songs to CMus Queue
Add Tracks to CMus Queue

If you would like to change the order of the tracks, you can by hitting ‘p‘ keys. To remove a track from the queue list, simple use ‘*shift-D‘.

The Playlist

The playlist mode on ‘3‘, but before moving to playlist view, lets add some songs. Press ‘2‘ to get the library view and go to the track that you want and press ‘y‘ to add. Now type ‘3‘ to go the newly created playlist.

Add Songs to CMus Playlist
Add Tracks to CMus Playlist

Similar to queue view, where you can use ‘p‘ keys and ‘d‘ keys to move and delete songs from the playlist.

Search for track

To search a track go to the library view by pressing ‘2‘ and then press ‘/‘ to start a search. Type a track name you’re looking for. CMus will start searching for tracks that have all those words in them. Press ‘Enter‘ to get out of search mode and press ‘n‘ to find the next match.

Find Songs in CMus Player
Search Tracks in CMus Player

CMus Customization

As I said Cmus has bunch of very cool settings to tweak, like changing track disk numbers, enabling replaygian support or changing the keybindings. To get the quick view of current keybindings and settings, press ‘7‘ and to change setting or keybind use (up/down keys) and press ‘Enter‘.

CMus Customization
Change Keybindings and Settings

Quit CMus

Once you’ve done, press ‘:q‘ and hit ‘Enter‘ to quit. This will save all your library, settings, playlist and queue.

Further Reading

CMus application comes with a great reference manual. Here I not covered most of features and commands like ‘loading‘ and ‘saving‘ playlists, managing and controlling cmus remotely using ‘cmus-remote‘ command, etc. For more commands and options use *man cmus* in a terminal or read the following reference page.

Cmus Reference Manual

Ravi Saive
I am an experienced GNU/Linux expert and a full-stack software developer with over a decade in the field of Linux and Open Source technologies

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

Join the TecMint Weekly Newsletter (More Than 156,129 Linux Enthusiasts Have Subscribed)
Was this article helpful? Please add a comment or buy me a coffee to show your appreciation.

3 thoughts on “CMUS (C* Music Player) – A Console Based Audio Player for Linux”

  1. Hello, a bit confused as to why you would use sudo cmus instead of just cmus to start the program. Does not seem like best practices.


Got something to say? Join the discussion.

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.