Featured image of post Linux Mint Xfce 22.3 + LyrionMusicServer + Squeezelite で音楽生活

Linux Mint Xfce 22.3 + LyrionMusicServer + Squeezelite で音楽生活

メインサーバになりつつあるLinuxマシンに、チューナレステレビをHDMIでつなぎ、TVに光オーディオ出力でアンプに繋がっている。たいへんややこしい状況だが、どうせなら音楽はこのアンプでききたいものである。

ということで、音楽サーバ構築編。

環境

とてもややこしいけれども以下のような感じだ。

HW/SWは以下。

  • ThinkPad L390
    • 32GB RAM
    • Linux Mint Xfce 22.3
    • squeezelite v1.9.9-1449
    • Lyrion Music Player v9.1.0

インストールと設定

Lyrion Music Server

Getting Started with LMS - Lyrion Music Serverより、ダウンロードリンクを取得。記事を書いた時のリンクだとこれ。

wget "https://downloads.lms-community.org/LyrionMusicServer_v9.1.0/lyrionmusicserver_9.1.0_amd64.deb"
sudo apt install ./lyrionmusicserver_9.1.0_amd64

ステータスを確認する。

sudo systemctl status lyrionmusicserver.service

enabledでactive(running)になっていることを確認する。

ポートを空ける。

sudo ufw allow 9000/tcp

そうしたら http://IPアドレス:9000にGo。右下のNextボタンで、音楽ファイルの場所と、プレイリストを保存する場所を指定することになる。

ここで、ディレクトリのパーミッションは755でないとLMSが読めない。基本的にホームサーバならディレクトリは755でよいはず。外付けディスクとかでパーミッションまとめて変える必要があるときはfindで一気にやってしまう。たとえば/mnt/hddのときは以下の感じ。

find /mnt/hdd -type d -exec chmod 755 {} +

ホームディレクトリは~/.sshとかあるんでまとめてやるとか雑なことはしない。

さらに音楽ファイルの権限も600とかだと読めない。音楽ファイルのあるディレクトリに移動して、パーミッションを変更する。

find . -type f -exec chmod 644 {} +

再スキャンするときは、Web画面で歯車よりServerから再スキャン可能。

とにかく音楽フォルダとプレイリストフォルダのパーミッションは整えてやる必要がある。ちなみにうちの場合は音楽ファイルは外付けのハードディスクドライブで、プレイリストフォルダは内蔵SSDのホームフォルダ内にしている。

Squeezelite

まずポート空けておく。

sudo ufw allow 3483

以下でインストール。

sudo apt install squeezelite

入れたら出力を確認する。

squeezelite -l

なんかいっぱい出てくる。ここでハードウェアを指定して /etc/default/squeezeliteを書き換えていく、ということになっているのだが…。

ただねぇ…僕はここから相当転がされた結果、一つの結果にたどり着いたが、これは一般的ではない、とあらかじめ申し添えておく。

まずapt installしたら勝手にsystemctlで動いているsqueezeliteを殺す。

sudo systemctl stop squeezelite.service

有効化はされてないのでdisableする必要はないが、もしenableしてしまったらdisableもしておく。

そのうえで、~/.config/autostartにスタートアップスクリプトを書いていく。ディレクトリがなかったら最初につくる。

mkdir -p ~/.config/autostart

そしたら設定ファイルを書く。

cat << 'EOF' > ~/.config/autostart/squeezelite-tv.desktop
[Desktop Entry]
Encoding=UTF-8
Version=0.9.4
Type=Application
Name=Squeezelite-TV
Comment=Hand-launched success command with delay
Exec=bash -c "sleep 5 && squeezelite -o default -n MiTV"
OnlyShowIn=XFCE;
StartupNotify=false
Terminal=false
Hidden=false
EOF

Execのところは適当に。-n MiTVは僕がMiTV使ってるからなので。適当にわかりやすい名前にする。

再起動して、LMSで見つかるかどうか試す。見つかればOK。

これは明らかに標準の方法ではないが、これが一番安定した。systemdはクソ。昔から思ってたけど、僕の頭が悪いんだと思っていた。今となっては自信を持って言える。僕の頭が悪かろうがなんだろうが関係なくsystemdはクソ。

systemdはクソ

疲れた。なんだかんだで半日消費した。あとは運用していきたい。

ちなみにフォルダ管理派はフォルダをブラウズするように設定できるが、そのへんの話はMacのときに書いたのでそちらを参照。

ってかPipeWireって何?とか、基本的なところ理解できてないなぁと思った。systemdはクソ。

コメント

コメントは承認後に表示されます。

まだコメントはありません。

コメントを書く

或る阿呆の記.
Hugo で構築されています。
テーマ Stack は Jimmy によって設計されています。