ਰਸਬੇਰੀ ਪਾਈ 4 ਬੂਟ ਦੇ ਸਮੇਂ 'ਤੇ ਆਟੋਸਟਾਰਟ Qt ਐਪਲੀਕੇਸ਼ਨ

ਜੇਕਰ ਤੁਸੀਂ ਰਸਬੇਰੀ ਪਾਈ 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:>