Skip to content
Lightweight console-based radio player for Last.FM radio streams.
C Python Haskell Shell Perl C++ VimL
Find file
Latest commit 3e37d10 Mar 16, 2014 Jonas Kramer Merge pull request #80 from AlexanderPavlenko/master
Fix port number extraction
Failed to load latest commit information.
scripts Close session in remote control script. Nov 9, 2012
.gitignore Allow to build shell-fm without dependencies. Sep 19, 2009
INSTALL Document optional dependency on libtagc. Nov 2, 2009
Makefile Workaround for case-insensitive file systems. Aug 8, 2011
README.textile Fix git URI in clone instructions. Oct 1, 2010
RELEASE Release notes for v0.8, version bump. May 25, 2011



shell-fm is a lightweight, console-based player for Last.FM radio streams. It’s pretty small (the binary is currently a little smaller than 60K, or 50K when stripped) and it has most features the “official” player has, if not even a few more. Additional features are, for example:

  • network interface (control shell-fm remotely)
  • autoban (automatically ban all tracks of an artist you don’t like)
  • bookmark stations (quickly jump to bookmarked stations with a single key)
  • … probably more


shell-fm doesn’t need much. You definitely need libmad. shell-fm can also use libao for playback (optional).


It’s always recommended to use the latest version from GitHub.

First clone the repository:

$ git clone git://

Make sure you have the needed libraries to compile (libmad0-dev and libao-dev.) This should do the trick for Ubuntu:

$ sudo apt-get install libmad0-dev libao-dev

Change into the repository directory and compile Shell.FM:

$ cd shell-fm
$ make

Finally, install the binary and the manual as root:

$ su -c "make install"
$ sudo make install
Something went wrong with that request. Please try again.