1

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

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

Я отредактировал ~/.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

Похоже, у вас есть mpd работающий как системный сервис. Проверьте и посмотрите, так ли это, запустив service mpd status . Если он работает, то вы хотите отключить его с помощью service mpd stop && service mpd disable . (Примечание: вам может потребоваться выполнить эти команды как root или su как root, как вы делали раньше.)

Причина, по которой это не считывает вашу пользовательскую конфигурацию, заключается в том, что системные службы запускаются при загрузке до входа в систему Эти службы обычно запускаются с правами root. Чтобы это исправить, вам нужно отключить системную службу, чтобы она не конфликтовала с вашим демоном уровня пользователя. Затем вы можете настроить mpd на автоматический запуск при входе в систему.

Чтобы mpd запускался от имени пользователя при запуске, добавьте его в ~/.profile . Этот скрипт запускается автоматически при каждом входе в систему.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .