Jump to content
    

Автозапуск и touch

собрал в buidroot свою сборку. собрал приложение на Qml. работает. Тачскрин не калиброванный. С помощью утилиты ts_calibrate откалибровал - всё прекрасно работает. 

Теперь нужно сделать автостарт моего приложение. написал старотовый S99myApp скрипт и поместил его в /etc/init.d

#!/bin/sh
    # see about BusyBox init https://www.halolinux.us/embedded-systems/busybox-init.html
    
    # Make sure the application exists
    [ -f /root/myApplication ] || exit 0
    
    umask 077
    
    start() {
        echo "Start application:"
        /root/myApplication &
    }
    stop() {
        killall -q myApplication
    }
    restart() {
        stop
        start
    }
    
    case "$1" in
      start)
        start
        ;;
      stop)
        stop
        ;;
      restart|reload)
        restart
        ;;
      *)
        echo "Usage: $0 {start|stop|restart}"
        exit 1
    esac
    
    exit $?

при вкл питания стартует linux и автоматом моё приложение. Но тачскрин некалиброваный. Почему? с помощью kill останавливаю свою прогу, проверяю тач утилитой ts_test - всё откалиброванно. Запускаю прогу - всё работает прекрастно. Перегружаюсь - приложение автоматом запустилось, но тач не откалиброван. убиваю приложение, запускаю сново и всё работает. 

 

как сделать, чтобы приложение автоматом запускалось с калиброванным тачем?

Share this post


Link to post
Share on other sites

On 7/6/2023 at 11:24 AM, ericN said:

Запускаю прогу - всё работает прекрастно. Перегружаюсь - приложение автоматом запустилось, но тач не откалиброван.

нет переменных окружения при запуске из скрипта автозагрузки, обычно в глобальном профиле всё есть, достаточно добавить в начало скрипта экспорт из глобального профиля и хомяк ещё указать

Quote
[ -f /root/myApplication ] || exit 0

. /etc/profile.d/profile.sh
export HOME=/root

...

 

Edited by sasamy

Share this post


Link to post
Share on other sites

В 06.07.2023 в 16:22, sasamy сказал:

нет переменных окружения при запуске из скрипта автозагрузки

Да, так и оказалось. только нет /etc/profile.d/profile.sh. Есть /etc/profile. Добавил

 

[ -f /root/myApplication ] || exit 0
. /etc/profile
export HOME=/root


и всё заработало. Спасибо!!

Share this post


Link to post
Share on other sites

есть необходимость запустить 2 или 3 процесса при старте. 

могу я запустить их в одном стартовом скрипте? Если да, то какой синтаксис? Пробовал так

start() { 
  echo "Start application:" 
    /root/myApplication1 & /root/myApplication2 & 
  }

Запускается только myApplication1. Как запустить оба приложения одним скриптом? Или придется писать 2-ой скрипт? Илил писать запускающий скрипт, а из init.d вызывать запускающий?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...