Install and Configure MPD with NCMPCPP on Linux Mint 22

Music Player Daemon(MPD) is an efficient, effective and powerful server side music player application for linux distros such as Ubuntu and Mint. It plays audio files, organizes playlists and maintains music database. MPD cannot be accessed directly. There must be a client side application which enables you to access it. For our case we will use ncmpcpp as our client app.

In this tutorial am going to show you how to install and configure mpd with ncmcpp as a client side app to enable you play and enjoy music on your Linux mint 22. So let’s get started.

Before running any installation commands, always update your server’s packages. Use the following command:

sudo apt update

Step 1: Install Music Player Daemon (MPD) on Linux Mint 22

Next we will now start install our music server. Enter the command below and press ENTER to begin installation.

sudo apt install mpd

Step 2: Configure Music Player Daemon (MPD) on Linux Mint 22

At this point MPD has been installed on your machine. It is time to set up a configuration file for proper functioning. We are going to create directories to be used by MPD. Create the default directory and a playlist directory.

mkdir -p ~/.mpd/playlists/

Create a configuration file inside the ~/.mpd directory.

vim ~/.mpd/mpd.conf

Add the below content. Remember the configuration can be modified to your liking.

bind_to_address "127.0.0.1" 
#bind_to_address "~/.mpd/socket" 
music_directory "~/Music" 
playlist_directory "~/.mpd/playlists" 
db_file            "~/.mpd/mpd.db"  
log_file           "~/.mpd/mpd.log" 
pid_file           "~/.mpd/mpd.pid"  
state_file         "~/.mpd/mpdstate"  

audio_output {  
    type        "pulse" 
    name        "pulse audio" 
    device      "pulse" 
    mixer_type  "hardware" 
} 

audio_output { 
    type        "fifo" 
    name        "my_fifo" 
    path        "/tmp/mpd.fifo" 
    format      "44100:16:2" 
}

If you prefer to use alsa instead of pulse audio then the first audio_output parameters would look like below:

audio_output { 
       type        "alsa" 
       name        "Alsa for audio sound card" 
       mixer_type        "software"      # optional 
}

Now add mpd username to login and audio groups:

sudo gpasswd -a mpd <your login group> 
chmod 710 ~/ 
sudo gpasswd -a mpd audio

Check if the configuration is valid by starting mpd as root user and check if listening on port 6600

$ mpd
$ ss -tunelp | grep 6600
tcp   LISTEN 0      5          127.0.0.1:6600       0.0.0.0:*    users:(("mpd",pid=2446,fd=10)) uid:1000 ino:15321 sk:9 cgroup:/user.slice/user-1000.slice/[email protected]/app.slice/app-org.gnome.Terminal.slice/vte-spawn-e0abfc70-f0e0-4f4b-b8d2-a360a7f7c1b2.scope <->

For autostart, mpd.service systemd unit is found in /usr/lib/systemd/system/mpd.service.

Step 3: Install and Configure ncmpcpp on Linux Mint 22

This application will serve as CLI for playing music from mpd server. Execute the following commands in your terminal.

sudo apt update
sudo apt install ncmpcpp

Let’s now run the configuration file to match settings with the ones in the MPD server. Create the following directory in the home directory by entering the following command in your terminal.

mkdir ~/.ncmpcpp

Change to the created directory

cd ~/.ncmpcpp

Create ncmpcpp configuration file as below:

vim config

Add the below content:

# Files
 mpd_music_dir = "~/Music"  
 lyrics_directory  = ~/.ncmpcpp/lyrics
 ncmpcpp_directory  = ~/.ncmpcpp
 mpd_host = "localhost"
 mpd_port = "6600"  
 mpd_connection_timeout = "5"  
 mpd_crossfade_time = "5"  

 # Playlist
 playlist_disable_highlight_delay = "0"
 playlist_display_mode = "columns"  
 playlist_show_remaining_time = "yes"
 browser_display_mode = "columns"  
 autocenter_mode = "yes"  
 fancy_scrolling = "yes"  
 follow_now_playing_lyrics = "yes"  
 display_screens_numbers_on_start = "yes"  
 ignore_leading_the = "yes"  
 lyrics_database = "1"  
 song_columns_list_format = "(10)[blue]{l} (30)[green]{a} (30)[magenta]{b} (50)[yellow]{t}"  
 colors_enabled = "yes"  
 main_window_color = "white"
 main_window_highlight_color =  "blue"
 header_window_color = "cyan"  
 volume_color = "red"  
 progressbar_color = "cyan"  
 statusbar_color = "white"  
 active_column_color = "cyan"  
 active_window_border = "blue"
 alternative_header_first_line_format = "$0$aqqu$/a {$7%a - $9}{$5%t$9}|{$8%f$9} $0$atqq$/a$9"
 alternative_header_second_line_format = "{{$6%b$9}{ [$6%y$9]}}|{%D}"
 song_list_format = "{$3%n │ $9}{$7%a - $9}{$5%t$9}|{$8%f$9}$R{$6 │ %b$9}{$3 │ %l$9}"
 user_interface = "alternative"
 default_place_to_search_in = "database"

# visualizer
visualizer_fifo_path = "/tmp/mpd.fifo"
visualizer_output_name = "my_fifo"
visualizer_sync_interval = "12"
#visualizer_type = "wave" (spectrum/wave)
visualizer_type = "spectrum" (spectrum/wave)
visualizer_in_stereo = "yes"
visualizer_look = "+|"  

## Navigation ##
cyclic_scrolling = "yes"
header_text_scrolling = "yes"
jump_to_now_playing_song_at_start = "yes"
lines_scrolled = "2"

## Other ##
system_encoding = "utf-8"
regular_expressions = "extended"

## Selected tracks ##
selected_item_prefix = "* "
discard_colors_if_item_is_selected = "no"

## Seeking ##
incremental_seeking = "yes"
seek_time = "1"

## Visivility ##
header_visibility = "yes"
statusbar_visibility = "yes"
titles_visibility = "yes"
progressbar_look =  "=>-"
progressbar_elapsed_color = "white"

now_playing_prefix = "> "
song_status_format = " $2%a $4⟫$3⟫ $8%t $4⟫$3⟫ $5%b "
autocenter_mode = "yes"
centered_cursor = "yes"

# Misc
display_bitrate = "yes"
# enable_window_title = "no"
follow_now_playing_lyrics = "yes"
ignore_leading_the = "yes"
empty_tag_marker = ""

Kill the mpd process you started manually, and then restart mpd server. Check the PID of PMD server listening on port 6600, then kill it.

ss -tunelp | grep 6600
sudo kill <PID>

Then restart MPD server:

sudo systemctl restart mpd
sudo systemctl status mpd

Now start ncmpcpp in terminal by typing ncmpcpp.

$ ncmpcpp

The player should open and load music present in the music directory, I have no music, hence the empty list:

Use F3 or 3 to browse your music. Use U to update your database. For help press F1 for more options. You can exit the application by pressing letter q.

Shortcuts list:

     Down j   : Move Cursor down  
     Page Up   : Page up  
     Page Down  : Page down  
     Home    : Home  
     End     : End  
     Tab     : Switch between playlist and browser  
     1 F1    : Help screen  
     2 F2    : Playlist screen  
     3 F3    : Browse screen  
     4 F4    : Search engine  
     5 F5    : Media library  
     6 F6    : Playlist editor  
     7 F7    : Tag editor  
     0 F10    : Clock screen  
   Keys - Global  
  -----------------------------------------  
     s      : Stop  
     P      : Pause  
     >      : Next track  
     <      : Previous track  
     f      : Seek forward  
     b      : Seek backward  
     Left -   : Decrease volume  
     Right +   : Increase volume  
     t      : Toggle space mode (select/add)  
     T      : Toggle add mode  
     |      : Toggle mouse support  
     v      : Reverse selection  
     V      : Deselect all items  
     A      : Add selected items to playlist/m3u file  
     r      : Toggle repeat mode  
     Z      : Shuffle playlist  
     i      : Show song's info  
     I      : Show artist's info  
     L      : Toggle lyrics database  
     l      : Show/hide song's lyrics  
     q Q     : Quit  

+ - Increase volume 2%
- - Decrease volume 2%
# - Display bitrate of file
= - Clock
F1 - Help

z - random mode [-z----]
y - single mode [--s---] (Repeats the current track after reaching the end.)
R - consume mode [---c--] (Removes the current track from playlist after reaching the end.)
x - crossfade mode [----x-]
u - Database update

Enjoy your music!! More informative Linux Guides below:

Join our Linux and open source community. Subscribe to our newsletter for tips, tricks, and collaboration opportunities!

Recent Post

Unlock the Right Solutions with Confidence

At CloudSpinx, we don’t just offer services - we deliver clarity, direction, and results. Whether you're navigating cloud adoption, scaling infrastructure, or solving DevOps challenges, our seasoned experts help you make smart, strategic decisions with total confidence. Let us turn complexity into opportunity and bring your vision to life.

Leave a Comment

Your email address will not be published. Required fields are marked *

Related Post

In this short article we will be showing you how to install Spotify on Linux Mint 22. Spotify is a free […]

WireGuard is a modern VPN that uses peer-to-peer kind of connectivity to establish the connection. It is a simple and […]

Eclipse Adoptium’s main objective is to produce high-quality runtimes and the associated technology to be used within the Java Ecosystem. […]

Let's Connect

Unleash the full potential of your business with CloudSpinx. Our expert solutions specialists are standing by to answer your questions and tailor a plan that perfectly aligns with your unique needs.
You will get a response from our solutions specialist within 12 hours
We understand emergencies can be stressful. For immediate assistance, chat with us now

Contact CloudSpinx today!

Download CloudSpinx Profile

Discover the full spectrum of our expertise and services by downloading our detailed Company Profile. Simply enter your first name, last name, and email address.