Raspberry Pi でサービスが自動起動になっているか確認する方法


[初回公開] 2019年07月08日

Raspberry Pi はセンサーやカメラを接続して遠隔でデータ収集するのによく利用されるが、不要な際はパソコンのシャットダウンではなく本体の電源オフを利用されることが多く、次に電源オンにすると必要なサービスが起動しておらず利用できないことがあるのでサービスが自動起動になっているか確認する方法を紹介する。

Raspberry Pi でサービスが自動起動になっているか確認する方法

1.Raspberry Pi を起動して正常動作しない理由

Raspberry Pi を起動して正常動作しない理由としては、「ハードウェアの故障」と「必要なサービスが起動していない」の 2 点が挙げられる。



前者のハードウェアの故障とは、Raspberry Pi は IoT の入門的な機器で高い耐久度を求めていないことから、長時間に渡り電源が入っていたり、気温や湿度の影響で故障する割合が高い。
そのため、正常動作しているかの確認は Raspberry Pi にディスプレイとキーボードを接続して操作できなければハードウェアの故障が疑われる。

次に後者の必要なサービスが起動していないに関しては、ディスプレイちキーボードを接続して操作できるものの、センサーのデータが取れないなど求める機能が動いていない場合は、サービスが動作していないことが考えられる。

2.サービスとは

サービスとは、処理を実行するために常に起動しているソフトウェアのことである。
インターネットの世界では、ブラウザでアクセスするとウェブサイトが表示されたり、メールを送ると宛先に届けられるといったものもサービスと呼ばれるソフトウェアが処理の要求が来るのを待っているからである。

サービスが起動していない場合は、処理させようとしても処理者がいないため機能が動作しないという状況になる。



また、サービスは手動で起動と停止を行うが、Raspberry Pi の電源をオフにして再びオンにしても自動起動の設定が入っていないと手動で起動させる必要がある。

3.サービスの自動起動の状態を確認する方法

電源オン時にサービスが自動的に起動する設定になっているか確認するためには、Raspberry Pi のターミナルでコマンドを打ち込むことで状態を把握することができる。

3-1.全てのサービスの自動起動状態を確認する

Raspberry Pi にインストールしている全てのサービスの自動起動状態を確認するためには、ターミナルを開くか SSH でリモートで接続して次のコマンドを入力して実行すると一覧で表示される。

$ systemctl list-unit-files –type=service

上記のコマンドを実行すると下図のようにサービス名とサービス起動の状態が一覧で表示される。

サービス自動起動の一覧が表示された様子


サービス起動の状態は次の 4 種類あり、一般的に enabled と disabled のどちらかで表示されることが多い。
enabled はサービスが自動起動することを指し、disabled は自動起動しないことを示している。

  • enabled : 自動起動が有効
  • disabled : 自動起動が無効
  • static : 単体で自動起動設定ができないサービス
  • maskedは : サービスの起動自体が出来ない状態。解除 unmask で可能

3-2.特定のサービスの自動起動状態を確認する

前述のコマンドでは Raspberry Pi にインストールされているソフトウェア全てのサービスの自動起動の状態が表示されたが、数が多いと探すのに苦労するため、確認したいサービス名が既に分かっている場合は、次のコマンドで特定のサービスだけで確認することができる。

$ systemctl list-unit-files --type=service | grep xrdp
xrdp-sesman.service      enabled
xrdp.service             enabled

上記では、Raspberry Pi にインストールしている xrdp のサービスが電源オン時に自動起動するかを示している。
xrdp は Windows パソコンから遠隔操作(リモートデスクトップ)するためのサービスで、xrdp.service が enabled になっているので、電源を入れて自動的に xrdp が起動すると、遠隔地にこの端末があってもすぐにリモートで操作できるようになる。

この他、センサーでデータを取得したり、取得したデータを外部のサーバに送信するなど常にサービスが起動しておく必要があるものは自動起動の設定を有効(enabled)にしておいたほうが、電源オンのたびにサービスも起動する手間が無くてよい。

関連記事

コメントを残す