電源のオン・オフだけで操作できる「Vine MPD」を構築する(4)

一般ユーザーで「MPD」を動作させる

とりあえず音楽の再生ができたので、これで良しとされる方も多いかと思われますが、もう一息頑張って「磨き」をかけたいと思います。
まず、その第一歩として、「root」ではなく、一般ユーザーで「MPD」を動作させたいと思います。Windowsなんかは、ごく普通に管理者権限で自動的にログインして、そのまま机の前を離れたりしているのですが、やはりセキュリティ的にはよろしくありません。
「MPD」もこのあと自動的にログインして動作させたいので、できれば「root」という管理者権限ではなくて、普通の一般ユーザーでも動作するようにしておき、その一般ユーザーで自動的にログインしたいと思います。

おそらく、「Vine」をインストールするときに一つは一般ユーザーを作成していると思いますので、そのユーザー名を「tarou」として話を始めます。

そろそろ端末画面からの操作にも慣れてきたと思いますので、以下はそれを使った操作で説明します。慣れてくると、「GUI画面」でマウスを使ってプチプチやるよりもはるかに便利です。

# とりあえず、「root」権限で動いている「MPD」を停止します。
# mpd –kill

# 「root」から「tarou」に切り替えて、同時に「tarou」のホームディレクトリに移動します。「-」を忘れるとディレクトリが移動しませんので、くれぐれもお忘れのないように。
# su – tarou

# 「music」と「.mpd」のディレクトリを作成します。
$ mkdir music
$ mkdir .mpd

# さらに、今作成した「.mpd」の中に「playlists」というディレクトリを作成します。
$ cd .mpd
$ mkdir playlists

# 先ほど作成した「music」ディレクトリに移動して、外付けのHDにシンボリックリンクを張ります。
$ cd ../music

$ ln -s /music/Composer/ Conposer
$ ln -s /music/Pop/ Pop
$ ln -s /music/flac/ flac

# 最後に、ホームディレクトリに戻って、設定ファイルの「/etc/mpd.conf」にシンボリックリンクを張ります。

$ cd
$ ln -s /etc/mpd.conf mpd.conf

# 新しくデータベースを作って「MPD」を起動させます。
$ mpd –create-db

これで完了です。
再び、クライアントPCから「Minion」を起ち上げて音楽を再生してください。
もしも音が出ないようだと、「デスクトップ → システム → 設定 → ハードウェア → サウンド」を開いて、サウンドの設定を確認してください。もしかしたら、「tarou」ではオンボードのデバイスがデフォルトになっているかも知れませんので、その時は「USB DAC」にチェックを入れてください。

「tarou」のパスワードを削除する

ユーザーのパスワードは「/etc/passwd」と言うファイルに記録されていますので、このファイルをエディタで開きます。そうしますと、おそらく一番最後に「tarou」について記述されていると思いますので、そこから「x」を削除します。

tarou:x:500:500:makoto:/home/tarou:/bin/bash

tarou::500:500:makoto:/home/tarou:/bin/bash

これだけです。もちろん、保存して閉じます。
パスワードがあると、ログインするときに必ず入力を求められますので削除しておきます。しかし、同じ事を「root」でする度胸はありませんので、「tarou」という一般ユーザーで「MPD」を動作させたわけです。

「tarou」で自動的にログインして、「MPD」も同時に起動させる

次に、「/etc/inittab」を編集します。

# デフォルトランレベル(ランレベル3を指定)
id:5:initdefault:

id:3:initdefault:

と、変更します。

そして、

# 端末制御
1:2345:respawn:/sbin/mingetty tty1

1:2345:respawn:/bin/login taro </dev/tty1 >/dev/tty1 2>/dev/tty1

と、変更します。
この2カ所の設定を変更しておけば、システムに電源を入れるだけで「taro」がランレベル3で自動的にログインします。

一般ユーザー「taro」の権限で「MPD」を自動的に起動する。

これは簡単です。
Vineはログインするときに、そのユーザーの「.bash_profile」という設定ファイルを読み込みます。ちなみに、「.bash_profile」は「/home/taro/.bash_profile」に存在しますが、「隠しファイル」なので通常の状態では表示されません。おそらく、「Ctrl+H」で表示されるはずです。

この「.bash_profile」を適当なエディタで開いて、次の1行を追記します。

/usr/local/bin/mpd

これだけで、「taro」が自動的にログインするときに、「taro」の権限で「MPD」が起動されます。
なお、yanさんより「.bash_profileに書くやりかたは、そのユーザでloginするたびにmpdが起動するのであまりいいやりかたとは思いません。」というコメントを頂きました。
もっともな指摘だと思いますが、今回は「Vine MPD」をオーディオ機器のように電源のオン・オフのみの操作としますので、端末からログイン・ログオフなどは一切しません。ですから、この簡便なやり方でも不都合は起きないと思います。

電源オフでシステムが停止するようにする

最後に、電源を切れば自動的にシステムが停止するようにします。これも、「Vine MPD」をオーディオ的な再生機器と考えれば、
「# shutdown -h now」
とコマンドを実行しないと終了できないのは「NG」です。
電源を入れるだけで再生の準備が整のうのと同様に、電源を切れば終了できるというのもまた「必須条件」です。

ただし、これは簡単でした。
設定ファイルがどこにあるのか調べませんでしたが、「GUI画面」で簡単に設定できます。

「システム」→「設定」→「システム」→「電源管理」をクリックすると、電源管理の設定画面が起動します。

この画面で「全般」タブを選び「電源ボタンを押したら」・・・「停止する」を選びます。
この時、忘れていけないのは、この操作は「acpid」というデーモンに依存しているので、サービスを刈り込むときに「acpid」のチェックを外してはいけない・・・ということです。

これで、電源を押すとシステムは自動的に停止します。

これがホントに最後、「grub.conf」の編集

おそらく、「Vine」をインストールしたときに、デフォルトで起動してくるOSは「Vine」に設定されていると思いますが、もしそうではなくて「Windoes」になっているなら、電源を入れるたびにキーボードで「Vine」を選択しないといけません。
これは「オーディオ機器」として考えるなら「NG」です。

もしも、そうなっているなら「/boot/grub/grub.conf」というファイルを編集します。
適当なエディタでこのファイルを開くとこんな感じになっていると思います。

default=0
timeout=5

title Vine Linux (Current kernel)
root (hd0,0)
kernel /vmlinuz ro root=LABEL=/ resume=swap:/dev/sda3 vga=0×314 splash=silent
initrd /initrd.img

title Vine Linux (Previous kernel)
root (hd0,0)
kernel /vmlinuz.old ro root=LABEL=/ resume=swap:/dev/sda3 vga=0×314 splash=silent
initrd /initrd.old.img

title Windows XP
rootnoverify (hd0,0)
chainloader +1

これは、grubの起動画面から「Vine Linux (Current kernel)」「Vine Linux (Previous kernel)」「Windows XP」の3種類のOSが選択できることを表していて、「default=0」から、一番最初の「Vine Linux (Current kernel)」がデフォルトで起動すると言うことが分かります。
しかし、「default=2」となっていると、デフォルトで「Windows XP」が起動してしまいます。
電源を入れると勝手に「Windows XP」が起動してくるという人は、ここの設定を変更する必要があります。

なお、「default=n」の番号は上から順番に「0 , 1 , 2 , 3 ・・・」と割り振られますのでお間違いのないようにしてください。ですから、「grub.conf」を開いて上のようになっていれば

「default=0」

が正解と言うことになります。
そして、せっかくエディタで「grub.conf」を開いたのですから、もう一つ編集して、「HPET」と言う機能がオンにしたいと思います。
なお、「HPET」については以下のページに少しまとめておきましたので、お使いのPCが「HPET」をサポートしているかどうか確認されて、無事にサポートされているときは必ず編集してください。

Vine MPDを使いこなす(3)~「HPET」をオンにする

次の行の最後に「clocksource=hpet」と追記してほしいのです。

kernel /vmlinuz ro root=LABEL=/ resume=swap:/dev/sda3 vga=0×314 splash=silent

kernel /vmlinuz ro root=LABEL=/ resume=swap:/dev/sda3 vga=0×314 splash=silent clocksource=hpet

これだけのことで音にぐっと磨きがかかりますから、これは絶対にやっておくべきだと思います。

そして、ホントに最後の最後、起動してくるサービスを少しばかり刈り込みましょう。
ただし、これは変にいじると、OSそのものが起動しなくなりますので、絶対に必要のないものだけを削っておきましょう。

サービスの管理画面は「システムメニューからシステム管理→サービス」で起ち上がります。

ここで、「操作」から「ランレベル3」を選んで、「印刷(cups)」や「メールサーバー(postfix)」など、絶対に不要と思えるものだけをチェックを外しておきましょう。これで、少しは音は良くなりますが、あまり削りすぎると逆にシステム全体が不安定になって腰高の不安定な音になってしまいます。
ここは、ネット上などでそれぞれのサービスに関わる情報を入手して、さらにはその「刈り込み」が音質的に貢献しているのかどうかを自分の耳で確かめながらトライしてください。

これで、めでたく、電源のオン・オフだけで操作できる「Vine MPD」を構築することができたはずです。
そして、このランレベル3で自動ログインする「Vine MPD」は、今までのどのようなソフトを使って再生させた音とも一線を画すほどの素晴らしさです。

その素晴らしさをまとめると、

  • 高解像度でありながら音がきつくなったり、固くなったりすることはない。音色は柔らかさを保ったまま、信じがたいほどの透明感の高い音が聞こえます。それは、録音時にバックグラウンドで入り込んでしまったノイズなどもはっきりとさらけ出してくれます。
    それがまた妙にリアルで、演奏者の息づかいまでがはっきりと感じ取ることができます。
  • 音場の表現が今までの2次元空間から3次元区間へと「次元」のレベルがあがります。これは特に「HPET」をオンにするとさらに顕著となります。ただし、Jazz畑で音が前に飛び出てくることを目指している人にとってはもしかしたら「困った」事かもしれませんが、クラシック畑の人間にとってはエクセレント以外の何者でもありません。
  • システムを構築するのはとんでもなく大変ですが、できてしまうとこれほど使い勝手のいいシステムは他にはない。
    再生と操作を別のPCに分けているので、クライアント側の操作や表示がどんなに重くなっても、音楽再生には一切影響がありません。
    今までは、高音質の追求を理由に使い勝手を犠牲にしても「仕方がない」と諦めていたのですが、これからはそのような「言い訳」は通用しなくなると思います。

おそらく、この音を聞けばほとんどの人は十分に満足されると思いますが、実は「MPD」に特化した「Voyage MPD」は、さらにもう一つ上の音を聞かしてくれます。ただし、その差は微妙ですから、「Vine MPD」で十分だと思う人はここで終わっていただいて結構です。

しかし、せっかく最初に「Voyage MPD」用の「10Gb」を作っておいたのですから、意欲のある人はしばし「Vine MPD」の世界を堪能されてから「Voyage MPD」にチャレンジしましょう。
ただし、今年はここまで。
年が明けてから、この続きを書いていきたいと思います。次回はこの「Vine MPD」から「Voyage MPD」をインストールして、同じように電源のオン・オフで動作するようなシステムを構築したいと思います。

それでは皆様、良いお年を!!

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です