ev3dev – autorun script

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