What Is rmpc and Why Does It Require MPD?
Updated
rmpc (Rusty Music Player Client) is a terminal user interface (TUI) client for MPD, the Music Player Daemon. It does not play music itself and does not manage your music library on its own — it connects to a running MPD server and gives you a configurable, keyboard-driven interface for controlling playback. So you can use rmpc only if you already have (or are willing to set up) an MPD instance that indexes and plays your local music.
The client/server split, explained
MPD follows a client–server model:
- MPD (the server) runs in the background, watches your music directories, maintains the library database, decodes audio, and outputs it to your sound device.
- A client connects to MPD over a socket and sends commands: play, pause, skip, adjust volume, browse the queue, and so on.
rmpc is one such client. It is described as "a beautiful and configurable TUI client for MPD," which places it in the same role as other MPD frontends — it is the control surface, not the engine.
This is why rmpc requires MPD: without a running MPD service, rmpc has nothing to connect to and no library to display.
What this means for your existing setup
Whether rmpc fits depends on where your music already lives.
| Your situation | Does rmpc fit? |
|---|---|
| You already run MPD and want a nicer terminal frontend | Yes — rmpc is built for exactly this |
| You have local music files but no MPD yet | Yes, but you must install and configure MPD first |
| You stream from a service (Spotify, etc.) with no local files | Not directly — MPD works with files it can index |
| You want a player that manages its own library | No — that responsibility belongs to MPD, not rmpc |
The key point: rmpc does not scan folders, build a database, or decode audio. Those are MPD's jobs. If your library isn't already visible to an MPD server, rmpc won't make it appear.
Getting from zero to a working rmpc
If you're starting without MPD, the sequence is:
- Install and run MPD. Configure its music directory and audio output, then start the service. Verify it's running before continuing.
- Install rmpc. Follow the installation instructions on the rmpc site for your platform.
- Point rmpc at your MPD instance. By default it connects to the local MPD; if your server is remote or on a non-default socket/port, adjust the connection settings.
- Configure rmpc to taste. The project documents a range of configuration options, and there are predefined and user-submitted themes if you want to change the look.
The rmpc documentation notes it covers the development version, so make sure the docs you read match the version you installed — configuration options can differ between releases.
Common sticking points
- "rmpc can't connect." Usually MPD isn't running, or rmpc is pointed at the wrong host/port/socket. Confirm MPD is up first.
- "My music isn't showing." The files likely aren't in MPD's configured music directory, or MPD hasn't updated its database. That's an MPD-side fix, not an rmpc one.
- "No sound." Audio output is an MPD concern. Check MPD's output configuration.
- Docs don't match behavior. You may be reading development-version docs against a stable install, or vice versa.
The short version
rmpc is a frontend; MPD is the player and library manager. You need MPD running before rmpc is useful, and rmpc won't replace MPD's job of indexing and playing your music. If you already have MPD, rmpc is a drop-in, highly configurable terminal client for it. If you don't, budget time for the MPD setup first — that's the prerequisite, not an optional extra.