# MPDScribble : pid error at system startup



## alelab (Dec 21, 2009)

Hi,

I have installed from ports mpdscribble on my laptop under 8.0-p1 and configured it (/usr/local/etc/mpdscribble.conf).
I have added the line in */etc/rc.conf*

```
mpdscribble_enable="YES"
```
to launch it at system startup but I got the message 

```
mpdscribble: Failed to create pidfile /var/run/mpdscribble.pid: Permission denied
```
If I launch it from root or using the sudo command, I haven't got problem.
But from startup or from my user account (that is in 'wheel' and 'operator' groups), I got the same message above.

I have created a system user called "mpdscribble" using the command :

```
# pw user add mpdscribble -c "mpdscribble" \-d noexistent -s /usr/sbin/nologin
```
and set the option daemon_user in the conf file but I always got the same error.

Here my conf file */usr/local/etc/mpdscribble.conf* :


```
## mpdscribble - an audioscrobbler for the Music Player Daemon.
## http://mpd.wikia.com/wiki/Client:mpdscribble

# HTTP proxy URL.
#proxy = http://the.proxy.server:3128

# The location of the pid file.  mpdscribble saves its process id there.
pidfile = /var/run/mpdscribble.pid

# Change to this system user after daemonization.
#daemon_user = mpdscribble

# The location of the mpdscribble log file.  The special value
# "syslog" makes mpdscribble use the local syslog daemon.  On most
# systems, log messages will appear in /var/log/daemon.log then.
# "-" means log to stderr (the current terminal).
log = syslog

# How verbose mpdscribble's logging should be.  Default is 1.
verbose = 1

# How often should mpdscribble save the journal file? [seconds]
journal_interval = 600

# The host running MPD, possibly protected by a password
# ([passw...@]hostname).  Defaults to $MPD_HOST or localhost.
host = localhost

# The port that the MPD listens on and mpdscribble should try to
# connect to.  Defaults to $MPD_PORT or 6600.
port = 6600

[last.fm]
url = http://post.audioscrobbler.com/
username =my_username
password =my_password
# The file where mpdscribble should store its Last.fm journal in case
# you do not have a connection to the Last.fm server.
journal = /var/cache/mpdscribble/lastfm.journal

#[libre.fm]
#url = http://turtle.libre.fm/
#username = my_username
#password = my_password
#journal = /var/cache/mpdscribble/librefm.journal

#[jamendo]
#url = http://postaudioscrobbler.jamendo.com/
#username = my_username
#password = my_password
#journal = /var/cache/mpdscribble/jamendo.journal
```

Thank you in advance.


----------



## SirDice (Dec 21, 2009)

That user ID doesn't have permission to write in /var/run/. The solution is to create a directory /var/run/mpdscribble and set the owner to mpdscribble. You also need to change the pid location to /var/run/mpdscribble/mpdscribble.pid.


----------



## alelab (Dec 22, 2009)

I have found a solution to my problem.
I have created the directory */var/run/mpdscribble*
But the error was always present. 
Then I changed rights to this directory with the umask 777 and rebooted the system : the error disappeared.
The PID file was well created by "nobody" user.

To solve my problem, I changed the owner of /var/run/mpdscribble directory ("nobody" user) and the group to "mpdscribble" (as created before).

Now, mpdscribble can start at system startup without problem.


----------

