我正在尝试将 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
,即使我从 Cinnamon 中的启动应用程序面板禁用 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
听起来您已将其mpd
作为系统服务运行。通过运行检查是否是这种情况service mpd status
。如果它正在运行,则需要使用将其关闭service mpd stop && service mpd disable
。(注意:您可能需要以 root 身份或su
像以前一样以 root 身份运行这些命令。)
它不读取您的用户配置的原因是系统服务在您登录之前在启动时运行。这些服务通常以 root 身份运行。要解决此问题,您需要禁用系统服务,以便它不会与您的用户级守护程序冲突。然后,您可以设置为mpd
在您登录时自动运行。
要使其mpd
在启动时以您的用户身份运行,请将其添加到~/.profile
。此脚本在每次登录时自动运行。