ਜੇਕਰ ਤੁਸੀਂ ਰਸਬੇਰੀ ਪਾਈ 4 ਲਈ Qt ਐਪਲੀਕੇਸ਼ਨ - ਜਾਂ ਕੋਈ ਹੋਰ ਐਪਲੀਕੇਸ਼ਨ - ਬਣਾਈ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਅਕਸਰ ਚਾਹੁੰਦੇ ਹੋ ਕਿ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਰਸਬੇਰੀ ਨੂੰ ਮੁੜ-ਚਾਲੂ ਕਰਨ ਤੋਂ ਤੁਰੰਤ ਬਾਅਦ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਕਾਲ ਕੀਤਾ ਜਾਵੇ।
ਇਹ ਅਕਸਰ ਸ਼ੁਰੂਆਤੀ ਸਕ੍ਰਿਪਟਾਂ ਨਾਲ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਜੋ ਵੱਖ-ਵੱਖ ਥਾਵਾਂ ਤੇ ਦਰਜ ਕੀਤੀਆਂ ਜਾ ਸਕਦੀਆਂ ਹਨ।
ਪਰ, ਇਸਨੂੰ ਸਿਸਟਮ ਰਾਹੀਂ ਸਥਾਪਤ ਕਰਨਾ ਵਧੇਰੇ ਵਾਜਬ ਹੈ। ਮੈਂ ਇੱਕ ਰਸਪਬੀਅਨ-ਬਸਟਰ-ਲਾਈਟ ਚਿੱਤਰ ਅਤੇ ਇੱਕ Qt ਸਥਾਪਨਾ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਿਵੇਂ ਕਿ ਰਸਬੇਰੀ ਪਾਈ 4 'ਤੇ Qt ਵਿੱਚ ਵਰਣਨ ਕੀਤਾ ਗਿਆ ਹੈ।
Qt ਐਪਲੀਕੇਸ਼ਨ ਡਾਇਰੈਕਟਰੀ "/home/pi/application" ਵਿੱਚ ਸਥਿਤ ਹੈ ਅਤੇ ਇਸ ਉਦਾਹਰਨ ਵਿੱਚ ਇਸਦਾ ਨਾਮ "application_one" ਰੱਖਿਆ ਗਿਆ ਹੈ।
ਇੱਕ .ਸਰਵਿਸ ਫਾਇਲ ਬਣਾਈ ਜਾ ਰਹੀ ਹੈ
ਕਰਨ ਲਈ ਸਭ ਤੋਂ ਪਹਿਲਾਂ "/etc/systemd/systemd" ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਇੱਕ .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:>