Se quiser lançar um programa automaticamente sempre que o EV3 com ev3dev arranca (sem ter que aceder remotamente por ssh nem ter um teclado ligado) a única solução funcional que encontrei foi implementar um serviço:
nano /etc/init.d/startup.sh
conteúdo do ficheiro:
#!/bin/bash cd /root python /root/joy6.py &
Dar permissões de execução ao script:
chmod +x /etc/init.d/startup.sh
Instalar o script como serviço:
update-rc.d startup.sh defaults
Se o nosso script não terminar por si e depois o quisermos terminar então temos mesmo de aceder por ssh, procurar o pid do processo e matá-lo:
pgrep pyhton 12345 kill -9 12345
(ou implementar uma forma de parar o serviço mas sou demasiado preguiçoso para investigar isso)
Um efeito secundário deste método é que a minha forma de implementar beeps (um shell script que envia o caracter BELL para a consola) deixou de funcionar. Como os beeps dão-me muito jeito para perceber o que alguns programas estão a fazer optei por arranjar um ficheiro ‘beep.wav’ com um toque curto de campaínha e tocá-lo com o comando ‘aplay’
#echo -en " 07" > /dev/tty1 aplay -q beep.wav