그동안 계속해서 실패하던 파이선으로 만든 디지털 시계를 라즈베리파이 부팅이후 자동으로 실행하고자 했던 부분이 마침내 성공했다. 인터넷으로 실행가능하다는 별별 내용을 적용해 보았지만 안되더니 한 블로그에서 본 내용을 적용했더니 바로 적용이 되었으나, 다음 부팅시 로그인을 요구하는 창이 무한반복해서 나타나는 버그가 있었다.
그래서 결국, 쉘 명령어로 부팅할 때, 시작되는 방식으로 변경하게 되었다.
1. 쉘 명령어 라인을 새로 만든다.
sudo nano run_autostart.sh
2. 다음과 같이 명령어 라인을 입력하고 저장한다.
#!/bin/bash
echo "run_autostart.sh"
sudo python /home/pi/******.py
3. 권한 정보를 변경합니다.
sudo chmod +x run_autostart.sh
4. 테스트 실행을 해본다. 이상 없으면 다음단계..
sh run_autostart.sh
5. 실제 부팅할때 실행하는 autostart 파일을 수정합니다.
sudo nano /etc/xdg/lxsession/LXDE-pi/autostart
6. 마지막 줄에 다음과 같이 입력하고 저장한다.
lxterminal -e ~/run_autostart.sh
7. reboot 하여 확인한다.
[아래 방식은 실행은 되지만 무한 로그인을 요구하는 버그가 있습니다.]
profile 파일은 라즈베리파일이 부팅될때 반드시 실행되는 파일이란다. 이 파일을 열어서 파이썬 실행을 요청하면 된다.
sudo nano ~/.profile
.profile 파일의 맨 끝줄에 다음의 내용을 추가하고 저장하면 가능해진다.
#시작과 동시에 python 파일을 실행하기
export PATH=~/.local/bin:%PATH
(sleep 10 && /usr/bin/python /home/pi/*******.py) &
이렇게 저장하고 나온뒤에
source ~/.profile 을 실행하고 reboot 하면 적용된다.