I'm trying to set the mpd daemon to run as the local logged on user under Linux Mint (Cinnamon). I have set the following folder structure:
$ cp /usr/share/doc/mpd/mpdconf.example ~/.config/mpd/mpd.conf
$ mkdir ~/.config/mpd/playlists
$ touch ~/.config/mpd/{database,pid,state,log,sticker.sql}
I've edited ~/.config/mpd/mpd.conf to use the above and I executed $ mpd ~/.config/mpd/mpd.conf successfully. Follows an excerpt of the config file as I set it up:
music_directory "~/Music"
playlist_directory "~/.config/mpd/playlists"
db_file "~/.config/mpd/database"
log_file "~/.config/mpd/log"
pid_file "~/.config/mpd/pid"
state_file "~/.config/mpd/state"
sticker_file "~/.config/mpd/sticker.sql"
user "[my_username]"
The problem is that on every reboot, mpd stubbornly refuses to use my user config file and reverts to the default /etc/mpd.conf, even when I disable mpd from the Startup Applications panel in Cinnamon.
Every time I boot, I have to open a terminal as su and issue mpd --kill. Then, back as a normal user, I can finally start mpd and use it normally.
~$ su
password:
# mpd --kill
# exit
exit
~$ mpd
server_socket: bind to '0.0.0.0:6600' failed: Address already in use (continuing anyway, because binding to '[::]:6600' succeeded)
Only now I can use mpd normally. How can I force mpd to use my local configuration on every reboot and avoid going through all this trouble?