ラズベリーパイ4は起動時にQtアプリケーションを自動起動します

Raspberry Pi 4用のQtアプリケーション(またはその他のアプリケーション)を作成した場合、アプリケーションの完了後にRaspberryを再起動した直後にアプリケーションを呼び出すことがよくあります。 これは、さまざまな場所に入力できる開始スクリプトでよく試みられます。 ただし、 systemd を介してこれを設定する方が合理的です。ラズベリー パイ4の Qtで説明されているように、ラスビアンバスターライトイメージとQtインストールを出発点として使用しました。 Qtアプリケーションはディレクトリ「/home/pi/application」にあり、この例では「application_one」という名前です。

.service ファイルの作成

最初に行うことは、 "/etc/systemd/system"ディレクトリに.serviceファイルを作成することです。

sudo nano application_one.service

ここには以下が入力されています。

[Unit]
Description=Qt application autostart
After=graphical.target
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=pi
WorkingDirectory=/home/pi/application
ExecStart=/home/pi/application/application_one

[Install]
WantedBy=multi-user.target

エントリは実際には一目瞭然です。アプリケーション "application_one" (ExecStart=/home/pi/application/application_one) は、ユーザー アカウント "pi" (User=pi) で起動されます。エントリ "After=network-online.target" は、ネットワーク接続が確立されるまでアプリケーションが起動されることを示しています。

</:code2:></:code1:>

サービスをシステムに知らせる

次に、新しいサービスをアクティブにする必要があることをシステムに通知する必要があります。

sudo systemctl enable application_one.service

次に、再起動を実行すると、アプリケーションが自動的に起動します。

</:code3:>

アプリケーションが起動しませんか?

アプリケーションが自動的に起動しない場合は、

sudo systemctl status application_one.service

ステータスを表示し、その情報を使用してトラブルシューティングを行います。 </:code4:>