PDA

View Full Version : MPD Starting Error (Can't open log)



Kivamaki
27th December 2008, 11:57 AM
So I added the rpm, did yum install mpd. Then I did gedit /etc/mpd.conf and changed the music directory to "/home/hustin/Music" (made the "M" capital..since its case sensitive..right?).

Anyways, after I did that I follow the steps in the actual guide here: ( http://mpd.wikia.com/wiki/Install#Fedora_Install_Procedure ) I did the "mpd --create-db" command, nothing happened, so then I typed the command "service mpd start" and I get this error below:


[hustin@Hustin ~]$ service mpd start
Starting The Music Player Daemon: problem opening log file "/var/lib/mpd/mpd.log" (config line 8) for writing
[FAILED]


Any help?

asqwerty
27th December 2008, 12:22 PM
I think you have permissions problems. try to configure mpd as local user. first make the config file at ~ /.mpdconf like this:

$ cat .mpdconf
port "6600"
music_directory "~/Music"
playlist_directory "~/.mpd/playlists"
db_file "~/.mpd/mpd.db"
log_file "~/.mpd/mpd.log"
error_file "~/.mpd/mpd.error"


then you must made the playlists directory:

$mkdir -p ~/.mpd/playlists

and you can run mpd as local user typing

$ mpd

or add it to session running programs.

Kivamaki
27th December 2008, 12:30 PM
This is my current mpd.conf file, its located under /etc

So, where the "/var/lib/mpd/" is..change to "~/.mpd/" , is that correct? Then, how can I make mpd a local user?


# An example configuration file for MPD
# See the mpd.conf man page for a more detailed description of each parameter.

######################## REQUIRED PATHS ########################
music_directory "/home/hustin/Music"
playlist_directory "/var/lib/mpd/playlists"
db_file "/var/lib/mpd/mpd.db"
log_file "/var/lib/mpd/mpd.log"
error_file "/var/lib/mpd/mpd.error"
################################################## ##############


######################## OPTIONAL PATHS ########################
#
# If you wish to use mpd --kill to stop MPD, then you must
# specify a file here in which to store MPD's process ID.
#
#pid_file "~/.mpd/mpd.pid"
#
# If specified, MPD will save its current state (playlist,
# current song, playing/paused, etc.) at exit. This will be
# used to restore the session the next time it is run.
#
state_file "/var/lib/mpd/mpdstate"
#
################################################## ##############


######################## DAEMON OPTIONS ########################
#
# If started as root, MPD will drop root privileges and run as
# this user instead. Otherwise, MPD will run as the user it was
# started by. If left unspecified, MPD will not drop root
# privileges at all (not recommended).
#
user "hustin"
#
# The address and port to listen on.
#
#bind_to_address "any"
#port "6600"
#
# Controls the amount of information that is logged. Can be
# "default", "secure", or "verbose".
#
#log_level "default"
#
################################################## ##############


########################### ZEROCONF ###########################
#
# If yes, service information will be published with Zeroconf.
#
#zeroconf_enabled "yes"
#
# The service name to publish. This name should be unique on
# your local network.
#
#zeroconf_name "Music Player"
#
################################################## ##############


########################## PERMISSIONS #########################
#
# MPD can require that users specify a password before using it.
# You may specify one ore more here, along with what users who
# log in with that password are allowed to do.
#
#password "password@read,add,control,admin"
#
# Specifies what permissions a user who has not logged in with a
# password has. By default, all users have full access to MPD
# if no password is specified above, or no access if one or
# more passwords are specified.
#
#default_permissions "read,add,control,admin"
#
################################################## ##############


########################## AUDIO OUTPUT ########################
#
# MPD supports many audio output types, as well as playing
# through multiple audio outputs at the same time. You can
# specify one or more here. If you don't specify any, MPD will
# automatically scan for a usable audio output.
#
# See <http://mpd.wikia.com/wiki/Configuration#Audio_Outputs>
# for examples of other audio outputs.
#
# An example of an ALSA output:
#
#audio_output {
# type "alsa"
# name "My ALSA Device"
# device "hw:0,0" # optional
# format "44100:16:2" # optional
#}
#
# An example of an OSS output:
#
#audio_output {
# type "oss"
# name "My OSS Device"
# device "/dev/dsp" # optional
# format "44100:16:2" # optional
#}
#
# An example of a shout output (for streaming to Icecast):
#
#audio_output {
# type "shout"
# name "My Shout Stream"
# host "localhost"
# port "8000"
# mount "/mpd.ogg"
# password "hackme"
# quality "5.0"
# bitrate "128"
# format "44100:16:1"
# user "source" # optional
# description "My Stream Description" # optional
# genre "jazz" # optional
# public "no" # optional
#}
#
# Force all decoded audio to be converted to this format before
# being passed to the audio outputs.
#
#audio_output_format "44100:16:2"
#
# If MPD has been compiled with libsamplerate support, this
# specifies the sample rate converter to use. Possible
# values can be found in the mpd.conf man page or the
# libsamplerate documentation.
#
#samplerate_converter "Fastest Sinc Interpolator"
#
################################################## ##############


############################# MIXER ############################
#
# MPD needs to know what mixer settings to change when you
# adjust the volume. If you don't specify one here, MPD will
# pick one based on which ones it was compiled with support for.
#
# An example for controlling an ALSA mixer:
#
#mixer_type "alsa"
#mixer_device "default"
#mixer_control "PCM"
#
# An example for controlling an OSS mixer:
#
#mixer_type "oss"
#mixer_device "/dev/mixer"
#mixer_control "PCM"
#
# If you want MPD to adjust the volume of audio sent to the
# audio outputs, you can tell it to use the software mixer:
#
#mixer_type "software"
#
################################################## ##############


######################### NORMALIZATION ########################
#
# Specifies the type of ReplayGain to use. Can be "album" or
# "track". ReplayGain will not be used if not specified. See
# <http://www.replaygain.org> for more details.
#
#replaygain "album"
#
# Sets the pre-amp used for files that have ReplayGain tags.
#
#replaygain_preamp "0"
#
# Enable on the fly volume normalization. This will cause the
# volume of all songs played to be adjusted so that they sound
# as though they are of equal loudness.
#
#volume_normalization "no"
#
################################################## ##############


########################### BUFFERING ##########################
#
# The size of the buffer containing decoded audio. You probably
# shouldn't change this.
#
#audio_buffer_size "2048"
#
# How much of the buffer to fill before beginning to play.
# Increase this if you hear skipping when changing songs.
#
#buffer_before_play "10%"
#
# Similar options for the HTTP stream buffer. If you hear
# skipping while playing HTTP streams, you may wish to increase
# these.
#
#http_buffer_size "128"
#http_prebuffer_size "25%"
#
################################################## ##############


########################### HTTP PROXY #########################
#
# Specifies the HTTP proxy to use for playing HTTP streams.
#
#http_proxy_host "proxy.isp.com"
#http_proxy_port "8080"
#http_proxy_user "user"
#http_proxy_password "password"
#
################################################## ##############


############################# LIMITS ###########################
#
# These are various limits to prevent MPD from using too many
# resources. You should only change them if they start
# restricting your usage of MPD.
#
#connection_timeout "60"
#max_connections "5"
#max_playlist_length "16384"
#max_command_list_size "2048"
#max_output_buffer_size "8192"
#
################################################## ##############


###################### CHARACTER ENCODINGS #####################
#
# If file or directory names do not display correctly, then you
# may need to change this. In most cases it should be either
# "ISO-8859-1" or "UTF-8". You must recreate your database
# after changing this (use mpd --create-db).
#
#filesystem_charset "ISO-8859-1"
#
# The encoding that ID3v1 tags should be converted from.
#
#id3v1_encoding "ISO-8859-1"
#
################################################## ##############


######################### OTHER OPTIONS ########################
#
# Try disabling this if you have MP3s which appear to end
# abruptly. If this solves the problem, it is highly
# recommended that you fix your MP3s with vbrfix (available from
# <http://www.willwap.co.uk/Programs/vbrfix.php>), at which
# point you can re-enable support for gapless MP3 playback.
#
#gapless_mp3_playback "yes"
#
# Enable this if you wish to use your MPD created playlists in
# other music players.
#
#save_absolute_paths_in_playlists "no"
#
# A list of tag types that MPD will scan for and make available
# to clients.
#
#metadata_to_use "artist,album,title,track,name,genre,date,composer, performer,disc"
#
################################################## ##############

asqwerty
27th December 2008, 12:43 PM
Sorry, I didn't explain it too well, my english is very bad. The problem you have now is the user running mpd (hustin, I think) doesn't have rights to write at /var/lib/mpd. What I suggest is you make a config file at your home directory and name it .mpdconf. If this file exists then mpd run with your local configuration file and doesn't write at /var/lib/mpd but at ~/.mpd. Also, you must add hustin to mpd group,

#usermod -a -G mpd hustin

then you can run mpd doing the same thing you are doing now, just typing

$ mpd

as hustin. Do the db creation also as hustin, by the way.

Kivamaki
27th December 2008, 12:59 PM
Okay, I did what you said and here's what I typed in the terminal:


[hustin@Hustin ~]$ su
Password:
[root@Hustin hustin]# usermod -a -G mpd hustin
[root@Hustin hustin]# mpd --create-db
[root@Hustin hustin]# mpd service start
usage:
mpd [options] <conf file>
mpd [options] (searches for ~/.mpdconf then /etc/mpd.conf)

options:
--help this usage statement
--kill kill the currently running mpd session
--create-db force (re)creation of database and exit
--no-create-db don't create database, even if it doesn't exist
--no-daemon don't detach from console
--stdout print messages to stdout and stderr
--verbose verbose logging
--version prints version information

[root@Hustin hustin]# chkconfig mpd on
[root@Hustin hustin]# mpd --create-db
[root@Hustin hustin]#


Nothing really happened when I did the create db command..or is it supposed to be like that? Because when I open up Sonata (client), it doesn't say "Not Connected" anymore..yet my music doesn't show up.

And here's my current mpd.conf


# An example configuration file for MPD
# See the mpd.conf man page for a more detailed description of each parameter.

######################## REQUIRED PATHS ########################
music_directory "/home/hustin/Music"
playlist_directory "~/.mpd/playlists"
db_file "~/.mpd/mpd.db"
log_file "~/.mpd/mpd.log"
error_file "~/.mpd/mpd.error"
################################################## ##############


######################## OPTIONAL PATHS ########################
#
# If you wish to use mpd --kill to stop MPD, then you must
# specify a file here in which to store MPD's process ID.
#
#pid_file "~/.mpd/mpd.pid"
#
# If specified, MPD will save its current state (playlist,
# current song, playing/paused, etc.) at exit. This will be
# used to restore the session the next time it is run.
#
state_file "~/.mpd/mpdstate"
#
################################################## ##############


######################## DAEMON OPTIONS ########################
#
# If started as root, MPD will drop root privileges and run as
# this user instead. Otherwise, MPD will run as the user it was
# started by. If left unspecified, MPD will not drop root
# privileges at all (not recommended).
#
user ""
#
# The address and port to listen on.
#
#bind_to_address "any"
#port "6600"
#
# Controls the amount of information that is logged. Can be
# "default", "secure", or "verbose".
#
#log_level "default"
#
################################################## ##############


########################### ZEROCONF ###########################
#
# If yes, service information will be published with Zeroconf.
#
#zeroconf_enabled "yes"
#
# The service name to publish. This name should be unique on
# your local network.
#
#zeroconf_name "Music Player"
#
################################################## ##############


########################## PERMISSIONS #########################
#
# MPD can require that users specify a password before using it.
# You may specify one ore more here, along with what users who
# log in with that password are allowed to do.
#
#password "password@read,add,control,admin"
#
# Specifies what permissions a user who has not logged in with a
# password has. By default, all users have full access to MPD
# if no password is specified above, or no access if one or
# more passwords are specified.
#
#default_permissions "read,add,control,admin"
#
################################################## ##############


########################## AUDIO OUTPUT ########################
#
# MPD supports many audio output types, as well as playing
# through multiple audio outputs at the same time. You can
# specify one or more here. If you don't specify any, MPD will
# automatically scan for a usable audio output.
#
# See <http://mpd.wikia.com/wiki/Configuration#Audio_Outputs>
# for examples of other audio outputs.
#
# An example of an ALSA output:
#
#audio_output {
# type "alsa"
# name "My ALSA Device"
# device "hw:0,0" # optional
# format "44100:16:2" # optional
#}
#
# An example of an OSS output:
#
#audio_output {
# type "oss"
# name "My OSS Device"
# device "/dev/dsp" # optional
# format "44100:16:2" # optional
#}
#
# An example of a shout output (for streaming to Icecast):
#
#audio_output {
# type "shout"
# name "My Shout Stream"
# host "localhost"
# port "8000"
# mount "/mpd.ogg"
# password "hackme"
# quality "5.0"
# bitrate "128"
# format "44100:16:1"
# user "source" # optional
# description "My Stream Description" # optional
# genre "jazz" # optional
# public "no" # optional
#}
#
# Force all decoded audio to be converted to this format before
# being passed to the audio outputs.
#
#audio_output_format "44100:16:2"
#
# If MPD has been compiled with libsamplerate support, this
# specifies the sample rate converter to use. Possible
# values can be found in the mpd.conf man page or the
# libsamplerate documentation.
#
#samplerate_converter "Fastest Sinc Interpolator"
#
################################################## ##############


############################# MIXER ############################
#
# MPD needs to know what mixer settings to change when you
# adjust the volume. If you don't specify one here, MPD will
# pick one based on which ones it was compiled with support for.
#
# An example for controlling an ALSA mixer:
#
#mixer_type "alsa"
#mixer_device "default"
#mixer_control "PCM"
#
# An example for controlling an OSS mixer:
#
#mixer_type "oss"
#mixer_device "/dev/mixer"
#mixer_control "PCM"
#
# If you want MPD to adjust the volume of audio sent to the
# audio outputs, you can tell it to use the software mixer:
#
#mixer_type "software"
#
################################################## ##############


################################################## ##############

asqwerty
28th December 2008, 05:48 PM
the idea is not starting mpd with system start but with the user session. So, you dont need to run "mpd service start" but add mpd to your user session startup programs. In gnome you can do this at System -> Preferences -> Personal -> Sessions.