Linux Mint(Cinnamon)でローカルログオンユーザーとして実行するようにmpdデーモンを設定しようとしています。次のフォルダ構造を設定しました。
$ 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]"
問題は、Cinnamonの[スタートアップアプリケーション]パネルからmpdを無効にしても、再起動するたびに、mpdがユーザー設定ファイルの使用を頑固に拒否し、デフォルトの/etc/mpd.conf
に戻ることです。
起動するたびに、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にローカル構成を使用させ、この問題をすべて回避するにはどうすればよいですか?
mpd
がシステムサービスとして実行されているようです。 service mpd status
を実行して、それが当てはまるかどうかを確認してください。実行中の場合は、service mpd stop && service mpd disable
でオフにします。 (注:以前と同様に、これらのコマンドをrootとして実行するか、su
をrootとして実行する必要がある場合があります。)
これがユーザー構成を読み取らない理由は、ログインする前に起動時に実行されるシステムサービスです。これらのサービスは通常、rootとして実行されます。これを修正するには、システムサービスを無効にして、ユーザーレベルのデーモンと競合しないようにする必要があります。次に、ログイン時に自動的に実行されるようにmpd
を設定できます。
起動時にユーザーとしてmpd
を実行するには、~/.profile
に追加します。このスクリプトは、ログインするたびに自動的に実行されます。