Esecuzione di mpd con configurazione locale su Linux Mint


1

Sto cercando di impostare il demone mpd per l'esecuzione come utente connesso locale su Linux Mint (Cinnamon). Ho impostato la seguente struttura di cartelle:

$ cp /usr/share/doc/mpd/mpdconf.example ~/.config/mpd/mpd.conf
$ mkdir ~/.config/mpd/playlists
$ touch ~/.config/mpd/{database,pid,state,log,sticker.sql}

Ho modificato ~/.config/mpd/mpd.conf usare il precedente e l'ho eseguito $ mpd ~/.config/mpd/mpd.conf con successo. Segue un estratto del file di configurazione durante la configurazione:

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]"

Il problema è che ad ogni riavvio, mpd rifiuta testardamente di usare il mio file di configurazione utente e torna al default /etc/mpd.conf, anche quando disattivo mpd dal pannello Startup Applications in Cinnamon.

Ogni volta che avvio, devo aprire un terminale come su e problema mpd --kill. Quindi, tornando come utente normale, posso finalmente avviare mpd e usarlo normalmente.

~$ 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)

Solo ora posso usare mpd normalmente. Come posso forzare mpd ad usare la mia configurazione locale ad ogni riavvio ed evitare di affrontare tutti questi problemi?

Risposte:


1

Sembra che tu abbia mpd in esecuzione come servizio di sistema. Controllare e vedere se questo è il caso eseguendo service mpd status. Se è in esecuzione, quindi si desidera disattivarlo service mpd stop && service mpd disable. (Nota: potrebbe essere necessario eseguire questi comandi come root o su come root come hai fatto prima.)

Il motivo per cui non legge la configurazione utente è che i servizi di sistema vengono eseguiti all'avvio prima di accedere. Questi servizi generalmente vengono eseguiti come root. Per risolvere questo problema è necessario disabilitare il servizio di sistema in modo che non sia in conflitto con il demone di livello utente. Quindi puoi impostare mpd per eseguire automaticamente quando si accede.

Fare mpd esegui come utente all'avvio aggiungilo a ~/.profile. Questo script viene eseguito automaticamente ad ogni accesso.


Grazie. Questo era esattamente il problema. Dopo una piccola indagine, il comando per rimuovere il servizio in Linux Mint è diverso. Quindi ho dovuto emettere update-rc.d -f mpd remove come root. Ma ora è tutto a posto. Ho aggiunto mpd per avviare automaticamente l'utente all'avvio e si comporta come voglio. `
A Dwarf
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.