Select Your Language

免責事項

  • 本サイトの情報の利用、内容、サービスによって、利用者にいかなる損害、被害が生じても、著者は一切の責任を負いません。ユーザーご自身の責任においてご利用いただきますようお願いいたします。

    本サイトで頒布している基板およびキットは、技術者、またはそれに準ずる電気的知識をお持ちの電子工作ファンの方のためのものです。 一般のオーディオファンの方のためのものではありません。
    また、頒布基板およびキットは、いかなる条件でも動作を保証するものではございませんので、あらかじめご了承ください。

    電子工作では、火傷、感電、火災などの可能性があります。 十分に注意をして作業して下さい。

    営利目的のご使用は認めておりません。  記事の転載や、基板・キットの商用利用の方は、ご連絡ください。
    学生やサークルの学習目的でまとめてご購入する場合は特別なコースをご用意させていただきます。

スポンサー

« 秋月電子のオペアンプDUAL-DIP化基板について | トップページ | M3 タッピングを電動ドリルで一発!? »

2018年4月14日 (土)

ympdからRaspberryPiをシャットダウンする

ご存知の方もいらっしゃると思いますが、SYMPHONIC-MPDではympdを改造されて使っていました。

その中でとても便利だなっと思ったのが、OSをシャットダウンする機能です。

Ympd01

こんな具合に私も試してみました。

 

Ympd02

ここまでは、順調だったのです。。。 

 

意外と、と言ってはアレですけど、いちアプリケーションから外部コマンドを発行するのはたやすくとも、OSのシャットダウンは権限が絡んでいて難しいです。shutdownやrebootコマンドはPermissionで蹴られてしまいます。

例えば、

 system("systemctl poweroff"); を
 system("sudo systemctl poweroff");  くらいにしても

実行できません。

もちろん、その他のコマンドは実行できます。bashでshutdownできるファイルを作って、それをアプリから呼んでもNG。sudoつけて呼んでもNG。bashファイル内にsudoつけてもNG。まあ、当然といえば当然かもしれませんね。セキュリティは頑強で甘くはありません。

そして、ネット検索しても対処方法がなかなか見つかりません。

 

SYMPHONIC-MPDのパパリウスさん、オモロダイブの@TaroKichijoさんの実現方法までは調べていませんが、かなりやっつけな技を使ってシャットダウンできるようになりました。

 

これ、やっちゃいけない方法???

/etc/systemd/system/ympd.service というファイルの中身

[Unit]
Description=ympd server daemon
Requires=network.target local-fs.target

[Service]
Environment=MPD_HOST=localhost
Environment=MPD_PORT=6600
Environment=WEB_PORT=
80
Environment=YMPD_USER=root
#EnvironmentFile=/etc/default/ympd
ExecStart=/usr/bin/ympd --user $YMPD_USER --webport $WEB_PORT --host $MPD_HOST --port $MPD_PORT
Type=simple

[Install]
WantedBy=multi-user.target

という具合。 ようするに ympdサービス自体をroot実行させています。

よかった、よかった。 ということで一件落着です。

 

 ですが、、、

Raspbian stretch の最新版になってから、wifiをAPモードにすると有線LAN側がイネーブルされなくなったりと良く分からない現象に悩まされています。 まあ、そのうち更新した軽量ディストリビューションを公開しますので、ゆるりと期待ぜずにお待ち下さい。

 

 

 また、

4.14.xx系のrt-linux化は、なにやらまともに動作しません。

今は諦めて4.14.27でlow latency kernel にしています。 4.14.xx系はPi 3 B+も動くらしいのでこのKernelです。

Pi 3、Pi 2、Pi Zero/wにて動作可能な環境で構築中です。今回はsabreberry32も対応します。

Ympd03

Pi Zeroにsabreberry32を付けると、なんともいえない見た目になってしまいますね。でも、この角度だとLEDが3色見えて綺麗です。

fdk-aac-0.1.6、 ffmpeg-3.4.2、mpd-0.20.18を入れていて、そちらはイイ感じです。

※1 FDK-AACを入れたmpdの作り方はこちら。

 

※2 上の改造版ympdのソースコードをここに置いておきます。 興味のある方は、テキトウに焼くなり煮るなりして使って下さい。 ympdをコンパイルして導入する方法はこちらを参考にどうぞ。

 

※3 そうそう、pythonスクリプトからOSをシャットダウンするのは簡単。commands.getoutput('shutdown -h now')  でOK。特に悩んだ憶えはありませんでした。

 

 

 

にほんブログ村 PC家電ブログ PCオーディオへ にほんブログ村
ブログランキングに参加中です。 めざせ1位! 
もしよろしければ「ぽちっと」お願いします。 

« 秋月電子のオペアンプDUAL-DIP化基板について | トップページ | M3 タッピングを電動ドリルで一発!? »

Raspberry Pi」カテゴリの記事

コメント

low latency kernelにfdk-aacとは、リリースが楽しみです。

どうも、キチジョータローです。まさかたかじんさんのHPに登場するとは過去には思っていもみませんでした、、、恐縮です。
おそらく、パパリウスさんもVolumioもたかじんさんと同じ方法でWEB-UIをroot権限で起動するようにしています。なので、Update(ファイル更新)とかシャットダウン&再起動を自由にUIから実行できるようになってます。
私は長年のシステム屋の感覚が抜けない事もあって(笑)、rootでUIを起動せずにシャットダウンを実現する方法を探した結果、policykit-1というDebianの特権管理パッケージを導入して、一般ユーザーでもシャットダウンと再起動ができるようにいじってます。
(https://winaero.com/blog/how-to-enable-shutdown-and-reboot-for-a-normal-user-in-debian-jessie/)
ご参考になれば。
※というか、最新版のRaspbian、私はまだいじれていないのですが、また挙動がおかしいのですね、、、

silverbbsさん

本当は3月末に出そうと思っていたのですが、まったくうまく行きませんでした。 もうしばらくお待ち下さい。 volumioやMoodeよりもiTunesストアで購入した音源がたのしく聞けます。


TaroKichijoさん

なるほど。volumioなどもやっぱりroot権限なのですか。 私も、UIがrootというのは嫌だなと思ったのですが、利便性とセキュリティを天秤にかけると利便性をとった方がメリットが多いという結論にいたってしまいました。

policykit-1 は全く知りませんでした。 情報ありがとうございます。
こんなのがあるのですね。 素晴らしいです。


こんにちは、オーシャンです
ご存知かもしれませんが、アップルがダウンロード販売を辞める様です
時期については、まだ決定していません
http://fnmnl.tv/2018/03/27/50071?articleview=more
iPodも辞めるのでしょうかね

オーシャンさん

それも時代のながれですね。 音質よりも使勝手を優先してきた録音メディアの変化は仕方ないのかもしれません。

LP -> CD -> MP3・AAC -> ストリーミング

となるんですね。 ネットに接続していないと聞けないというのがネックとも思いますが、一部のマニアではなく大勢の一般人がそれを選択してきた結果ですかね。

また、配信している会社が、継続的に売上げを確保しやすいという売る側のメリットもあるのだと思います。

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/587107/66610643

この記事へのトラックバック一覧です: ympdからRaspberryPiをシャットダウンする:

« 秋月電子のオペアンプDUAL-DIP化基板について | トップページ | M3 タッピングを電動ドリルで一発!? »

サイト内検索

Sponsors link

2018年12月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
無料ブログはココログ