モブ沢工房

プログラミングとかLinux関連(特にOSSのグラフィックツール関連)とかレトロゲームとか3Dプリンタやら日曜大工等、色々。

mayu向けにsystemdのserviceを書いてみた件

考えてみると半年ぶりのエントリだったのか… 三ヶ月ぶりぐらいの気分でいたわけですが…恐ろしい時間の速さ。 どこぞの神父のスタンド攻撃でも喰らっているのでしょうか。それはともかくsystemdだ。

ubuntu 16.04ではsystemdになっているので、daemonも書き直しな感じです。いや、多分なんか互換レイヤ的なものはあるのでしょうが、せっかくなので書きなおして見たかった。前に書いたのは、かなりとんでもなくやっつけだったし。

そんなわけで、mayu(linux窓使いの憂鬱)を自動起動させるべくsystemdのserviceを書いてみたのです。

serviceファイル

ググッて出たサイトの皆様を参考にしました。本当にありがとうございました。

[Unit]
Description=run mayu command
After=basic.target

[Service]
Type=simple
RemainAfterExit=yes
User=root
ExecStart=/usr/local/bin/mayu

[Install]
WantedBy=multi-user.target

とはいえ、全て完全にオイラのやりたいことに合致しているサンプルというものは中々見つからず…

正しいかどうかはイマイチ良くわからないのですがこれをmayu-call.serviceとし、/etc/systemd/systemに直接投入。 シンボリックリンクで置いたら、systemctl enable mayu-call.serviceとしたとき「リンク多すぎてわかんねーよ(意訳)」的なエラーが出たのでそうしました。他のは全部シンボリックリンクなのに何故…

User指定が無いと何故かmayuが動いてくれなかった気がします。(試行錯誤の末なので、不確か)

あと.mayuファイルがどうもrootのしか見てくれないっぽいんで/root/にコピー。シンボリックリンクでも良い気がするのですが、とりあえず試行錯誤中なので不確定要因を排除する意味で…まぁ、.mayuを書き換えることももはや無い感じですし。

後はよくある

sudo systemctl daemon-reload
sudo systemctl enable mayu-call.service
sudo systemctl start mayu-call.service

で、リブート後も一応動いているのです。

うーむ、良いのではないですかねsystemd?? なぜあんなにアンチが多いのか不思議。