אם יצרת יישום Qt - או כל יישום אחר - עבור Raspberry Pi 4, לעתים קרובות ברצונך לקרוא ליישום מיד לאחר הפעלה מחדש של ה- Raspberry לאחר השלמת היישום.
זה נעשה לעתים קרובות עם סקריפטים להתחיל שניתן להזין במקומות שונים.
עם זאת, סביר יותר להגדיר זאת באמצעות מערכת . השתמשתי בתמונת 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:>