◆foobar2000-UPnPをサービス化(Win10対策)
fooba2000-UPnPをWindows10で動かすには。サービス化
Windows10はとんでもないことに、時々自動updateなどといって、勝手に再起動し、動かしていたプログラムが突如終了してしまいます。
余りにひどい仕様なので、これを何とかする記事がネット上にはありますが、うまくいきませんでした。
例えば音楽サーバーとしてfoobar2000を動かしていても、いつの間にか止まっています。
Windows10でfoobar2000を動かすためには「サービス化」しなければなりません。
M$としてはWindowsServerを買ってくれということかも知れませんが。。。
fooba2000-UPnPをサービス化する。NSSM使用
今回サービス化するのは
でネットワーク・オーディオ・サーバの機能を組み込み、 でポータブル化を行ったものです。実行形式は
D:\foobarSet\drive\foobar2000_bin\に置いた
foobar2000.exeとなっています。このフォルダにはfoobar2000のさまざまな設定ファイル/フォルダなども置かれています。
サービス化にはNSSMというプログラムを使います。
NSSMのインストール
NSSMはインストーラが無いので、手作業でインストールします。
次の作業を行います。
(1) ダウンロード
ブラウザで
http://nssm.cc/
を開く。
左にあるリスト内のDownloadをクリックし、ダウンロードページを開く
Latest release の nssm x.xx をクリックし、ダウンロードする
(2) 展開と実行パスへの設定
nssm-x.xx.zipを解凍する
win64/nssm.exeをPATHの通っている
C:\Windows\System32\
などにコピーする
foobar2000をサービスとして設定する。
コマンドプロンプトでnssmを起動する。
nssm install FOOBAR
ここでFOOBARは分かりやすい任意のサービス名です。
次の画面がでるので、実行形式のパスを設定し、[Install service]をクリックします。
これでサービス化され、勝手に再起動となってもfoobar2000も自動で起動されます。
スリープ状態にしない
スリープ状態ではサービスも止まってしまいます。Windowsはとにかくサーバー動作を嫌っているのです。なにかと理屈をひねり出してはサービスを止めます。
自動スリープを止める必要があります。
(A)デスクトップで右クリック [電源とスリープ] スリープを「なし」にする (B)田んぼマーク+x [電源オプション] [コンピュータがスリープになる時間を変更] コンピュータをスリープ状態にするを「適用しない」にするA、Bどちらでも同じです。
サービスの確認、起動/停止
タスクマネージャの「サービス」で状態の確認ができます。
停止・再起動なども可能です。
foobarの設定:UIを使う
サービスを一旦停止し、普通のコマンドとしてfoobar2000を起動することができます。
普通のコマンドとして起動したfoobar2000で各種設定を行い、終了させます。
サービスとして起動し直すと、設定が有効になっています。
自動再起動が正常に行われるか確認
クライアントからアクセスし、音楽を再生します。
一旦Windowsシステムを再起動します。
クライアントアプリを停止し、しばらくしてWindowsがログイン画面になったら、 再びアクセスします。
もし、クライアント側のサーバリストに現れない場合、
Windows側のタスクマネージャでFOOBARサービスを停止し、
通常のコマンドとしてfoobar2000を起動します。
もしも、次のダイアログが現れたら、"□Do not show this..."にチェックをいれ、
[=>Start fooobar2000 normally]をクリックします。
foobar2000を終了させます。
サーバーリストに現れる場合は、そのままにします。
ダイアログが現れない場合もそのままです。
再びWindowsを再起動してチェックします。
なお、音楽を再生中にWindowsを落としても数分程度は音楽は流れ続けます。
スピーカー設定(PC側で音は出さなくても必要)
foobar2000はUPnP動作であっても直接「音」が出せるかをチェックするようです。
HDMI出力となっていると、画面を消すあるいは線を外すとUPnP動作もしなくなることがあります。
画面無しでサーバーとして使う場合オーディオ出力をしない設定が必要です(タスクバーのスピーカーアイコンでミュート状態にする)
サービスの削除
サービス設定を削除するには管理者権限でscコマンドを発行します。
管理者権限でコマンドプロンプトを起動:
田んぼキー+xで出るメニューから
コマンドプロンプト(管理者権限)
を選ぶ
scコマンド実行:
サービス名がFOOBARとして
sc delete FOOBAR
を実行
スティックPCを用いる
スティックPC(Win10-32bit/microSD/有線LAN/FAN-less)に入れました。
設定後は画面もキーボードもマウスも繋がず運用しています。
左の出っ張りはHDMI端子です。
この出っ張りを除くとサイズは12cm×4cm×1.5cmとなっています。
コンテンツ/foobar2000はマイクロSD(128G)に入れてあります。 出っ張りはありません。
WindowsDefenderファイアーウォール対策
WindowsDefenderファイアーウォールが外部からのアクセスを禁止する場合があります。
次のように対処します。
通常のコマンドとして起動する
-> これによりwindowsがfoobar2000の存在を認識する
ネットワークアクセスを許可するか聞いてくる場合もある。
コントロールパネル
WindowsDefenderファイアーウォール
左パネルの
Windows Defender ファイアーウォー
ルを介したアプリまたは機能を許可
-->
許可されたアプリおよび機能(A):
リスト中の
foobar2000およびfoobar2000.exeのチェック2つを入れる
OSの再起動
| 固定リンク

