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:>