Запуск mpd с локальной конфигурацией на Linux Mint

1543
A Dwarf

Я пытаюсь настроить запуск демона mpd в качестве локального вошедшего в систему пользователя под Linux Mint (Cinnamon). Я установил следующую структуру папок:

$ cp /usr/share/doc/mpd/mpdconf.example ~/.config/mpd/mpd.conf $ mkdir ~/.config/mpd/playlists $ touch ~/.config/mpd/ 

Я редактировал, ~/.config/mpd/mpd.confчтобы использовать вышеизложенное, и я $ mpd ~/.config/mpd/mpd.confуспешно выполнил . Следует выдержка из файла конфигурации, когда я его настраивал:

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

Проблема заключается в том, что при каждой перезагрузке, MPD упорно отказывается использовать свой конфигурационный файл пользователя и возвращается в состоянии по умолчанию/etc/mpd.conf, даже если отключить MPD с панели запуска приложений в корице.

Каждый раз, когда я загружаюсь, я должен открыть терминал как su и выдать mpd --kill. Затем, вернувшись как обычный пользователь, я наконец могу запустить mpd и использовать его как обычно.

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

Только теперь я могу использовать MPD нормально. Как я могу заставить mpd использовать мою локальную конфигурацию при каждой перезагрузке и избежать всех этих проблем?

1

1 ответ на вопрос

1
Danger Ginger

It sounds like you have mpd running as a system service. Check and see if that is the case by running service mpd status. If it is running, then you want to turn it off with service mpd stop && service mpd disable. (Note: you may need to run these commands as root or su as root like you did before.)

The reason this doesn't read your user configuration is system services run at boot before you log in. These services generally run as root. To fix this you need to disable the system service so it doesn't conflict with your user level daemon. Then you can set mpd to run automatically when you log in.

To make mpd run as your user on startup add it to ~/.profile. This script is run automatically on every login.

Спасибо. Это была именно проблема. После небольшого расследования команда для удаления службы в Linux Mint отличается. Поэтому мне пришлось выдать `update-rc.d -f mpd remove` от имени root. Но сейчас все хорошо. Я добавил mpd для автоматического запуска в качестве пользователя при запуске, и он ведет себя так, как я хочу. ` A Dwarf 8 лет назад 0