Raspberry Pi 4 הפעלה אוטומטית של יישום Qt בזמן האתחול

אם יצרת יישום 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:>