تطبيق Raspberry Pi 4 التشغيل التلقائي Qt في وقت التمهيد

إذا قمت بإنشاء تطبيق Qt - أو أي تطبيق آخر - ل Raspberry Pi 4 ، فغالبا ما تريد استدعاء التطبيق فور إعادة تشغيل Raspberry بعد اكتمال التطبيق.
غالبا ما تتم محاولة ذلك باستخدام البرامج النصية للبدء التي يمكن إدخالها في أماكن مختلفة.
ومع ذلك ، فمن المعقول إعداد هذا عبر systemd . لقد استخدمت صورة raspbian-buster-lite وتثبيت Qt كما هو موضح في Qt على Raspberry Pi 4 كنقطة انطلاق.
يقع تطبيق Qt في الدليل "/ home / pi / application" ويسمى "application_one" في هذا المثال.

إنشاء ملف .service

أول شيء يجب فعله هو إنشاء ملف .service في الدليل "/ etc / systemd / system":

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" (المستخدم = pi). لا يزال الإدخال "After=network-online.target" ينص على بدء تشغيل التطبيق حتى يتم إنشاء اتصال الشبكة.

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

اجعل الخدمة معروفة للنظام

ثم عليك إخبار النظام أن الخدمة الجديدة يجب أن تكون نشطة:

sudo systemctl enable application_one.service

ثم قم بإجراء إعادة تشغيل ويجب أن يبدأ التطبيق تلقائيا.

</:code3:>

التطبيق لا يبدأ؟

إذا لم يبدأ التطبيق تلقائيا ، فيمكنك تسجيل الدخول باستخدام

sudo systemctl status application_one.service

عرض الحالة واستخدام المعلومات لاستكشاف الأخطاء وإصلاحها. </:code4:>