概要
- 眠らせていたラズパイを久しぶりに引っ張り出した際に、Bluetoothデバイスに自動接続しにいく処理が自動実行されエラーを吐いているのを発見(pulseaudioが起動してエラーを吐く)
-
pulseaudio.service
に仕込んでおいたものとして思い込んでいたため、systemctl disable pulseaduio.service
で停止すれば止まると思いきや、止まってくれない - ”pulseaudio”でgrepかけるもそれらしいシェルを見つけられず悩みまくった
結論
-
~/.bash_profile
にがっつり処理を書き込んでました。
ハマった要因
- プログラムの自動実行=daemonだと強く思い込んでいた。
- grepで普通に検索しても隠しファイル/フォルダが対象にならないことを知らなかった。
-
grep hoge .* *
って書かないと駄目なんですね…言われてみれば当たり前か…。
-
- そもそも.bash_profileのことを全然知らなかった
- よくよく確認すると”ユーザログイン時”に自動処理が走ってたんですが、.bash_profileの存在を全然知らなかったのでそこにたどり着くのに時間かかりました…。
反省
-
systemctl
に仕込めば良さそうな処理を.bash_profile
に書かない- 普通は環境変数の引き継ぎとかの処理を書くのが一般的なんですね。
- 参考:.bash_profileと.bashrcのまとめ
- 運用メモをきちんと残す
- 勢いでが~っと作ってそのまま放置してたのが最悪でした。
- 設計書とまでは言わずとも、簡単な運用メモ(設定ファイルの場所、仕込んだ自動処理のサービス名・内容など)くらいは残すようにしようと強く思いました。
自分なりまとめ(自動処理・定期処理の使い分け)
- 基本は
systemd
に登録する - "ユーザがログインした時に1度だけ実行"なら
.bash_profile
- "SSHログイン時に自動実行"なんてのもある
/etc/ssh/sshrc