إذا قمت بإنشاء تطبيق 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:>